Skip to content

Conversation

@tristpinsm
Copy link
Contributor

I'm proposing we remove the sodetlib docker container. As far as I can tell it is only used to build the ocs-pysmurf-agent (here), and we could simply install sodetlib and specify a release tag there. The only other reference I have found to this image are in docker-compose.yaml files committed to the ocs-site-configs repo for some institutions. In the SAT/LAT configs it has been replaced by ocs-pysmurf-agent. We should then also remove the SODETLIB_TAG that remains in those configs but is unused.

This would simplify the release process by removing one layer of docker inheritance, but I appreciate that I may have overlooked other uses of this image (although I did not find any in the simonsobs organisation), so please let me know if you think this may be the case.

An accompanying PR will be necessary in socs to install sodetlib in the corresponding Dockerfile.

@tristpinsm
Copy link
Contributor Author

I made the corresponding changes to socs, but I don't have permission to push a branch there.

@mhasself
Copy link
Member

I made the corresponding changes to socs, but I don't have permission to push a branch there.

You're in the right group now.

@tristpinsm
Copy link
Contributor Author

I made the corresponding changes to socs, but I don't have permission to push a branch there.

You're in the right group now.

thanks!

Copy link
Contributor

@msilvafe msilvafe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's try it out. Thanks.

@BrianJKoopman
Copy link
Member

BrianJKoopman commented Apr 11, 2025

I don't know of any use of the sodetlib image in the dependency chain, but I'd honestly have to dig through it myself to be sure. I won't have time to do that until next week though.

@tristpinsm
Copy link
Contributor Author

associated PR in simonsobs/socs#858

Copy link
Member

@BrianJKoopman BrianJKoopman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks to me like it will result in pretty different images. The chain of images as I understand it is: ubuntu:20.04 > smurf-base > smurf-rogue > pysmurf > so_smurf_base > sodetlib > ocs-pysmurf-agent.

This chain installs the following packages (I tried to identify big things, there a bunch of other misc things, including system packages to support building this software, etc.):

  • EPICS (and pyepics)
  • IMPI package
  • FirmwareLoader binary
  • ProgramFPGA utility
  • Rogue
  • SMURF PCIe card software
  • pysmurf
  • spt3g
  • so3g
  • sotodlib
  • sodetlib
  • socs

Dropping the sodetlib image and using the socs image with a pip install sodetlib would mean from these you'd only have:

  • pyepics
  • pysmurf
  • sodetlib
  • sotodlib
  • so3g (with built in spt3g)
  • socs

I don't believe these dependencies would be installed:

  • EPICS (Does pyepics mean we get this? I don't think it does.)
  • IMPI package
  • FirmwareLoader binary
  • ProgramFPGA utility
  • Rogue
  • SMURF PCIe card software

Are any of these critical for pysmurf-controller operation? If so, then I don't think this will work without further modification to how the pysmurf-controller image is built.

(EDIT: Sorry if you got this twice, made a normal comment accidentally at first. Deleted and made it an official review.)

@BrianJKoopman
Copy link
Member

Ah, and now I'm realizing this whole step is building on so_smurf_base still. I guess this should actually be fine.

Time to go make some more coffee...

@BrianJKoopman BrianJKoopman self-requested a review April 21, 2025 20:17
Copy link
Member

@BrianJKoopman BrianJKoopman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With simonsobs/socs#858 merged now I think this PR is good to go.

@tristpinsm tristpinsm merged commit 3125578 into master Apr 21, 2025
1 check passed
BrianJKoopman added a commit that referenced this pull request Jun 20, 2025
This was missed in #460.
BrianJKoopman added a commit that referenced this pull request Jun 23, 2025
BrianJKoopman added a commit that referenced this pull request Aug 28, 2025
We stopped building the sodetlib image and started installing it directly into
the pysmurf controller agent image. See [1] for the removal details.

[1] - #460
BrianJKoopman added a commit that referenced this pull request Aug 28, 2025
We stopped building the sodetlib image and started installing it directly into
the pysmurf controller agent image. See [1] for the removal details.

[1] - #460
BrianJKoopman added a commit that referenced this pull request Oct 22, 2025
We stopped building the sodetlib image and started installing it directly into
the pysmurf controller agent image. See [1] for the removal details.

[1] - #460
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants