I have a few blockers to discuss around maas/juju/snapcraft.
The situation is this:
-
We have a snap that uses system-usernames.
- We got backed into the system-usernames corner because we need to support the seteuid and setegid operations that run in the slurm application code. Using the
snap_daemon
user/system-usernames is how setegid/seteuid operations are facilitated in a strictly confined snap. - Centos7 doesn’t support system-usernames because its toolchain (including snapd) is built with libseccomp < 2.4.
- This is organically resolved in cento8 because it uses a toolchain and snapd that is built with libseccomp > 2.4.
- We got backed into the system-usernames corner because we need to support the seteuid and setegid operations that run in the slurm application code. Using the
-
We have a hard requirement that our slurm snap and charms run on centos8 (per above).
- We have taken advantage of the operator framework paired with a snapped application to accommodate more easily deploying a centos based workload using Juju.
- MAAS doesn’t support centos8 out of the box.
- We can bake our own centos8 image and upload it to MAAS, but there is no way to deploy it using Juju.
- MAAS provider lacks support for
add-image
needed for us to be able to deploy a centos8 workload.
- MAAS provider lacks support for
This said, we seem to be blocked in making progress in getting our workload deployed.
I feel like this is a good example use case for the work being done right now revolving around os agnostic workloads. I am hoping we can use this use case to drive the new workload agnostic functionality to a usable state.
I have a bug filed for this here
Does anyone have insight for how we might be able to use the add-image
command to use our custom image with Juju ?
Thanks!
(Update)
We have talked this through and have come up with a few possible paths forward.
-
centos7
- Maintain classic snap for use with centos7 workloads.
- We will need to deploy centos7 for some workloads that are not able to be migrated to centos8, so having the capability to deploy centos7 workloads is something we need to be able to do anyway.
- As far as we can see this would be our only workaround for getting our snap deployed on centos7.
- Use the centos7 image available in maas
- We can install the python epel-release dependency needed to run a charm on centos via the
cloudinit-userdata
and avoid having to bake our own images here, removing the dependency of having to use a custom image altogether.
- We can install the python epel-release dependency needed to run a charm on centos via the
- Maintain classic snap for use with centos7 workloads.
-
centos8
- To the best of our knowledge we would need support for centos8 in maas or support for
add-image
in Juju in order to facilitate using centos8 or any other custom image with Juju.
- To the best of our knowledge we would need support for centos8 in maas or support for