[openstack-dev] [Nova] Cells conversation starter

Vineet Menon mvineetmenon at gmail.com
Fri Nov 21 10:18:14 UTC 2014


Hi Guys,

I'm playing around with devstack and tempest for a few weeks. Some points
which I want to bring to your attention.

1. Tempest runs without any errors in a devstack (without cells)
installation. NO surprises here.
2. Tempest generates a large number of errors in devstack (with cells, no
rate-limiting).

I'm attaching the list of tests which tempest ran along with their statuses
fyi.
As we had the discussed on this week's meeting on IRC, this could be
because of some features like flavor, availability-zone etc.

So, there's no need to panic. :)



Regards,

Vineet Menon


On 30 October 2014 23:18, Vineet Menon <mvineetmenon at gmail.com> wrote:

> Hi Andrew,
>
> Since you have mentioned one approach to solve the flavor meta data to
> driver.spawn. I want to draw your attention to this code review thread as
> well, https://review.openstack.org/#/c/108238/.
>
> I didn't want to edit your etherpad notes, hence this email.
>
>
> Regards,
>
> Vineet Menon
>
>
> On 30 October 2014 22:08, Andrew Laski <andrew.laski at rackspace.com> wrote:
>
>> I have written up some points on an etherpad to use during the summit
>> session https://etherpad.openstack.org/p/kilo-nova-cells . Please read
>> this over if possible before the session.  There is an alternate approach
>> to this work proposed and I expect we'll spend some time discussing it.
>>
>> If anyone would like to discuss it before then please reply here.
>>
>>
>>
>> On 10/20/2014 02:00 PM, Andrew Laski wrote:
>>
>>> One of the big goals for the Kilo cycle by users and developers of the
>>> cells functionality within Nova is to get it to a point where it can be
>>> considered a first class citizen of Nova.  Ultimately I think this comes
>>> down to getting it tested by default in Nova jobs, and making it easy for
>>> developers to work with.  But there's a lot of work to get there.  In order
>>> to raise awareness of this effort, and get the conversation started on a
>>> few things, I've summarized a little bit about cells and this effort below.
>>>
>>>
>>> Goals:
>>>
>>> Testing of a single cell setup in the gate.
>>> Feature parity.
>>> Make cells the default implementation.  Developers write code once and
>>> it works for  cells.
>>>
>>> Ultimately the goal is to improve maintainability of a large feature
>>> within the Nova code base.
>>>
>>>
>>> Feature gaps:
>>>
>>> Host aggregates
>>> Security groups
>>> Server groups
>>>
>>>
>>> Shortcomings:
>>>
>>> Flavor syncing
>>>     This needs to be addressed now.
>>>
>>> Cells scheduling/rescheduling
>>> Instances can not currently move between cells
>>>     These two won't affect the default one cell setup so they will be
>>> addressed later.
>>>
>>>
>>> What does cells do:
>>>
>>> Schedule an instance to a cell based on flavor slots available.
>>> Proxy API requests to the proper cell.
>>> Keep a copy of instance data at the global level for quick retrieval.
>>> Sync data up from a child cell to keep the global level up to date.
>>>
>>>
>>> Simplifying assumptions:
>>>
>>> Cells will be treated as a two level tree structure.
>>>
>>>
>>> Plan:
>>>
>>> Fix flavor breakage in child cell which causes boot tests to fail.
>>> Currently the libvirt driver needs flavor.extra_specs which is not synced
>>> to the child cell.  Some options are to sync flavor and extra specs to
>>> child cell db, or pass full data with the request.
>>> https://review.openstack.org/#/c/126620/1 offers a means of passing
>>> full data with the request.
>>>
>>> Determine proper switches to turn off Tempest tests for features that
>>> don't work with the goal of getting a voting job.  Once this is in place we
>>> can move towards feature parity and work on internal refactorings.
>>>
>>> Work towards adding parity for host aggregates, security groups, and
>>> server groups.  They should be made to work in a single cell setup, but the
>>> solution should not preclude them from being used in multiple cells.  There
>>> needs to be some discussion as to whether a host aggregate or server group
>>> is a global concept or per cell concept.
>>>
>>> Work towards merging compute/api.py and compute/cells_api.py so that
>>> developers only need to make changes/additions in once place.  The goal is
>>> for as much as possible to be hidden by the RPC layer, which will determine
>>> whether a call goes to a compute/conductor/cell.
>>>
>>> For syncing data between cells, look at using objects to handle the
>>> logic of writing data to the cell/parent and then syncing the data to the
>>> other.
>>>
>>> A potential migration scenario is to consider a non cells setup to be a
>>> child cell and converting to cells will mean setting up a parent cell and
>>> linking them.  There are periodic tasks in place to sync data up from a
>>> child already, but a manual kick off mechanism will need to be added.
>>>
>>>
>>> Future plans:
>>>
>>> Something that has been considered, but is out of scope for now, is that
>>> the parent/api cell doesn't need the same data model as the child cell.
>>> Since the majority of what it does is act as a cache for API requests, it
>>> does not need all the data that a cell needs and what data it does need
>>> could be stored in a form that's optimized for reads.
>>>
>>>
>>> Thoughts?
>>>
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141121/59874b78/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: finallog.log
Type: text/x-log
Size: 200162 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141121/59874b78/attachment-0001.bin>


More information about the OpenStack-dev mailing list