namsral opened a new issue, #11163:
URL: https://github.com/apache/cloudstack/issues/11163

   ### The required feature described as a wish
   
   As an Operator I would like to have CloudStack containerized, so I can run 
CloudStack in a container runtime like Docker and Podman.
   
   
   I work for a public cloud provider where most of our stack, OpenStack and 
Ceph, are deployed using a container runtime where each service is a stateless 
container. We transitioned from the more traditional deployment, installing 
packages on hosts, to our current setup solving most of our maintenance issues 
and efforts to keep the stack up to date.
   
   In an effort to adopt other technologies we attempted to containerize the 
three CloudStack services, management server, usage server and the agent but 
faced significant obstacles that hindered our progress.
   
   Notable obstacles running CloudStack services in a container:
   
   - The management server calling bash and/or service/systemctl commands from 
Java
   - The agent server calling bash and/or meminfo commands from Java
   
   
   Other obstacles worth mentioning:
   
   - Package building process dependencies, external application/packages 
dependencies and (actual) OS dependencies need better documentation. 
Dependencies that are assumed present in supported distributions in particular
   - Missing a Software Bill of Materials
   - Direct environment OS dependencies and commands should be replaced or 
removed where possible
   - Dependencies on other applications/services should be handled through 
connection methods that fit containerization, no direct /bin/bash cals should 
be used on required binaries
   - In instances where removal is not possible, communication with OS or 
services present on the OS should be through some sort of socket or connection 
that is configurable or through temporary containers like bootstrap containers, 
for instance:
     - libvirt, which is communicated to through either the socket on the host 
or the socket in a container - 
https://opendev.org/openstack/kolla-ansible/src/branch/master/ansible/roles/nova-cell/tasks/
     - meminfo and other host system statistics
   
   As open-source cloud stacks, OpenStack and CloudStack (in combination with 
KVM at least) share common technical challenges, therefore community projects 
like [kolla-ansible](https://github.com/openstack/kolla-ansible/) (deploy 
OpenStack using Ansible and containers) and 
[OpenStack-Helm](https://github.com/openstack/openstack-helm) (deploy OpenStack 
on Kubernetes) can be inspirational when containerizing CloudStack. One hurdle 
these projects have tackled, among others, is the bootstrapping of libvirt TLS 
communication.
   
   I'm willing to share our experience containerizing CloudStack in order to 
get momentum.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@cloudstack.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to