[openstack-dev] [Climate] Lease by tenants feature design

Martinez, Christian christian.martinez at intel.com
Thu Feb 20 18:54:36 UTC 2014


Dina: Yes, I'm talking about that. Thanks for the clarification.

Sylvain, let me put the use case that we have:
As part of project/tenant creation we would like to mark the tenant in such a way that climate will automatically create a lease for the resources. All non-production tenants/projects will be granted a default quota and all resources should have associated leases. Climate leases will trigger work-flows via notifications. The work-flows defined in mistral will provide automation to achieve some of our non-production capacity management needs. We expect Mistral work-flows to trigger emails, ability for customer to extend lease and finally for the resource to potentially be backed up and then deleted.
We have also considered implementing a non-climate process to automatically create the leases for all non-production tenants.

Regarding the resources to be considered,
For us and our need managing just the VM resource is sufficient for the foreseeable future.

Also, I think that we should consider casanch1's comments on the BP:
"we must also have a blueprint that allow the user to create "Tenant Types" with 'default' lease attributes. Then when creating a tenant, the user can specify lease dates and/or tenant type"



From: Dina Belova [mailto:dbelova at mirantis.com]
Sent: Thursday, February 20, 2014 3:32 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Climate] Lease by tenants feature design

Sylvain, as I understand in BP description, Christian is about not exactly reserving tenants itself like we actually do with VMs/hosts - it's just naming for that. I think he is about two moments:

1) mark some tenants as "needed to be reserved" - speaking about resources assigned to it
2) reserve these resources via Climate (VMs for first approximation)

I suppose Christian is speaking now about hacking tenants creation process to mark them as "needed to be reserved" (1st step).

Christian, correct me if I'm wrong, please
Waiting for your comments

On Thu, Feb 20, 2014 at 10:06 PM, Sylvain Bauza <sylvain.bauza at gmail.com<mailto:sylvain.bauza at gmail.com>> wrote:
Hi Christian,

2014-02-20 18:10 GMT+01:00 Martinez, Christian <christian.martinez at intel.com<mailto:christian.martinez at intel.com>>:

Hello all,
I'm working in the following BP: https://blueprints.launchpad.net/climate/+spec/tenant-reservation-concept, in which the idea is to have the possibility to create "special" tenants that have a lease for all of its associated resources.

The BP is in discussing phase and we were having conversations on IRC about what approach should we follow.


Before speaking about implementation,  I would definitely know the usecases you want to design.
What kind of resources do you want to provision using Climate ? The basic thing is, what is the rationale thinking about hooking tenant creation ? Could you please be more explicit ?

At the tenant creation, Climate wouldn't have no information in terms of calculating the resources asked, because the resources wouldn't have been allocated before. So, generating a lease on top of this would be like a non-formal contract in between Climate and the user, accounting nothing.

The main reason behind Climate is to provide SLAs for either user requests or projects requests, meaning that's duty of Climate to guarantee that the desired associated resource with the lease will be created in the future.
Speaking of Keystone, the Keystone objects are tenants, users or domains. In that case, if Climate would be hooking Keystone, that would say that Climate ensures that the cloud will have enough capacity for creating these resources in the future.

IMHO, that's not worth implementing it.


First of all, we need to add some "parameters or flags" during the tenant creation so we can know that the associated resources need to have a lease. Does anyone know if Keystone has similar functionality to Nova in relation with Hooks/API extensions (something like the stuff mentioned on http://docs.openstack.org/developer/nova/devref/hooks.html ) ? My first idea is to intercept the tenant creation call (as it's being done with climate-nova) and use that information to associate a lease quota to the resources assigned to that tenant.


Keystone has no way to know which resources are associated within a tenant, see how the middleware authentication is done here [1]
Regarding the BP, the motivation is to possibly 'leasify' all the VMs from one single tenant. IIRC, that should still be duty of Nova to handle that workflow and send the requests to Climate.

-Sylvain

[1] : http://docs.openstack.org/developer/keystone/middlewarearchitecture.html



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



--

Best regards,

Dina Belova

Software Engineer

Mirantis Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140220/51e19e45/attachment.html>


More information about the OpenStack-dev mailing list