Interesting discussion, but the first question I’d ask is ‘why’ ?

Unlike openstack server software, the amphora are meant to be black box 
appliance images, so why do we want to run different distros on them? Is there 
a deployment scenario you’re concerned with, or other use case?

Thanks,
doug


> On Jun 29, 2016, at 9:26 AM, Nir Magnezi <nmagn...@redhat.com> wrote:
> 
> Hello,
> 
> Lately, I've been working on a fix[1] for the amhpora-agent, which currently 
> only support Debian based flavors such as Ubuntu.
> 
> The main Issues here:
> 1. NIC hot plugs: Ubuntu's ethX.cfg files looks different from ifcfg-ethX 
> files which are accepted in Linux flavors such a RHEL, CentOS and Fedora, 
> read more in the fix commit msg.
> 2. The usage of Flavor specific features such as 'upstart'.
> 
> I would like to have a discussion about the second bullet mentioned above.
> Due to the fact that in Octavia the loadbalancer runs inside of an instance 
> (Amphora), There are few actions that need to take place in the Amphora 
> instance boot process:
> a. namespace and NIC created.
> b. amphora agent starts
> c. haproxy (and possibly keepalived) start
> 
> The Amphora-agent leverages[2] the capabilities of 'upstart' to make that 
> happen, which is a bit problematic if we wish it to work on other flavors.
> The default cloud image for Amphora today is Ubuntu, yet there are few more 
> options[3] such as CentOS and Fedora.
> Unlike the Ubuntu base image, which uses 'sysvinit', The latter two flavors 
> use 'systemd'.
> This creates incompatibility with the jinja2[4][5] templates used by the 
> agent.
> 
> The way I see it there are two possible solutions for this:
> 1. Include a systemd equivalent in the fix[1] that will essentially duplicate 
> the functionality mentioned above and work in the other flavors.
> 2. Have a the amphora agent be the only binary that needs to be configured to 
> start upon boot, and that agent will take care of plugging namespaces and 
> NICs and also spawning needs processes. This is how it is done in lbaas and 
> l3 agents.
> 
> While the latter solution looks like a more "clean" design, the trade-off 
> here is a bigger change to the amphora agent. 
> 
> [1] https://review.openstack.org/#/c/331841/ 
> <https://review.openstack.org/#/c/331841/>
> [2] 
> https://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/listener.py#L128
>  
> <https://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/listener.py#L128>
> [3] 
> https://github.com/openstack/octavia/blob/master/diskimage-create/diskimage-create.sh#L27
>  
> <https://github.com/openstack/octavia/blob/master/diskimage-create/diskimage-create.sh#L27>
> [4] 
> https://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/templates/upstart.conf.j2
>  
> <https://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/templates/upstart.conf.j2>
> [5] 
> https://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2
>  
> <https://github.com/openstack/octavia/blob/master/octavia/amphorae/backends/agent/api_server/templates/sysvinit.conf.j2>
> 
> 
> Thanks,
> Nir
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to