Re: Deploy custom mgr module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Speaking abstractly, I can see 3 possible approaches.

1. You can create a separate container and invoke it from the mgr
container as a micro-service. As to how, I don't know. This is likely
the cleanest approach.

2. You can create a Dockerfile based on the stock mgr but with your
extensions added. The main problem with this is that from what I can
see, the cephadm tool has the names and repositories of the stock
containers hard-wired in. Which ensures quality (getting the right
versions) and integrity (makes it hard for a bad agent to swap in a
malware module). So more information is needed at least.

3. You can inject your code into the stock container image by packaging
it as an RPM, adding a local RPM repository to the stock container, and
installing the extra code something like "docker exec -it [cephadmn-
container-name] /usr/bin/dnf install mycode".

The third option does require that the infrastructure to run dnf/yum
hasn't been removed from the container image. Also not that if you're
running a dynamic container launch, you might have to deal with having
to re-install your code every time the container launches because there
would be no persistent image..

However, option 3 would, if the stars are right, be something that
Ansible could easily handle.

As for testing, I'd look at the source for the mgr module and its
regression tests. Plus of course testing your own code is something
you'd have to do yourself.

   Tom

On Wed, 2024-10-30 at 18:00 +0000, Darrell Enns wrote:
> Is there a simple way to deploy a custom (in-house) mgr module to an
> orchestrator managed cluster? I assume the module code would need to
> be included in the mgr container image. However, there doesn't seem
> to be a straightforward way to do this without having the module
> merged to upstream ceph (not possible for a custom/in-house solution)
> or maintaining an in-house container repository and custom container
> images (a lot of extra maintenance overhead).
> 
> Also, what's the best way to handle testing during development?
> Custom scripts to push the code into to a mgr container in a dev
> cluster?
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux