[Openstack-operators] Moving from distro packages to containers (or virtualenvs...)

Steven Dake (stdake) stdake at cisco.com
Tue May 17 14:37:01 UTC 2016



On 5/13/16, 10:46 AM, "Joshua Harlow" <harlowja at fastmail.com> wrote:

>Steven Dake (stdake) wrote:
>>
>> On 5/12/16, 2:04 PM, "Joshua Harlow"<harlowja at fastmail.com>  wrote:
>>
>>> Hi there all-ye-operators,
>>>
>>> I am investigating how to help move godaddy from rpms to a
>>> container-like solution (virtualenvs, lxc, or docker...) and a set of
>>> questions that comes up is the following (and I would think that some
>>> folks on this mailing list may have some useful insight into the
>>>answers):
>>>
>>> * Have you done the transition?
>>>
>>> * How did the transition go?
>>>
>>> * Was/is kolla used or looked into? or something custom?
>>>
>>> * How long did it take to do the transition from a package based
>>> solution (with say puppet/chef being used to deploy these packages)?
>>>
>>>    * Follow-up being how big was the team to do this?
>>
>> I know I am not an operator, but to respond on this particular point
>> related to the Kolla question above, I think the team size could be very
>> small and still effective.  You would want 24 hour coverage of your data
>> center, and a backup individual, which puts the IC list at 4 people. (3
>>8
>> hour shifts + 1 backup in case of illness/etc).  Expect for these folks
>>to
>> require other work, as once Kolla is deployed there isn't a whole lot to
>> do.  A 64 node cluster is deployable by one individual in 1-2 hours once
>> the gear has been racked.  Realistically if you plan to deploy Kolla I'd
>> expect that individual to want to train for 3-6 weeks deploying over and
>> over to get a feel for the Kolla workflow.  Try it, I suspect you will
>> like it :)
>
>Thanks for the info and/or estimates, but before I dive to far in I have
>a question. I see that the following has links to how the different
>services run under kolla:
>
>http://docs.openstack.org/developer/kolla/#kolla-services
>
>But one that seems missing from this list is what I would expect to be
>the more complicated one, that being nova-compute (and libvirt and kvm).
>Are there any secret docs on that (since I would assume it'd be the most
>problematic to get right)?

Nova was by far and away 5-10x harder to containerize then other services.
 So when you look at Nova, your looking at a "worst case" scenario :)

No secret docs (all our stuff is in the open as per Kolla's policies).
The code does a nice job of documenting the steps taken for the various
operations.

There are essentially 3 operations:
Deploy: 
https://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/dep
loy.yml
Upgrade: 
https://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/upg
rade.yml
Reconfigure: 
https://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/rec
onfigure.yml

Those tasks in the plays operate in order, so simply reading through the
list will give you an idea of the orchestration taking place.

We will add more Ansible playbooks as time passes to do things like add
OSDs and remove OSDs, add compute nodes and remove compute nodes, and
hopefully one day add cells and remove cells.

Bringing to my next question; GoDaddy probably is at the scale where it
requires cells - which Kolla doesn't implement.  I am not quite sure what
this involves and it would require some R&D on the Kolla communities part
(or GoDaddy's alternatively).  I don't know if Cells are a small job or a
big job.  From my understanding, it basically involves deploying a new set
of controller nodes per cell, and connecting them to the main controller
node.  This doesn't seem insurmountable, but is a gap you should be aware
of.


>
>>
>> If you had less rigorous constraints around availability then I'd expect
>> Godaddy to have, a Kolla deployment could likely be managed with as
>>little
>> as half a person or less.  Everything including upgrades is automated.
>>
>
>Along this line, do people typically plug the following into a local
>jenkins system?
>
>http://docs.openstack.org/developer/kolla/quickstart.html#building-contain
>er-images
>
>Any docs on how people typically incorporate jenkins into the kolla
>workflow (I assume they do?) anywhere?

There is no documentation but we had CI/CD in mind when Kolla was born.
Oracle IIUC has publicly stated their CI/CD workflow here and other places
on the internets:

http://events.linuxfoundation.org/sites/events/files/slides/CloudOpen2015.p
df


I'd suggest starting small with an AIO and see if the deployment model
fits your objectives.  Multinode is basically just like AIO but multinode.
 Still setting up multinode does take a little more time, and AIO is a 1-2
hour experiment on the Kolla workflow, which is designed to be jammed into
a CI/CD pipeline. :)

Regards
-steve


>
>> Regards
>> -steve
>>
>>> * What was the roll-out strategy to achieve the final container
>>>solution?
>>>
>>> Any other feedback (and/or questions that I missed)?
>>>
>>> Thanks,
>>>
>>> Josh
>>>
>>> _______________________________________________
>>> OpenStack-operators mailing list
>>> OpenStack-operators at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
>>




More information about the OpenStack-operators mailing list