Mike, Sylvain,

I think some of Mike's questions were answered during today's scheduler team 
meeting.

Mike:
>> Thanks.  I have a few questions.  First, I am a bit stymied by the style of 
>> API documentation used in that document and many others: it shows the first 
>> line of an HTTP request but says nothing about all the other details.  I am 
>> sure some of those requests must have interesting bodies, but I am >>  not 
>> always sure which ones have a body at all, let alone what goes in it.  I 
>> suspect there may be some headers that are important too.  Am I missing 
>> something?
Yathi: Do see some of the existing code written up for instance group here in 
this review, there are a few request/response examples of the older model - 
https://review.openstack.org/#/c/30028/  This code will be revived and the 
effort will be similar incorporating the newer model.

Mike:
>>That draft says the VMs are created before the group.  Is there a way today 
>>to create a VM without scheduling it?  Is there a way to activate a resource 
>>that has already been scheduled but not activated?By "activate" I mean, for a 
>>VM instance for example, to start running it.
Sylvain:
>> I can't answer for it, but as far as I can understand the draft, there is no 
>> clear understanding that we have to postpone the VM boot *after* creating 
>> the Groups.
>>As stated in the document, there is a strong prereq which is that all the 
>>resources mapped to the Group must have their own uuids, but there is no 
>>clear outstanding that it should prevent the VMs to actually boot.
>>At the moment, deferring a bootable state in Nova is not yet implemented and 
>>that's part of Climate folks to implement it, so I can't get your point.
Yathi: I guess Gary Kotton can comment more here,  but this is probably 
implementation detail.  As long as the group is defined and registered, the 
actual activation can take care of assigning the created UUIDs for the 
instances..  But I do see there are internal DB APIs to save the instances and 
thereby creating uuids, but not actually activating them.   my documentation 
assumes, that the instances need to be registered.  The reason why we want to 
defer the instance boot, is because we want to get the complete big picture and 
do a unified scheduling taking all the parameters into consideration (read this 
as smart resource placement).

This document does not yet mention anything about the actual process involved 
in the activation of the group.  That will involve whole lot of work in terms 
of reservation, ordering of creation, etc, and it is here where we need to have 
clean interfaces to plug in external support to accomplish this.


Thanks,
Yathi.








From: Sylvain Bauza <sylvain.ba...@bull.net<mailto:sylvain.ba...@bull.net>>
Date: Tuesday, October 8, 2013 12:08 AM
To: OpenStack Development Mailing List 
<openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>>
Cc: Mike Spreitzer <mspre...@us.ibm.com<mailto:mspre...@us.ibm.com>>, Yathiraj 
Udupi <yud...@cisco.com<mailto:yud...@cisco.com>>
Subject: Re: [openstack-dev] [scheduler] APIs for Smart Resource Placement - 
Updated Instance Group Model and API extension model - WIP Draft

Hi Mike,

Le 08/10/2013 08:51, Mike Spreitzer a écrit :
On second thought, I should revise and extend my remarks.  This message 
supersedes my previous two replies.

Thanks.  I have a few questions.  First, I am a bit stymied by the style of API 
documentation used in that document and many others: it shows the first line of 
an HTTP request but says nothing about all the other details.  I am sure some 
of those requests must have interesting bodies, but I am not always sure which 
ones have a body at all, let alone what goes in it.  I suspect there may be 
some headers that are important too.  Am I missing something?

That draft says the VMs are created before the group.  Is there a way today to 
create a VM without scheduling it?  Is there a way to activate a resource that 
has already been scheduled but not activated?By "activate" I mean, for a VM 
instance for example, to start running it.

As I understand your draft, it lays out a three phase process for a client to 
follow: create resources without scheduling or activating them, then present 
the groups and policies to the service for joint scheduling, then activate the 
resources.  With regard to a given resource, things must happen in that order; 
between resources there is a little more flexibility.  Activations are invoked 
by the client in an order that is consistent with (a) runtime dependencies that 
are mediated directly by the client (e.g., string slinging in the heat engine) 
and (b) the nature of the resources (for example, you  can not attach a volume 
to a VM instance until after both have been created).  Other than those 
considerations, the ordering and/or parallelism is a degree of freedom 
available to the client.  Have I got this right?

Couldn't we simplify this into a two phase process: create groups and resources 
with scheduling, then activate the resources in an acceptable order?

I can't answer for it, but as far as I can understand the draft, there is no 
clear understanding that we have to postpone the VM boot *after* creating the 
Groups.
As stated in the document, there is a strong prereq which is that all the 
resources mapped to the Group must have their own uuids, but there is no clear 
outstanding that it should prevent the VMs to actually boot.

At the moment, deferring a bootable state in Nova is not yet implemented and 
that's part of Climate folks to implement it, so I can't get your point.

-Sylvain


FYI: my group is using Weaver as the software orchestration technique, so there 
are no runtime dependencies that are mediated directly by the client.  The 
client sees a very simple API: the client presents a definition of all the 
groups and resources, and the service first schedules it all then activates in 
an acceptable order.  (We already have something in OpenStack that can do 
resource invocations in an acceptable order, right?)  Weaver is not the only 
software orchestration technique with this property.  The simplicity of this 
API is one reason I recommend software orchestration techniques that take 
dependency mediation out of the client's hands.  I hope that with coming work 
on HOT we can get OpenStack to this level of API simplicity.  But that struggle 
lies farther down the roadmap...

I was wondering if you could explain why you included all those integer IDs; 
aren't the UUIDs sufficient?  Do you intend that clients will see/manipulate 
the integer IDs?

If I understand your UML correctly, an InstanceGroup owns its metadata but none 
of the other subsidiary objects introduced.  Why not?  If an InstanceGroup is 
deleted, shouldn't all those other subsidiary objects be deleted too?

Thanks,
Mike

"Yathiraj Udupi (yudupi)" <yud...@cisco.com><mailto:yud...@cisco.com> wrote on 
10/07/2013 11:10:20 PM:
> Hi,
>
> Based on the discussions we have had in the past few scheduler sub-
> team meetings,  I am sharing a document that proposes an updated
> Instance Group Model and API extension model.
> This is a work-in-progress draft version, but sharing it for early feedback.
> https://docs.google.com/document/d/17OIiBoIavih-1y4zzK0oXyI66529f-7JTCVj-BcXURA/edit?usp=sharing
>
> This model support generic instance types, where an instance can
> represent a virtual node of any resource type.  But in the context
> of Nova, an instance refers to the VM instance.
>
> This builds on the existing proposal for Instance Group Extension as
> documented here in this blueprint:  https://
> blueprints.launchpad.net/nova/+spec/instance-group-api-extension
>
> Thanks,
> Yathi.
>
>


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to