Re: [openstack-dev] Climate Incubation Application

2014-03-14 Thread Dina Belova
Russell, first of all thanks for your opinion and taking part in this
discussion.

 What we need to dig in to is *why* do you feel it needs to be global?

 I'm trying to understand what you're saying here ... do you mean that
 since we're trying to get to where there's a global scheduler, that it
 makes sense there should be a central point for this, even if the API is
 through the existing compute/networking/storage APIs?

 If so, I think that makes sense.  However, until we actually have
 something for scheduling, I think we should look at implementing all of
 this in the services, and perhaps share some code with a Python library.

Well, let me give you some reasons I'm thinking about speaking about
separated service with its own endpoints, etc.

* as you said, we propose different resources reservations to be
implemented for OS, and compute resources (VMs and hosts) are not only ones
for that;
* there should be support of time management, checking leases statuses,
sending user notifications, etc. - even if that'll be implemented as
library, it'll need separately running service in Nova, because there will
be some specific periodic tasks and so on. Of course, that might be part of
nova-scheduler, but in this case such things as sending notifications will
look strange here - and that will allow to manage only VMs, not hosts, at
least if we are speaking about traditional Nova scheduling process;
* and the last: previous points might be implemented as some library, and
work ok, I quite agree with you here. Although in this case there will be
no centralised point of leases management, as there is no one point for
quotas management now. And if for quotas that's uncomfortable to manage
them in case of huge clouds, for leases it will be simply impossible to
have one picture of what will be going with all resources in future - as
there are many things to keep track on - compute capacity, storage
capacity, etc.

The last point seems most important for me, as the idea of centralised
resource time management looks better for me than idea of each service
having simply the same code working on its own reservation, plus the fact
we consider that some scheduling dependencies could happen with
heterogenous resources like reserving a volume with an instance booting on
it. I quite agree that for user it'll be more comfortable to use services
as is, and as Sylvain said, that might implemented quite nice due to, for
example, Nova extensions (as it's done now for VM reservations). But at the
same moment all logic related to leases will be in one place, allowing
cloud administrators manage cloud capacity usage in time from one place.

And I'm not talking about additional load to core reviewers of all projects
in case of implementing that feature in every single project, although
there is already existing team on Climate. That's not the main thing.

As said that's my personal opinion, and I'll be really glad to discuss this
problem and solve it in the best way chosen by community with taking into
account different points of view and ideas.

Thanks



On Thu, Mar 13, 2014 at 6:44 PM, Russell Bryant rbry...@redhat.com wrote:

 On 03/12/2014 12:14 PM, Sylvain Bauza wrote:
  Hi Russell,
  Thanks for replying,
 
 
  2014-03-12 16:46 GMT+01:00 Russell Bryant rbry...@redhat.com
  mailto:rbry...@redhat.com:
  The biggest concern seemed to be that we weren't sure whether Climate
  makes sense as an independent project or not.  We think it may make
 more
  sense to integrate what Climate does today into Nova directly.  More
  generally, we think reservations of resources may best belong in the
  APIs responsible for managing those resources, similar to how quota
  management for resources lives in the resource APIs.
 
  There is some expectation that this type of functionality will extend
  beyond Nova, but for that we could look at creating a shared library
 of
  code to ease implementing this sort of thing in each API that needs
 it.
 
 
 
  That's really a good question, so maybe I could give some feedback on
  how we deal with the existing use-cases.
  About the possible integration with Nova, that's already something we
  did for the virtual instances use-case, thanks to an API extension
  responsible for checking if a scheduler hint called 'reservation' was
  spent, and if so, take use of the python-climateclient package to send a
  request to Climate.
 
  I truly agree with the fact that possibly users should not use a
  separate API for reserving resources, but that would be worth duty for
  the project itself (Nova, Cinder or even Heat). That said, we think that
  there is need for having a global ordonancer managing resources and not
  siloing the resources. Hence that's why we still think there is still a
  need for a Climate Manager.

 What we need to dig in to is *why* do you feel it needs to be global?

 I'm trying to understand what you're saying here ... do you mean that
 since we're 

Re: [openstack-dev] Climate Incubation Application

2014-03-13 Thread Russell Bryant
On 03/12/2014 12:14 PM, Sylvain Bauza wrote:
 Hi Russell,
 Thanks for replying,
 
 
 2014-03-12 16:46 GMT+01:00 Russell Bryant rbry...@redhat.com
 mailto:rbry...@redhat.com:
 The biggest concern seemed to be that we weren't sure whether Climate
 makes sense as an independent project or not.  We think it may make more
 sense to integrate what Climate does today into Nova directly.  More
 generally, we think reservations of resources may best belong in the
 APIs responsible for managing those resources, similar to how quota
 management for resources lives in the resource APIs.
 
 There is some expectation that this type of functionality will extend
 beyond Nova, but for that we could look at creating a shared library of
 code to ease implementing this sort of thing in each API that needs it.
 
 
 
 That's really a good question, so maybe I could give some feedback on
 how we deal with the existing use-cases.
 About the possible integration with Nova, that's already something we
 did for the virtual instances use-case, thanks to an API extension
 responsible for checking if a scheduler hint called 'reservation' was
 spent, and if so, take use of the python-climateclient package to send a
 request to Climate.
 
 I truly agree with the fact that possibly users should not use a
 separate API for reserving resources, but that would be worth duty for
 the project itself (Nova, Cinder or even Heat). That said, we think that
 there is need for having a global ordonancer managing resources and not
 siloing the resources. Hence that's why we still think there is still a
 need for a Climate Manager.

What we need to dig in to is *why* do you feel it needs to be global?

I'm trying to understand what you're saying here ... do you mean that
since we're trying to get to where there's a global scheduler, that it
makes sense there should be a central point for this, even if the API is
through the existing compute/networking/storage APIs?

If so, I think that makes sense.  However, until we actually have
something for scheduling, I think we should look at implementing all of
this in the services, and perhaps share some code with a Python library.
 So, I'm thinking along the lines of ...

1) Take what Climate does today and work to integrate it into Nova,
using as much of the existing Climate code as makes sense.  Be careful
about coupling in Nova so that we can easily split out the right code
into a library once we're ready to work on integration in another project.

2) In parallel, continue working on decoupling nova-scheduler from the
rest of Nova, so that we can split it out into its own project.

3) Once the scheduler is split out, re-visit what part of reservations
functionality belongs in the new scheduling project and what parts
should remain in each of the projects responsible for managing resources.

 Once I said that, there are different ways to plug in with the Manager,
 our proposal is to deliver a REST API and a python client so that there
 could be still some operator access for managing the resources if
 needed. The other way would be to only expose an RPC interface like the
 scheduler does at the moment but as the move to Pecan/WSME is already
 close to be done (reviews currently in progress), that's still a good
 opportunity for leveraging the existing bits of code.

Yes, I would want to use as much of the existing code as possible.

As I said above, I just think it's premature to make this its own
project on its own, unless we're able to look at scheduling more broadly
as its own project.

-- 
Russell Bryant

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


Re: [openstack-dev] Climate Incubation Application

2014-03-12 Thread Dina Belova
Thanks TC for spending time on Blazar (ex. Climate, in process of renaming)
discussion!

It was decided that potentially reservation idea is interesting for OS and
it'll be great to have cross-project session on ongoing Atlanta Summit and
discuss future of reservation/scheduling management in OpenStack.

Here is link to cross-project session proposal:

http://summit.openstack.org/cfp/details/45

Thanks everyone and let's keep working on that idea.

Dina


On Fri, Mar 7, 2014 at 12:56 PM, Thierry Carrez thie...@openstack.orgwrote:

 Dina Belova wrote:
  I'd like to request Climate project review for incubation. Here is
  official incubation application:
 
  https://wiki.openstack.org/wiki/Climate/Incubation

 After watching this thread a bit, it looks like this is more a
 preemptive where fo I fit advice request than a formal incubation
 request.

 These are interesting questions, and useful answers to projects. We (the
 TC) may need an avenue for projects to request such feedback without
 necessarily engaging in a formal incubation request...

 --
 Thierry Carrez (ttx)

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




-- 

Best regards,

Dina Belova

Software Engineer

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


Re: [openstack-dev] Climate Incubation Application

2014-03-12 Thread Russell Bryant
On 03/12/2014 07:35 AM, Dina Belova wrote:
 Thanks TC for spending time on Blazar (ex. Climate, in process of
 renaming) discussion!
 
 It was decided that potentially reservation idea is interesting for OS
 and it'll be great to have cross-project session on ongoing Atlanta
 Summit and discuss future of reservation/scheduling management in OpenStack.
 
 Here is link to cross-project session proposal:
 
 http://summit.openstack.org/cfp/details/45
 
 Thanks everyone and let's keep working on that idea.

Yes, I do think it would be useful to discuss this in person.  However,
I don't think that was the most important feedback from the TC meeting.

The biggest concern seemed to be that we weren't sure whether Climate
makes sense as an independent project or not.  We think it may make more
sense to integrate what Climate does today into Nova directly.  More
generally, we think reservations of resources may best belong in the
APIs responsible for managing those resources, similar to how quota
management for resources lives in the resource APIs.

There is some expectation that this type of functionality will extend
beyond Nova, but for that we could look at creating a shared library of
code to ease implementing this sort of thing in each API that needs it.

-- 
Russell Bryant

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


Re: [openstack-dev] Climate Incubation Application

2014-03-12 Thread Sylvain Bauza
Hi Russell,
Thanks for replying,


2014-03-12 16:46 GMT+01:00 Russell Bryant rbry...@redhat.com:

 On 03/12/2014 07:35 AM, Dina Belova wrote:
  Thanks TC for spending time on Blazar (ex. Climate, in process of
  renaming) discussion!
 
  It was decided that potentially reservation idea is interesting for OS
  and it'll be great to have cross-project session on ongoing Atlanta
  Summit and discuss future of reservation/scheduling management in
 OpenStack.
 
  Here is link to cross-project session proposal:
 
  http://summit.openstack.org/cfp/details/45
 
  Thanks everyone and let's keep working on that idea.

 Yes, I do think it would be useful to discuss this in person.  However,
 I don't think that was the most important feedback from the TC meeting.

 The biggest concern seemed to be that we weren't sure whether Climate
 makes sense as an independent project or not.  We think it may make more
 sense to integrate what Climate does today into Nova directly.  More
 generally, we think reservations of resources may best belong in the
 APIs responsible for managing those resources, similar to how quota
 management for resources lives in the resource APIs.

 There is some expectation that this type of functionality will extend
 beyond Nova, but for that we could look at creating a shared library of
 code to ease implementing this sort of thing in each API that needs it.



That's really a good question, so maybe I could give some feedback on how
we deal with the existing use-cases.
About the possible integration with Nova, that's already something we did
for the virtual instances use-case, thanks to an API extension responsible
for checking if a scheduler hint called 'reservation' was spent, and if so,
take use of the python-climateclient package to send a request to Climate.

I truly agree with the fact that possibly users should not use a separate
API for reserving resources, but that would be worth duty for the project
itself (Nova, Cinder or even Heat). That said, we think that there is need
for having a global ordonancer managing resources and not siloing the
resources. Hence that's why we still think there is still a need for a
Climate Manager.

Once I said that, there are different ways to plug in with the Manager, our
proposal is to deliver a REST API and a python client so that there could
be still some operator access for managing the resources if needed. The
other way would be to only expose an RPC interface like the scheduler does
at the moment but as the move to Pecan/WSME is already close to be done
(reviews currently in progress), that's still a good opportunity for
leveraging the existing bits of code.

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


Re: [openstack-dev] Climate Incubation Application

2014-03-07 Thread Thierry Carrez
Dina Belova wrote:
 I'd like to request Climate project review for incubation. Here is
 official incubation application:
 
 https://wiki.openstack.org/wiki/Climate/Incubation

After watching this thread a bit, it looks like this is more a
preemptive where fo I fit advice request than a formal incubation request.

These are interesting questions, and useful answers to projects. We (the
TC) may need an avenue for projects to request such feedback without
necessarily engaging in a formal incubation request...

-- 
Thierry Carrez (ttx)

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


Re: [openstack-dev] Climate Incubation Application

2014-03-06 Thread Dina Belova
Thierry, hello.


 Anne Gentle wrote:

  It feels like it should be part of a scheduler or reservation program

  but we don't have one today. We also don't have a workflow, planning, or

  capacity management program, all of which these use cases could fall
under.

 

  (I should know this but) What are the options when a program doesn't

  exist already? Am I actually struggling with a scope expansion beyond

  infrastructure definitions? I'd like some more discussion by next week's

  TC meeting.



 When a project files for incubation and covers a new scope, they also

 file for a new program to go with it.


Yes, we've prepared 'Resource Reservation' program - but it seems to me,
that now we should reexamine it due to idea of common program for Gantt and
Climate, and, probably, Mistral (as Anne said  We also don't have a
workflow, planning, or capacity management program, all of which these use
cases could fall under.  )


 Dina Belova wrote:

  I think your idea is really interesting. I mean, that thought Gantt -

  where to schedule, Climate - when to schedule is quite understandable

  and good looking.



 Would Climate also be usable to support functionality like Spot

 Instances ? Schedule when spot price falls under X ?


Really good question. Personally I think that Climate might help
implementing this feature, but probably it's not the main thing that will
work there.


Here are my concerns about it. Spot instances require way of counting
instance price:


* that might be done by *online* counting of free capacity. If so, that's
something that might be managed by billing service - price counting due to
current load. In this case I can imagine hardly how lease service might
help - that will be only some approximate capacity planning help in future

* there is other way - if every instance in cloud will be reserved via
Climate (so there will be full planning). If so, Climate will know for sure
what and when will be running. And price will be some priority stuff there
- due to it not started leases will be rescheduled. Like if capacity load
in moment X is Y and user gives price Z for some VM and it's more than
minimal price counted for that X moment, his VM will be leased for X. If
not, place for VM will be found later.


It were some quick  thoughts about this idea, I'm pretty sure there might
be some other variants about it.


Thanks

Dina


On Wed, Mar 5, 2014 at 7:35 PM, Thierry Carrez thie...@openstack.orgwrote:

 Dina Belova wrote:
  I think your idea is really interesting. I mean, that thought Gantt -
  where to schedule, Climate - when to schedule is quite understandable
  and good looking.

 Would Climate also be usable to support functionality like Spot
 Instances ? Schedule when spot price falls under X ?

 --
 Thierry Carrez (ttx)

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




-- 

Best regards,

Dina Belova

Software Engineer

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


Re: [openstack-dev] Climate Incubation Application

2014-03-06 Thread Thierry Carrez
Dina Belova wrote:
 Would Climate also be usable to support functionality like Spot
 Instances ? Schedule when spot price falls under X ?
 
 Really good question. Personally I think that Climate might help
 implementing this feature, but probably it’s not the main thing that
 will work there.
 
 Here are my concerns about it. Spot instances require way of counting
 instance price:
 [...]

Not necessarily. It's a question of whether Climate would handle only
schedule at (a given date), or more generally schedule when (a
certain event happens, with date just being one event type). You can
depend on some external system setting spot prices, or any other
information, and climate rules that would watch regularly that external
information to decide if it's time to run resources or not. I don't
think it should be Climate's responsibility to specifically maintain
spot price, everyone can come up with their own rules.

-- 
Thierry Carrez (ttx)

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


Re: [openstack-dev] Climate Incubation Application

2014-03-06 Thread Sylvain Bauza
Hi Thierry,


2014-03-06 11:46 GMT+01:00 Thierry Carrez thie...@openstack.org:

 Dina Belova wrote:
  Would Climate also be usable to support functionality like Spot
  Instances ? Schedule when spot price falls under X ?
 
  Really good question. Personally I think that Climate might help
  implementing this feature, but probably it's not the main thing that
  will work there.
 
  Here are my concerns about it. Spot instances require way of counting
  instance price:
  [...]

 Not necessarily. It's a question of whether Climate would handle only
 schedule at (a given date), or more generally schedule when (a
 certain event happens, with date just being one event type). You can
 depend on some external system setting spot prices, or any other
 information, and climate rules that would watch regularly that external
 information to decide if it's time to run resources or not. I don't
 think it should be Climate's responsibility to specifically maintain
 spot price, everyone can come up with their own rules.



I can't agree more on this. The goal of Climate is to provide some formal
contract agreement in betwen an user and the Reservation service, for
ensuring that the order will be placed and served correctly (with regards
to quotas and capacity). Of course, what we call 'user' doesn't formally
tend to be a 'real' user.
About spot instances use-case, I don't pretend to design it, but I could
easily imagine that a call to Nova for booting an instance would place an
order to Climate with a specific type of contract (what we began to call
'best-effort' and which needs to be implemented yet) where notifications
for acquitting the order would come from Ceilometer (for instance). If no
notifications come to Climate, the lease would not be honored.

See https://wiki.openstack.org/wiki/Climate#Lease_types_.28concepts.29 for
best-effort definition of a lease.

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


Re: [openstack-dev] Climate Incubation Application

2014-03-06 Thread Dina Belova
Sylvain, I love your idea. As you said, that should be designed, but for
the first sight your proposal looks quite nice.


On Thu, Mar 6, 2014 at 3:11 PM, Sylvain Bauza sylvain.ba...@gmail.comwrote:

 Hi Thierry,


 2014-03-06 11:46 GMT+01:00 Thierry Carrez thie...@openstack.org:

 Dina Belova wrote:
  Would Climate also be usable to support functionality like Spot
  Instances ? Schedule when spot price falls under X ?
 
  Really good question. Personally I think that Climate might help
  implementing this feature, but probably it's not the main thing that
  will work there.
 
  Here are my concerns about it. Spot instances require way of counting
  instance price:
  [...]

 Not necessarily. It's a question of whether Climate would handle only
 schedule at (a given date), or more generally schedule when (a
 certain event happens, with date just being one event type). You can
 depend on some external system setting spot prices, or any other
 information, and climate rules that would watch regularly that external
 information to decide if it's time to run resources or not. I don't
 think it should be Climate's responsibility to specifically maintain
 spot price, everyone can come up with their own rules.



 I can't agree more on this. The goal of Climate is to provide some formal
 contract agreement in betwen an user and the Reservation service, for
 ensuring that the order will be placed and served correctly (with regards
 to quotas and capacity). Of course, what we call 'user' doesn't formally
 tend to be a 'real' user.
 About spot instances use-case, I don't pretend to design it, but I could
 easily imagine that a call to Nova for booting an instance would place an
 order to Climate with a specific type of contract (what we began to call
 'best-effort' and which needs to be implemented yet) where notifications
 for acquitting the order would come from Ceilometer (for instance). If no
 notifications come to Climate, the lease would not be honored.

 See https://wiki.openstack.org/wiki/Climate#Lease_types_.28concepts.29 for
 best-effort definition of a lease.

 -Sylvain


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




-- 

Best regards,

Dina Belova

Software Engineer

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


Re: [openstack-dev] Climate Incubation Application

2014-03-06 Thread Joe Gordon
On Thu, Mar 6, 2014 at 3:11 AM, Sylvain Bauza sylvain.ba...@gmail.com wrote:
 Hi Thierry,


 2014-03-06 11:46 GMT+01:00 Thierry Carrez thie...@openstack.org:

 Dina Belova wrote:
  Would Climate also be usable to support functionality like Spot
  Instances ? Schedule when spot price falls under X ?
 
  Really good question. Personally I think that Climate might help
  implementing this feature, but probably it's not the main thing that
  will work there.
 
  Here are my concerns about it. Spot instances require way of counting
  instance price:
  [...]

 Not necessarily. It's a question of whether Climate would handle only
 schedule at (a given date), or more generally schedule when (a
 certain event happens, with date just being one event type). You can
 depend on some external system setting spot prices, or any other
 information, and climate rules that would watch regularly that external
 information to decide if it's time to run resources or not. I don't
 think it should be Climate's responsibility to specifically maintain
 spot price, everyone can come up with their own rules.



 I can't agree more on this. The goal of Climate is to provide some formal
 contract agreement in betwen an user and the Reservation service, for
 ensuring that the order will be placed and served correctly (with regards to
 quotas and capacity). Of course, what we call 'user' doesn't formally tend
 to be a 'real' user.
 About spot instances use-case, I don't pretend to design it, but I could
 easily imagine that a call to Nova for booting an instance would place an
 order to Climate with a specific type of contract (what we began to call
 'best-effort' and which needs to be implemented yet) where notifications for
 acquitting the order would come from Ceilometer (for instance). If no
 notifications come to Climate, the lease would not be honored.

 See https://wiki.openstack.org/wiki/Climate#Lease_types_.28concepts.29 for
 best-effort definition of a lease.


Immediate reservation. Resources are provisioned immediately (like VM
boot or moving host to reserved user aggregate) or not at all. If
request can be fulfilled, lease is created and success status is
returned. Lease should be marked as active or to_be_started. Otherwise
(if request resource cannot be provisioned right now) failure status
for this request should be returned.

Isn't this what what nova does today? why is climate needed for this?

Also your concept of 'Best-effort reservation.' is very different from
spot instances.

Spot instances will terminate terminate when the price goes above a
threshhold, I didn't see anything like that here.


 -Sylvain


 ___
 OpenStack-dev mailing list
 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


Re: [openstack-dev] Climate Incubation Application

2014-03-05 Thread Thierry Carrez
Dina Belova wrote:
 I think your idea is really interesting. I mean, that thought “Gantt -
 where to schedule, Climate - when to schedule” is quite understandable
 and good looking.

Would Climate also be usable to support functionality like Spot
Instances ? Schedule when spot price falls under X ?

-- 
Thierry Carrez (ttx)

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


Re: [openstack-dev] Climate Incubation Application

2014-03-05 Thread Thierry Carrez
Anne Gentle wrote:
 It feels like it should be part of a scheduler or reservation program
 but we don't have one today. We also don't have a workflow, planning, or
 capacity management program, all of which these use cases could fall under. 
 
 (I should know this but) What are the options when a program doesn't
 exist already? Am I actually struggling with a scope expansion beyond
 infrastructure definitions? I'd like some more discussion by next week's
 TC meeting.

When a project files for incubation and covers a new scope, they also
file for a new program to go with it.

https://wiki.openstack.org/wiki/Governance/NewProjects

-- 
Thierry Carrez (ttx)

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


Re: [openstack-dev] Climate Incubation Application

2014-03-04 Thread Dina Belova
Joe, thanks for discussion.


 I think nova should natively support booting an instance for a

 limited amount of time. I would use this all the time to boot up

 devstack instances (boot devstack instance for 5 hours)


Really nice idea, but to provide time based resource management for any
resource type in OS (instance, volume, compute host, Heat stack, etc.) that
needs to be implemented in every project. And even with that feature
implemented, without central leasing service, there should be some other
reservation connected opportunities like user notifications about close end
of lease / energy efficiency, etc. that do not really fit idea of some
already existing project / program.


 Reserved and Spot Instances. I like Amazon's concept of reserved and

 spot instances it would be cool if we could support something similar


AWS reserved instances look like your first idea with instances booted for
a limited amount of time - even that in Amazon use case that's *much* time.
As for spot instances, I believe this idea is more about some billing
service that counts current instance/host/whatever price due to current
compute capacity load, etc.


 Boot an instances for 4 hours every morning. This sounds like

 something that
https://wiki.openstack.org/wiki/Mistral#Tasks_Scheduling_-_Cloud_Cron

 can handle.


That's not really thing we've implemented in Climate - we have not
implemented periodic tasks like that - now lease might be not started,
started and ended - without any 'sleeping' periods. Although, that's quite
nice idea to implement this feature using Mistral.


 Give someone 100 CPU hours per time period of quota. Support quotas

 by overall usage not current usage. This sounds like something that

 each service should support natively.


Quotas (if we speak about time management) should be satisfied in any time
period. Now in Climate that's done by getting cloud resources from common
pool at the lease creation moment - but, as you guess, that does not allow
to have resource reusage at the time lease has not started yet. To
implement resource reusage advanced quota management is truly needed. That
idea was the first at the very beginning of Climate project and we
definitely need that in future.


 Reserved Volume: Not sure how that works.


Now we're in the process of investigating this moment too. Ideally that
should be some kind of volume state, that simply means only DB record
without real block storage created - and it'll be created only at the lease
start date. But that requires many changes to Cinder. Other idea is to do
the same as Climate does with compute hosts - consider cinder-volumes as
dedicated to Climate and Climate will manage them itself. Reserved volume
idea came from thoughts about 'reserved stack' - to have working group like
vm+volume+assigned_ip time you really need that.


 Virtual Private Cloud.  It would be great to see OpenStack support a

 hardware isolated virtual private cloud, but not sure what the best

 way to implement that is.


There was proposal with pclouds by Phil Day, that was changed after
Icehouse summit to something new. First idea was to use exactly pclouds,
but as they are not implemented now, Climate works directly with hosts
aggregates to imitate them. In future, when we'll have opportunity to use
pcloud (it does not matter how it'll be called really), we'll do it, of
course.


 Capacity Planning. Sure, but it would be nice to see a more fleshed

 out story for it.


Sure. I believe, that having resource reusage opportunity (when lease
creation and resource allocation steps won't be the same one) will help to
manage future capacity peak loads - because cloud provider will know about
future user needs before resources will be really used.


Cheers

Dina


On Tue, Mar 4, 2014 at 12:30 AM, Joe Gordon joe.gord...@gmail.com wrote:

 Overall I think Climate is trying to address some very real use cases,
 but its unclear to me where these solutions should live or how to
 solve them. Furthermore I understand what a reservation means for nova
 but I am not sure what it means in Cinder, Swift etc.

 To give a few examples:
 * I think nova should natively support booting an instance for a
 limited amount of time. I would use this all the time to boot up
 devstack instances (boot devstack instance for 5 hours)
 * Reserved and Spot Instances. I like Amazon's concept of reserved and
 spot instances it would be cool if we could support something similar
 * Boot an instances for 4 hours every morning. This sounds like
 something that
 https://wiki.openstack.org/wiki/Mistral#Tasks_Scheduling_-_Cloud_Cron
 can handle.
 * Give someone 100 CPU hours per time period of quota. Support quotas
 by overall usage not current usage. This sounds like something that
 each service should support natively.
 * Reserved Volume: Not sure how that works.
 * Virtual Private Cloud.  It would be great to see OpenStack support a
 hardware isolated virtual private cloud, but not sure what the 

Re: [openstack-dev] Climate Incubation Application

2014-03-04 Thread Joe Gordon
On Tue, Mar 4, 2014 at 5:25 AM, Dina Belova dbel...@mirantis.com wrote:
 Joe, thanks for discussion.


 I think nova should natively support booting an instance for a

 limited amount of time. I would use this all the time to boot up

 devstack instances (boot devstack instance for 5 hours)


 Really nice idea, but to provide time based resource management for any
 resource type in OS (instance, volume, compute host, Heat stack, etc.) that
 needs to be implemented in every project. And even with that feature
 implemented, without central leasing service, there should be some other
 reservation connected opportunities like user notifications about close end
 of lease / energy efficiency, etc. that do not really fit idea of some
 already existing project / program.


So I understand the use case where I want a instance for x amount of
time, because the cloud model makes compute resources (instances)
ephemeral. But volumes and object storage are explicitly persistent,
so not sure why you would want to consume one of those resources for a
finite amount of time.


 Reserved and Spot Instances. I like Amazon's concept of reserved and

 spot instances it would be cool if we could support something similar


 AWS reserved instances look like your first idea with instances booted for a
 limited amount of time - even that in Amazon use case that's *much* time. As
 for spot instances, I believe this idea is more about some billing service
 that counts current instance/host/whatever price due to current compute
 capacity load, etc.

Actually you have it backwards.
Reserved Instances are easy to use and require no change to how you
use EC2. When computing your bill, our system will automatically apply
Reserved Instance rates first to minimize your costs. An instance hour
will only be charged at the On-Demand rate when your total quantity of
instances running that hour exceeds the number of applicable Reserved
Instances you own.
https://aws.amazon.com/ec2/purchasing-options/reserved-instances/


https://aws.amazon.com/ec2/purchasing-options/spot-instances/




 Boot an instances for 4 hours every morning. This sounds like

 something that
 https://wiki.openstack.org/wiki/Mistral#Tasks_Scheduling_-_Cloud_Cron

 can handle.


 That's not really thing we've implemented in Climate - we have not
 implemented periodic tasks like that - now lease might be not started,
 started and ended - without any 'sleeping' periods. Although, that's quite
 nice idea to implement this feature using Mistral.


 Give someone 100 CPU hours per time period of quota. Support quotas

 by overall usage not current usage. This sounds like something that

 each service should support natively.


 Quotas (if we speak about time management) should be satisfied in any time
 period. Now in Climate that's done by getting cloud resources from common
 pool at the lease creation moment - but, as you guess, that does not allow
 to have resource reusage at the time lease has not started yet. To
 implement resource reusage advanced quota management is truly needed. That
 idea was the first at the very beginning of Climate project and we
 definitely need that in future.

This is the crux of my concern:  without 'resource reusage' at the
time lease has not started yet. I don't see what climate provides.

How would climate handle quotas? Currently quotas are up to each
project to manage.



 Reserved Volume: Not sure how that works.


 Now we're in the process of investigating this moment too. Ideally that
 should be some kind of volume state, that simply means only DB record
 without real block storage created - and it'll be created only at the lease
 start date. But that requires many changes to Cinder. Other idea is to do
 the same as Climate does with compute hosts - consider cinder-volumes as
 dedicated to Climate and Climate will manage them itself. Reserved volume
 idea came from thoughts about 'reserved stack' - to have working group like
 vm+volume+assigned_ip time you really need that.


I would like to see a clear roadmap for this with input from the
Cinder team. Because I am not sure if this really makes much sense.


 Virtual Private Cloud.  It would be great to see OpenStack support a

 hardware isolated virtual private cloud, but not sure what the best

 way to implement that is.


 There was proposal with pclouds by Phil Day, that was changed after Icehouse
 summit to something new. First idea was to use exactly pclouds, but as they
 are not implemented now, Climate works directly with hosts aggregates to
 imitate them. In future, when we'll have opportunity to use pcloud (it does
 not matter how it'll be called really), we'll do it, of course.


That brings up another point, having a project that imports nova code
directly is bad. You are using non-public non-contractual APIs that
nova can change at any time.
http://git.openstack.org/cgit/stackforge/climate-nova/tree/climatenova/api/extensions/reservation.py

Having a nova filter that lives in 

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Dina Belova
Hello Joe, Thierry, Sylvain.

Joe, I pretty agree with Sylvain in how he had described Climate idea. I
hope it is more understandable now.

Thierry, thanks for answering. I'm sorry I did not send this email before :)

Thanks
Dina


On Mon, Mar 3, 2014 at 4:42 PM, Sylvain Bauza sylvain.ba...@bull.netwrote:

 Hi Joe,

 Thanks for your reply, I'll try to further explain.


 Le 03/03/2014 05:33, Joe Gordon a écrit :

  On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com
 wrote:

 Hello, folks!

 I'd like to request Climate project review for incubation. Here is
 official
 incubation application:

 https://wiki.openstack.org/wiki/Climate/Incubation

 I'm unclear on what Climate is trying to solve. I read the 'Detailed
 Description' from the link above, and it states Climate is trying to
 solve two uses cases (and the more generalized cases of those).

 1) Compute host reservation (when user with admin privileges can
 reserve hardware resources that are dedicated to the sole use of a
 tenant)
 2) Virtual machine (instance) reservation (when user may ask
 reservation service to provide him working VM not necessary now, but
 also in the future)

 Climate is born from the idea of dedicating compute resources to a single
 tenant or user for a certain amount of time, which was not yet implemented
 in Nova: how as an user, can I ask Nova for one compute host with certain
 specs to be exclusively allocated to my needs, starting in 2 days and being
 freed in 5 days ?

 Albeit the exclusive resource lock can be managed on the Nova side, there
 is currently no possibilities to ensure resource planner.

 Of course, and that's why we think Climate can also stand by its own
 Program, resource reservation can be seen on a more general way : what
 about reserving an Heat stack with its volume and network nested resources ?


  You want to support being able to reserve an instance in the future.
 As a cloud operator how do I take advantage of that information? As a
 cloud consumer, what is the benefit? Today OpenStack supports both
 uses cases, except it can't request an Instance for the future.


 Again, that's not only reserving an instance, but rather a complex mix of
 resources. At the moment, we do provide way to reserve virtual instances by
 shelving/unshelving them at the lease start, but we also give possibility
 to provide dedicated compute hosts. Considering it, the logic of resource
 allocation and scheduling (take the word as resource planner, in order not
 to confuse with Nova's scheduler concerns) and capacity planning is too big
 to fail under the Compute's umbrella, as it has been agreed within the
 Summit talks and periodical threads.

 From the user standpoint, there are multiple ways to integrate with
 Climate in order to get Capacity Planning capabilities. As you perhaps
 noticed, the workflow for reserving resources is different from one plugin
 to another. Either we say the user has to explicitly request for dedicated
 resources (using Climate CLI, see dedicate compute hosts allocation), or we
 implicitly integrate resource allocation from the Nova API (see virtual
 instance API hook).

 We truly accept our current implementation as a first prototype, where
 scheduling decisions can be improved (possibly thanks to some tight
 integration with a future external Scheduler aaS, hello Gantt), where also
 resource isolation and preemption must also be integrated with subprojects
 (we're currently seeing how to provision Cinder volumes and Neutron routers
 and nets), but anyway we still think there is a (IMHO big) room for
 resource and capacity management on its own project.

 Hoping it's clearer now,
 -Sylvain


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




-- 

Best regards,

Dina Belova

Software Engineer

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


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Sylvain Bauza

Forgot to put openstack-tc@ in the loop... Sorry for resending this email.

-Sylvain

Le 03/03/2014 13:42, Sylvain Bauza a écrit :

Hi Joe,

Thanks for your reply, I'll try to further explain.


Le 03/03/2014 05:33, Joe Gordon a écrit :
On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com 
wrote:

Hello, folks!

I'd like to request Climate project review for incubation. Here is 
official

incubation application:

https://wiki.openstack.org/wiki/Climate/Incubation

I'm unclear on what Climate is trying to solve. I read the 'Detailed
Description' from the link above, and it states Climate is trying to
solve two uses cases (and the more generalized cases of those).

1) Compute host reservation (when user with admin privileges can
reserve hardware resources that are dedicated to the sole use of a
tenant)
2) Virtual machine (instance) reservation (when user may ask
reservation service to provide him working VM not necessary now, but
also in the future)
Climate is born from the idea of dedicating compute resources to a 
single tenant or user for a certain amount of time, which was not yet 
implemented in Nova: how as an user, can I ask Nova for one compute 
host with certain specs to be exclusively allocated to my needs, 
starting in 2 days and being freed in 5 days ?


Albeit the exclusive resource lock can be managed on the Nova side, 
there is currently no possibilities to ensure resource planner.


Of course, and that’s why we think Climate can also stand by its own 
Program, resource reservation can be seen on a more general way : what 
about reserving an Heat stack with its volume and network nested 
resources ?



You want to support being able to reserve an instance in the future.
As a cloud operator how do I take advantage of that information? As a
cloud consumer, what is the benefit? Today OpenStack supports both
uses cases, except it can't request an Instance for the future.


Again, that’s not only reserving an instance, but rather a complex mix 
of resources. At the moment, we do provide way to reserve virtual 
instances by shelving/unshelving them at the lease start, but we also 
give possibility to provide dedicated compute hosts. Considering it, 
the logic of resource allocation and scheduling (take the word as 
resource planner, in order not to confuse with Nova’s scheduler 
concerns) and capacity planning is too big to fail under the Compute’s 
umbrella, as it has been agreed within the Summit talks and periodical 
threads.


From the user standpoint, there are multiple ways to integrate with 
Climate in order to get Capacity Planning capabilities. As you perhaps 
noticed, the workflow for reserving resources is different from one 
plugin to another. Either we say the user has to explicitly request 
for dedicated resources (using Climate CLI, see dedicate compute hosts 
allocation), or we implicitly integrate resource allocation from the 
Nova API (see virtual instance API hook).


We truly accept our current implementation as a first prototype, where 
scheduling decisions can be improved (possibly thanks to some tight 
integration with a future external Scheduler aaS, hello Gantt), where 
also resource isolation and preemption must also be integrated with 
subprojects (we’re currently seeing how to provision Cinder volumes 
and Neutron routers and nets), but anyway we still think there is a 
(IMHO big) room for resource and capacity management on its own project.


Hoping it's clearer now,
-Sylvain

___
OpenStack-dev mailing list
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


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Anne Gentle
On Mon, Mar 3, 2014 at 8:20 AM, Joe Gordon joe.gord...@gmail.com wrote:

 On Mon, Mar 3, 2014 at 4:42 AM, Sylvain Bauza sylvain.ba...@bull.net
 wrote:
  Hi Joe,
 
  Thanks for your reply, I'll try to further explain.
 
 
  Le 03/03/2014 05:33, Joe Gordon a écrit :
 
  On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com
 wrote:
 
  Hello, folks!
 
  I'd like to request Climate project review for incubation. Here is
  official
  incubation application:
 
  https://wiki.openstack.org/wiki/Climate/Incubation
 
  I'm unclear on what Climate is trying to solve. I read the 'Detailed
  Description' from the link above, and it states Climate is trying to
  solve two uses cases (and the more generalized cases of those).
 
  1) Compute host reservation (when user with admin privileges can
  reserve hardware resources that are dedicated to the sole use of a
  tenant)
  2) Virtual machine (instance) reservation (when user may ask
  reservation service to provide him working VM not necessary now, but
  also in the future)
 
  Climate is born from the idea of dedicating compute resources to a single
  tenant or user for a certain amount of time, which was not yet
 implemented
  in Nova: how as an user, can I ask Nova for one compute host with certain
  specs to be exclusively allocated to my needs, starting in 2 days and
 being
  freed in 5 days ?
 
  Albeit the exclusive resource lock can be managed on the Nova side,
 there is
  currently no possibilities to ensure resource planner.
 
  Of course, and that's why we think Climate can also stand by its own
  Program, resource reservation can be seen on a more general way : what
 about
  reserving an Heat stack with its volume and network nested resources ?
 
 
  You want to support being able to reserve an instance in the future.
  As a cloud operator how do I take advantage of that information? As a
  cloud consumer, what is the benefit? Today OpenStack supports both
  uses cases, except it can't request an Instance for the future.
 
 
  Again, that's not only reserving an instance, but rather a complex mix of
  resources. At the moment, we do provide way to reserve virtual instances
 by
  shelving/unshelving them at the lease start, but we also give
 possibility to
  provide dedicated compute hosts. Considering it, the logic of resource
  allocation and scheduling (take the word as resource planner, in order
 not
  to confuse with Nova's scheduler concerns) and capacity planning is too
 big
  to fail under the Compute's umbrella, as it has been agreed within the
  Summit talks and periodical threads.

 Capacity planning not falling under Compute's umbrella is news to me,
 are you referring to Gantt and scheduling in general? Perhaps I don't
 fully understand the full extent of what 'capacity planning' actually
 is.

 
  From the user standpoint, there are multiple ways to integrate with
 Climate
  in order to get Capacity Planning capabilities. As you perhaps noticed,
 the
  workflow for reserving resources is different from one plugin to another.
  Either we say the user has to explicitly request for dedicated resources
  (using Climate CLI, see dedicate compute hosts allocation), or we
 implicitly
  integrate resource allocation from the Nova API (see virtual instance API
  hook).

 I don't see how Climate reserves resources is relevant to the user.

 
  We truly accept our current implementation as a first prototype, where
  scheduling decisions can be improved (possibly thanks to some tight
  integration with a future external Scheduler aaS, hello Gantt), where
 also
  resource isolation and preemption must also be integrated with
 subprojects
  (we're currently seeing how to provision Cinder volumes and Neutron
 routers
  and nets), but anyway we still think there is a (IMHO big) room for
 resource
  and capacity management on its own project.
 
  Hoping it's clearer now,

 Unfortunately that doesn't clarify things for me.

 From the user's point of view what is the benefit from making a
 reservation in the future? Versus what Nova supports today, asking for
 an instance in the present.

 Same thing from the operator's perspective,  what is the benefit of
 taking reservations for the future?

 This whole model is unclear to me because as far as I can tell no
 other clouds out there support this model, so I have nothing to
 compare it to.


Hi Joe,
I think it's meant to save consumers money by pricing instances based on
today's prices.

https://aws.amazon.com/ec2/purchasing-options/reserved-instances/

Anne


   -Sylvain
 
 
  ___
  OpenStack-dev mailing list
  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

___
OpenStack-dev mailing 

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Sean Dague
On 03/02/2014 02:32 PM, Dina Belova wrote:
 Hello, folks!
 
 I'd like to request Climate project review for incubation. Here is
 official incubation application:
 
 https://wiki.openstack.org/wiki/Climate/Incubation
 
 Additionally due to the project scope and the roadmap, we don't see any
 currently existing OpenStack program that fits Climate. So we've
 prepared new program request too:
 
 https://wiki.openstack.org/wiki/Climate/Program
 
 TL;DR
 
 Our team is working on providing OpenStack with resource reservation
 opportunity in time-based manner, including close integration with all
 other OS projects.
 
 As Climate initiative is targeting to provide not only compute resources
 revervation, but also volumes, network resources, storage nodes
 reservation opportunity, we consider it is not about being a part of
 some existing OpenStack program.
 
 This initiative needs to become a part of completely new Resource
 Reservation Program, that aims to implement time-based cloud resource
 management.

At a high level this feels like this should be part of scheduling.
Scheduling might include resources you want right now, but it could
include resources you want in the future. It also makes sense for
scheduling to include deadlines, so that resources are reclaimed when
they expire. Especially given quota implications of asking for resources
now vs. resources that a user has reserved in the future. What happens
when a user has used all their quota in the present, and a future
reservation comes up for access?

Scheduling today is under compute. The proposal to pull Gantt out still
leaves it in the compute program. So I would naturally assume this
should live under compute. I could understand that if this  Gantt
emerged together and wanted to create a Resource Allocation program,
that might make sense. But I think that's way down the road.

However, that's just a quick look at this. I think it will be an
interesting discussion in how this effort moves forward.

-Sean

-- 
Sean Dague
Samsung Research America
s...@dague.net / sean.da...@samsung.com
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Sylvain Bauza
Hi Sean,




2014-03-03 16:04 GMT+01:00 Sean Dague s...@dague.net:



 At a high level this feels like this should be part of scheduling.
 Scheduling might include resources you want right now, but it could
 include resources you want in the future. It also makes sense for
 scheduling to include deadlines, so that resources are reclaimed when
 they expire. Especially given quota implications of asking for resources
 now vs. resources that a user has reserved in the future. What happens
 when a user has used all their quota in the present, and a future
 reservation comes up for access?

 Scheduling today is under compute. The proposal to pull Gantt out still
 leaves it in the compute program. So I would naturally assume this
 should live under compute. I could understand that if this  Gantt
 emerged together and wanted to create a Resource Allocation program,
 that might make sense. But I think that's way down the road.

 However, that's just a quick look at this. I think it will be an
 interesting discussion in how this effort moves forward.

 -Sean



I'm also particularly conviced that Gantt and Climate can work together for
scheduling purposes, and that point has also been raised by other people
during Gantt meetings, as you would find if you look at the logs.

Climate raised the need of having a external scheduler for planning
purposes during last design Summit, and I'm personnally following Gantt
efforts as I think it would be worth contributing to it for our purposes.
That said, I'm also been surprised that people within Gantt meetings raised
the point of using Climate for scheduling decisions (see also threads about
it with Solver Scheduler, for instance).

So, when seeing some areas of mutual work in between Gantt and Climate, I
can't say more. That said, albeit I'm thinking there could be some tight
interactions between those 2 projects, they both stand by their own and
address different needs : Gantt for what and Climate for when, as Dina
said.

Gantt is still in the early phase for incubation, still needing some Nova
changes before standing by itself so I don't think they can't apply yet for
a Program. That said, that's maybe a good opportunity to discuss about this
Program, in particular about its mission statement, but again, it sounds
like a good fit.

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


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 6:27 AM, Anne Gentle a...@openstack.org wrote:


 On Mon, Mar 3, 2014 at 8:20 AM, Joe Gordon joe.gord...@gmail.com wrote:

 On Mon, Mar 3, 2014 at 4:42 AM, Sylvain Bauza sylvain.ba...@bull.net
 wrote:
  Hi Joe,
 
  Thanks for your reply, I'll try to further explain.
 
 
  Le 03/03/2014 05:33, Joe Gordon a écrit :
 
  On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com
  wrote:
 
  Hello, folks!
 
  I'd like to request Climate project review for incubation. Here is
  official
  incubation application:
 
  https://wiki.openstack.org/wiki/Climate/Incubation
 
  I'm unclear on what Climate is trying to solve. I read the 'Detailed
  Description' from the link above, and it states Climate is trying to
  solve two uses cases (and the more generalized cases of those).
 
  1) Compute host reservation (when user with admin privileges can
  reserve hardware resources that are dedicated to the sole use of a
  tenant)
  2) Virtual machine (instance) reservation (when user may ask
  reservation service to provide him working VM not necessary now, but
  also in the future)
 
  Climate is born from the idea of dedicating compute resources to a
  single
  tenant or user for a certain amount of time, which was not yet
  implemented
  in Nova: how as an user, can I ask Nova for one compute host with
  certain
  specs to be exclusively allocated to my needs, starting in 2 days and
  being
  freed in 5 days ?
 
  Albeit the exclusive resource lock can be managed on the Nova side,
  there is
  currently no possibilities to ensure resource planner.
 
  Of course, and that's why we think Climate can also stand by its own
  Program, resource reservation can be seen on a more general way : what
  about
  reserving an Heat stack with its volume and network nested resources ?
 
 
  You want to support being able to reserve an instance in the future.
  As a cloud operator how do I take advantage of that information? As a
  cloud consumer, what is the benefit? Today OpenStack supports both
  uses cases, except it can't request an Instance for the future.
 
 
  Again, that's not only reserving an instance, but rather a complex mix
  of
  resources. At the moment, we do provide way to reserve virtual instances
  by
  shelving/unshelving them at the lease start, but we also give
  possibility to
  provide dedicated compute hosts. Considering it, the logic of resource
  allocation and scheduling (take the word as resource planner, in order
  not
  to confuse with Nova's scheduler concerns) and capacity planning is too
  big
  to fail under the Compute's umbrella, as it has been agreed within the
  Summit talks and periodical threads.

 Capacity planning not falling under Compute's umbrella is news to me,
 are you referring to Gantt and scheduling in general? Perhaps I don't
 fully understand the full extent of what 'capacity planning' actually
 is.

 
  From the user standpoint, there are multiple ways to integrate with
  Climate
  in order to get Capacity Planning capabilities. As you perhaps noticed,
  the
  workflow for reserving resources is different from one plugin to
  another.
  Either we say the user has to explicitly request for dedicated resources
  (using Climate CLI, see dedicate compute hosts allocation), or we
  implicitly
  integrate resource allocation from the Nova API (see virtual instance
  API
  hook).

 I don't see how Climate reserves resources is relevant to the user.

 
  We truly accept our current implementation as a first prototype, where
  scheduling decisions can be improved (possibly thanks to some tight
  integration with a future external Scheduler aaS, hello Gantt), where
  also
  resource isolation and preemption must also be integrated with
  subprojects
  (we're currently seeing how to provision Cinder volumes and Neutron
  routers
  and nets), but anyway we still think there is a (IMHO big) room for
  resource
  and capacity management on its own project.
 
  Hoping it's clearer now,

 Unfortunately that doesn't clarify things for me.

 From the user's point of view what is the benefit from making a
 reservation in the future? Versus what Nova supports today, asking for
 an instance in the present.

 Same thing from the operator's perspective,  what is the benefit of
 taking reservations for the future?

 This whole model is unclear to me because as far as I can tell no
 other clouds out there support this model, so I have nothing to
 compare it to.


 Hi Joe,
 I think it's meant to save consumers money by pricing instances based on
 today's prices.

 https://aws.amazon.com/ec2/purchasing-options/reserved-instances/


The reserved concept in Amazon, is very different then the one
proposed here. The amazon concept doesn't support saying I will need
an instance in 3 days, this is trying to support that use case.
Furthermore  I am not sure how the climate proposal would allow a
cloud provider to offer a cheaper offering.


 Anne


  -Sylvain
 
 
  

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Dina Belova
Joe, as said, Amazon reservation is not like implemented in Climate - and
really we had different original use cases to have the same result. Amazon
instances reservations do not guarantee that instance will be provided to
user, as in Climate we started implemented reservations possibilities with
this guarantee (due to original use cases). That's why we're mostly
speaking about time-based resource management now, not billing purposes.

Lease creation request now contains the following steps: create lease -
start lease - end lease
Also there are user notifications, but they are connected with lease
start/end events, so that's not some separated stuff now.

Although, if we'll implement one more second step like 'allocate resources'
- that will allow us to have reservations with no guarantees, and that will
make Climate possibilities containing Amazon use case.

Thanks


On Mon, Mar 3, 2014 at 9:04 PM, Joe Gordon joe.gord...@gmail.com wrote:

 On Mon, Mar 3, 2014 at 6:27 AM, Anne Gentle a...@openstack.org wrote:
 
 
  On Mon, Mar 3, 2014 at 8:20 AM, Joe Gordon joe.gord...@gmail.com
 wrote:
 
  On Mon, Mar 3, 2014 at 4:42 AM, Sylvain Bauza sylvain.ba...@bull.net
  wrote:
   Hi Joe,
  
   Thanks for your reply, I'll try to further explain.
  
  
   Le 03/03/2014 05:33, Joe Gordon a écrit :
  
   On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com
   wrote:
  
   Hello, folks!
  
   I'd like to request Climate project review for incubation. Here is
   official
   incubation application:
  
   https://wiki.openstack.org/wiki/Climate/Incubation
  
   I'm unclear on what Climate is trying to solve. I read the 'Detailed
   Description' from the link above, and it states Climate is trying to
   solve two uses cases (and the more generalized cases of those).
  
   1) Compute host reservation (when user with admin privileges can
   reserve hardware resources that are dedicated to the sole use of a
   tenant)
   2) Virtual machine (instance) reservation (when user may ask
   reservation service to provide him working VM not necessary now, but
   also in the future)
  
   Climate is born from the idea of dedicating compute resources to a
   single
   tenant or user for a certain amount of time, which was not yet
   implemented
   in Nova: how as an user, can I ask Nova for one compute host with
   certain
   specs to be exclusively allocated to my needs, starting in 2 days and
   being
   freed in 5 days ?
  
   Albeit the exclusive resource lock can be managed on the Nova side,
   there is
   currently no possibilities to ensure resource planner.
  
   Of course, and that's why we think Climate can also stand by its own
   Program, resource reservation can be seen on a more general way : what
   about
   reserving an Heat stack with its volume and network nested resources ?
  
  
   You want to support being able to reserve an instance in the future.
   As a cloud operator how do I take advantage of that information? As a
   cloud consumer, what is the benefit? Today OpenStack supports both
   uses cases, except it can't request an Instance for the future.
  
  
   Again, that's not only reserving an instance, but rather a complex mix
   of
   resources. At the moment, we do provide way to reserve virtual
 instances
   by
   shelving/unshelving them at the lease start, but we also give
   possibility to
   provide dedicated compute hosts. Considering it, the logic of resource
   allocation and scheduling (take the word as resource planner, in order
   not
   to confuse with Nova's scheduler concerns) and capacity planning is
 too
   big
   to fail under the Compute's umbrella, as it has been agreed within the
   Summit talks and periodical threads.
 
  Capacity planning not falling under Compute's umbrella is news to me,
  are you referring to Gantt and scheduling in general? Perhaps I don't
  fully understand the full extent of what 'capacity planning' actually
  is.
 
  
   From the user standpoint, there are multiple ways to integrate with
   Climate
   in order to get Capacity Planning capabilities. As you perhaps
 noticed,
   the
   workflow for reserving resources is different from one plugin to
   another.
   Either we say the user has to explicitly request for dedicated
 resources
   (using Climate CLI, see dedicate compute hosts allocation), or we
   implicitly
   integrate resource allocation from the Nova API (see virtual instance
   API
   hook).
 
  I don't see how Climate reserves resources is relevant to the user.
 
  
   We truly accept our current implementation as a first prototype, where
   scheduling decisions can be improved (possibly thanks to some tight
   integration with a future external Scheduler aaS, hello Gantt), where
   also
   resource isolation and preemption must also be integrated with
   subprojects
   (we're currently seeing how to provision Cinder volumes and Neutron
   routers
   and nets), but anyway we still think there is a (IMHO big) room for
   resource
   and 

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 8:00 AM, Dina Belova dbel...@mirantis.com wrote:
 Capacity planning not falling under Compute's umbrella is news to me,

 are you referring to Gantt and scheduling in general? Perhaps I don't

 fully understand the full extent of what 'capacity planning' actually

 is.


 We intend that 'capacity' means not only 'compute capacity', but any kind of
 resources capacity - we may plan not only compute resources usage, but also
 storage, etc. Gantt is about 'where to schedule' potentially any kind of
 resources, Climate is about 'when'. Term 'scheduling' in Climate sphere has
 no reference to common OS scheduling process, here we mean something like
 'timetable', that's much closer. Capacity planning here is ability to
 predict the fact of resource usage in future (for cloud providers), and
 provide these resources to users.


 I don't see how Climate reserves resources is relevant to the user.


 From the user's point of view what is the benefit from making a

 reservation in the future? Versus what Nova supports today, asking for

 an instance in the present.


 Same thing from the operator's perspective,  what is the benefit of

 taking reservations for the future?


 Joe, I'll describe two original use cases, that were the reason for Climate
 to be created. I suppose it might give idea of what we were thinking about
 while its implementation.


 

 Host reservation use case

 


 This use case was born to fit XLcloud (http://www.xlcloud.org) project.
 Needs of this project require usage of whole hosts compute capacities
 without any other VMs running on them - and to create some kind of hosts
 usage timetable. The last thing is needed to implement energy efficiency
 for OS cloud, where these High Performance Cloud Computing jobs will be
 running on. That will allow to keep unused hosts in 'shut down' state and to
 wake them up where they'll be really needed.


 Steps for this use case may be described in the following way:


 1) admin user marks some hosts from common pool as 'reservable' - these
 hosts then will be given to user who wants to use their whole capacity and
 will be 'isolated' to the solely use of Climate until they are freed

 2) if user wants to use some of these hosts, he/she asks Climate to provide
 some amount of these hosts with any wanted specs - like amount of RAM, CPU,
 etc.

 3) Climate remembers that these hosts will be used in some time for some
 amount of time

 4) when lease (contract between user and Climate) will start, user may use
 these hosts to run VMs on them


 In future we'll implement energy efficiency, that will completely fit this
 first use case.

This sounds like something that belongs in nova, Phil Day has an
elegant solution for this:
https://blueprints.launchpad.net/nova/+spec/whole-host-allocation



 ===

 VM reservation use case

 ===


 This use case was created as a result of automated virtual resource
 allocation/reclaiming idea for dev clouds.


 If company has dev cloud for its developers, it'll be great if there won't
 be created and forgotten VMs running on - for this, process of VMs
 booting/shutting them down should be automated and processed by some
 independent service.


Heat?

I spin up dev instances all the time and have never had this problem
in part because if I forget my quota will remind me.


 Here was born idea of virtual reservations.


 Some usual workflow for this use case looks like:


 1) user knows that in future he'll need lab with some VMs in it and he asks
 Climate to reserve them (now we've implemented one VM reservation)


Why does he need to reserve them in the future? When he wants an
instance can't he just get one? As Sean said, what happens if someone
has no free quota when the reservation kicks in?

 2) Climate remembers that this VM will be used in some time for some amount
 of time (now we've implemented plugins that keeps these VMs in shelved state
 while they are not used)

 3) when lease starts, Climate wakes this VM and it's completely ready to be
 used

How is this different from 'nova boot?' When nova boot finishes the VM
is completely ready to be used



 As we've discussed with Cafe project folks
 (https://wiki.openstack.org/wiki/Cafe) - this ability will be helpful for
 academic usage, where students also need to have automatically
 allocated/reclaimed virtual resources.

Cafe sounds a bit like more sophisticated quotas, quotas that work on
overall usage not just current usage.



 =


 As said, these two use cases were original ones, and now we're thinking
 about more general view - any type of physical/virtual resource to be
 managed in time. For example, we're planning to implement complex virtual
 resource reservations (like Heat stacks), that will allow
 developers/students to have working small OS clouds by the time they'll need
 them.

I can do that today, I spin a up a devstack VM in the 

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 9:22 AM, Dina Belova dbel...@mirantis.com wrote:
 Joe, as said, Amazon reservation is not like implemented in Climate - and
 really we had different original use cases to have the same result. Amazon
 instances reservations do not guarantee that instance will be provided to
 user, as in Climate we started implemented reservations possibilities with
 this guarantee (due to original use cases). That's why we're mostly speaking
 about time-based resource management now, not billing purposes.


Reliable
Reserved Instances provide a capacity reservation so that you can have
confidence in your ability to launch the number of instances you have
reserved when you need them.
https://aws.amazon.com/ec2/purchasing-options/reserved-instances/

That sounds like a guarantee to me.

How does climate enforce a guarantee while freeing the physical
resource for something else to use? Otherwise you are consuming a
resource without charging anyone (assuming you don't charge anything
for a reservation for a lease that hasn't started.


 Lease creation request now contains the following steps: create lease -
 start lease - end lease
 Also there are user notifications, but they are connected with lease
 start/end events, so that's not some separated stuff now.

 Although, if we'll implement one more second step like 'allocate resources'
 - that will allow us to have reservations with no guarantees, and that will
 make Climate possibilities containing Amazon use case.

 Thanks


 On Mon, Mar 3, 2014 at 9:04 PM, Joe Gordon joe.gord...@gmail.com wrote:

 On Mon, Mar 3, 2014 at 6:27 AM, Anne Gentle a...@openstack.org wrote:
 
 
  On Mon, Mar 3, 2014 at 8:20 AM, Joe Gordon joe.gord...@gmail.com
  wrote:
 
  On Mon, Mar 3, 2014 at 4:42 AM, Sylvain Bauza sylvain.ba...@bull.net
  wrote:
   Hi Joe,
  
   Thanks for your reply, I'll try to further explain.
  
  
   Le 03/03/2014 05:33, Joe Gordon a écrit :
  
   On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com
   wrote:
  
   Hello, folks!
  
   I'd like to request Climate project review for incubation. Here is
   official
   incubation application:
  
   https://wiki.openstack.org/wiki/Climate/Incubation
  
   I'm unclear on what Climate is trying to solve. I read the 'Detailed
   Description' from the link above, and it states Climate is trying to
   solve two uses cases (and the more generalized cases of those).
  
   1) Compute host reservation (when user with admin privileges can
   reserve hardware resources that are dedicated to the sole use of a
   tenant)
   2) Virtual machine (instance) reservation (when user may ask
   reservation service to provide him working VM not necessary now, but
   also in the future)
  
   Climate is born from the idea of dedicating compute resources to a
   single
   tenant or user for a certain amount of time, which was not yet
   implemented
   in Nova: how as an user, can I ask Nova for one compute host with
   certain
   specs to be exclusively allocated to my needs, starting in 2 days and
   being
   freed in 5 days ?
  
   Albeit the exclusive resource lock can be managed on the Nova side,
   there is
   currently no possibilities to ensure resource planner.
  
   Of course, and that's why we think Climate can also stand by its own
   Program, resource reservation can be seen on a more general way :
   what
   about
   reserving an Heat stack with its volume and network nested resources
   ?
  
  
   You want to support being able to reserve an instance in the future.
   As a cloud operator how do I take advantage of that information? As
   a
   cloud consumer, what is the benefit? Today OpenStack supports both
   uses cases, except it can't request an Instance for the future.
  
  
   Again, that's not only reserving an instance, but rather a complex
   mix
   of
   resources. At the moment, we do provide way to reserve virtual
   instances
   by
   shelving/unshelving them at the lease start, but we also give
   possibility to
   provide dedicated compute hosts. Considering it, the logic of
   resource
   allocation and scheduling (take the word as resource planner, in
   order
   not
   to confuse with Nova's scheduler concerns) and capacity planning is
   too
   big
   to fail under the Compute's umbrella, as it has been agreed within
   the
   Summit talks and periodical threads.
 
  Capacity planning not falling under Compute's umbrella is news to me,
  are you referring to Gantt and scheduling in general? Perhaps I don't
  fully understand the full extent of what 'capacity planning' actually
  is.
 
  
   From the user standpoint, there are multiple ways to integrate with
   Climate
   in order to get Capacity Planning capabilities. As you perhaps
   noticed,
   the
   workflow for reserving resources is different from one plugin to
   another.
   Either we say the user has to explicitly request for dedicated
   resources
   (using Climate CLI, see dedicate compute hosts allocation), or we
   

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Zane Bitter

On 03/03/14 12:32, Joe Gordon wrote:

- if you're reserving resources far before you'll need them, it'll be
cheaper

Why? How does this save a provider money?


If an operator has zero information about the level of future demand, 
they will have to spend a *lot* of money on excess capacity or risk 
running out. If an operator has perfect information about future demand, 
then they need spend no money on excess capacity. Everywhere in between, 
the amount of extra money they need to spend is a non-increasing 
function of the amount of information they have. QED.


cheers,
Zane.

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


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 10:01 AM, Zane Bitter zbit...@redhat.com wrote:
 On 03/03/14 12:32, Joe Gordon wrote:

 - if you're reserving resources far before you'll need them, it'll be
 cheaper

 Why? How does this save a provider money?


 If an operator has zero information about the level of future demand, they
 will have to spend a *lot* of money on excess capacity or risk running out.
 If an operator has perfect information about future demand, then they need
 spend no money on excess capacity. Everywhere in between, the amount of
 extra money they need to spend is a non-increasing function of the amount of
 information they have. QED.

Sure. if an operator has perfect information about future demand they
won't need any excess capacity. But assuming you know some future
demand, how do you figure out how much of the future demand you know?
But sure I can see this as a potential money saver, but unclear by how
much. The Amazon model for this is a reservation is at minimum a year,
I am not sure how useful short term reservations would be in
determining future demand.


 cheers,
 Zane.


 ___
 OpenStack-dev mailing list
 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


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Dina Belova
Oh, Sylvain, you were first :)

I have just small things to add here: Joe, resource usage planning is great
feature, that, I believe, is not supported in OS services now. Resource
planning will allow cloud providers to react on future picks of loads,
because they *will know* about that. As Zane said, otherwise you need to
spend much money keeping much extra capacity in common pool, or have real
risks to run out of resources.

Everything else was described by Sylvain, I guess :)

-- Dina


On Mon, Mar 3, 2014 at 10:13 PM, Sylvain Bauza sylvain.ba...@gmail.comwrote:

 Hi Joe,


 2014-03-03 18:32 GMT+01:00 Joe Gordon joe.gord...@gmail.com:



 This sounds like something that belongs in nova, Phil Day has an
 elegant solution for this:
 https://blueprints.launchpad.net/nova/+spec/whole-host-allocation


 This blueprint has already been addressed by Climate team, and we
 discussed about this with Phil directly.
 This blueprint has been recently abandoned by its author and Phil is
 trying to focus on dedicated instances instead.

 As we identified this blueprint as non-supported yet, we implemented its
 logic directly within Climate. That said, don't confuse 2 different things
 :
  - the locking process for isolating one compute node to a single tenant :
 that should be done in Nova
  - the timetable for scheduling hosts and electing which ones are
 appropriate : that must be done in Climate (and in the future, should use
 Gantt as external scheduler for electing from a pool of available hosts on
 that timeframe)

 Don't let me say that the resource isolation must be done within Climate :
 I'm definitely conviced that this logic should be done on the resource
 project level (Nova, Cinder, Neutron) and Climate should use their
 respective CLI for asking isolation.
 The overall layer for defining what will available when, and what are the
 dependencies in between projects, still relies on a shared service, which
 is Climate.



 Heat?

 I spin up dev instances all the time and have never had this problem
 in part because if I forget my quota will remind me.


 How do you ensure that you won't run out of resources when firing up an
 instance in 3 days ? How can you guaranttee that in the next couple of
 days, you would be able to create a volume with 50GB of space ?

 I'm not saying that the current Climate implementation does all the work.
 I'm just saying it's duty of Climate to look at Quality of Service aspects
 for resource allocation (or say SLA if you prefer)



 Why does he need to reserve them in the future? When he wants an
 instance can't he just get one? As Sean said, what happens if someone
 has no free quota when the reservation kicks in?


 That's the role of the resource plugin to manage capacity and ensure
 everything can be charged correctly.
 Regarding the virtual instances plugin logic, that's something that can be
 improved, but consider the thing that the instance is already created but
 not spawned when the lease is created, so that the quota is decreased from
 one.

 With the compute hosts plugin, we manage availability thanks to a resource
 planner, based on a fixed set of resources (enrolled compute hosts within
 Climate), so we can almost guaranttee this (minus the hosts outages we
 could get, of course)




 How is this different from 'nova boot?' When nova boot finishes the VM
 is completely ready to be used



 Nova boot directly creates the VM when the command is issued, while the
 proposal here is to defer the booting itself only at the lease start (which
 can happen far later than when the lease is created)



  - if you're reserving resources far before you'll need them, it'll be
  cheaper

 Why? How does this save a provider money?


 From a cloud operator point of view, don't you think it's way preferrable
 to get feedback for future capacity needs ?
 Don't you feel it would be interesting for him to propose a business model
 like this ?





 Reserved Instances provide a capacity reservation so that you can
 have confidence in your ability to launch the number of instances you
 have reserved when you need them.
 https://aws.amazon.com/ec2/purchasing-options/reserved-instances/

 Amazon does guarantee the resource will be available.  Amazon can
 guarantee the resource because they can terminate spot instances at
 will, but OpenStack doesn't have this concept today.


 That's why we think there is a need for guarantteing resource allocation
 within Openstack.
 Spot instances can be envisaged thanks to Climate as a formal contract for
 reserving resources that can be freed if needed.

 -Sylvain

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




-- 

Best regards,

Dina Belova

Software Engineer

Mirantis Inc.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Sean Dague
On 03/03/2014 01:35 PM, Joe Gordon wrote:
 On Mon, Mar 3, 2014 at 10:01 AM, Zane Bitter zbit...@redhat.com wrote:
 On 03/03/14 12:32, Joe Gordon wrote:

 - if you're reserving resources far before you'll need them, it'll be
 cheaper

 Why? How does this save a provider money?


 If an operator has zero information about the level of future demand, they
 will have to spend a *lot* of money on excess capacity or risk running out.
 If an operator has perfect information about future demand, then they need
 spend no money on excess capacity. Everywhere in between, the amount of
 extra money they need to spend is a non-increasing function of the amount of
 information they have. QED.
 
 Sure. if an operator has perfect information about future demand they
 won't need any excess capacity. But assuming you know some future
 demand, how do you figure out how much of the future demand you know?
 But sure I can see this as a potential money saver, but unclear by how
 much. The Amazon model for this is a reservation is at minimum a year,
 I am not sure how useful short term reservations would be in
 determining future demand.

There are other useful things with reservations though. In a private
context the classic one is running number for close of business. Or
software team that's working towards a release might want to preallocate
resources for longer scale runs during a particular week.

Reservation can really be about global policy giving some tenants more
priority in getting resources than others (because you pre-allocate them).

I also know that with a lot of the HPC teams using OpenStack, this is a
fundamental part of scheduling. Not just the when, but the how long.
Having systems automatically get reaped after a certain amount of time
is something they very much want.

So I think the general idea have merrit. I just think we need to make
sure it integrates well with the rest of OpenStack, which I believe
means strong coupling to the scheduler.

-Sean

-- 
Sean Dague
Samsung Research America
s...@dague.net / sean.da...@samsung.com
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 10:13 AM, Sylvain Bauza sylvain.ba...@gmail.com wrote:
 Hi Joe,


 2014-03-03 18:32 GMT+01:00 Joe Gordon joe.gord...@gmail.com:



 This sounds like something that belongs in nova, Phil Day has an
 elegant solution for this:
 https://blueprints.launchpad.net/nova/+spec/whole-host-allocation


 This blueprint has already been addressed by Climate team, and we discussed
 about this with Phil directly.
 This blueprint has been recently abandoned by its author and Phil is trying
 to focus on dedicated instances instead.

 As we identified this blueprint as non-supported yet, we implemented its
 logic directly within Climate. That said, don't confuse 2 different things :
  - the locking process for isolating one compute node to a single tenant :
 that should be done in Nova
  - the timetable for scheduling hosts and electing which ones are
 appropriate : that must be done in Climate (and in the future, should use
 Gantt as external scheduler for electing from a pool of available hosts on
 that timeframe)

 Don't let me say that the resource isolation must be done within Climate :
 I'm definitely conviced that this logic should be done on the resource
 project level (Nova, Cinder, Neutron) and Climate should use their
 respective CLI for asking isolation.
 The overall layer for defining what will available when, and what are the
 dependencies in between projects, still relies on a shared service, which is
 Climate.



 Heat?

 I spin up dev instances all the time and have never had this problem
 in part because if I forget my quota will remind me.


 How do you ensure that you won't run out of resources when firing up an
 instance in 3 days ? How can you guaranttee that in the next couple of days,
 you would be able to create a volume with 50GB of space ?

I have access to 2 public clouds that both would be very embarrassed
if they ran out of capacity, so they make sure that doesn't happen.


 I'm not saying that the current Climate implementation does all the work.
 I'm just saying it's duty of Climate to look at Quality of Service aspects
 for resource allocation (or say SLA if you prefer)



 Why does he need to reserve them in the future? When he wants an
 instance can't he just get one? As Sean said, what happens if someone
 has no free quota when the reservation kicks in?


 That's the role of the resource plugin to manage capacity and ensure
 everything can be charged correctly.
 Regarding the virtual instances plugin logic, that's something that can be
 improved, but consider the thing that the instance is already created but
 not spawned when the lease is created, so that the quota is decreased from
 one.

 With the compute hosts plugin, we manage availability thanks to a resource
 planner, based on a fixed set of resources (enrolled compute hosts within
 Climate), so we can almost guaranttee this (minus the hosts outages we could
 get, of course)

I don't follow, how does climate make these guarantees?





 How is this different from 'nova boot?' When nova boot finishes the VM
 is completely ready to be used



 Nova boot directly creates the VM when the command is issued, while the
 proposal here is to defer the booting itself only at the lease start (which
 can happen far later than when the lease is created)

Why can't I just run 'nova boot' when I want the lease to start.




  - if you're reserving resources far before you'll need them, it'll be
  cheaper

 Why? How does this save a provider money?


 From a cloud operator point of view, don't you think it's way preferrable to
 get feedback for future capacity needs ?
 Don't you feel it would be interesting for him to propose a business model
 like this ?


Not really, the amazon model, where a reservation is long term makes
sense, but I don't see how short term reservations would help cloud
operators.






 Reserved Instances provide a capacity reservation so that you can
 have confidence in your ability to launch the number of instances you
 have reserved when you need them.
 https://aws.amazon.com/ec2/purchasing-options/reserved-instances/

 Amazon does guarantee the resource will be available.  Amazon can
 guarantee the resource because they can terminate spot instances at
 will, but OpenStack doesn't have this concept today.


 That's why we think there is a need for guarantteing resource allocation
 within Openstack.
 Spot instances can be envisaged thanks to Climate as a formal contract for
 reserving resources that can be freed if needed.

I like this idea, but something should be in Nova. Not sure how this
concept of spot instances works for other resource such as object or
volume storage.


 -Sylvain

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


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 10:39 AM, Dina Belova dbel...@mirantis.com wrote:
 Oh, Sylvain, you were first :)

 I have just small things to add here: Joe, resource usage planning is great
 feature, that, I believe, is not supported in OS services now. Resource
 planning will allow cloud providers to react on future picks of loads,
 because they *will know* about that. As Zane said, otherwise you need to
 spend much money keeping much extra capacity in common pool, or have real
 risks to run out of resources.

I think OpenStack supports resource planning today, otherwise how
could public clouds do it? You can look at usage trends and make an
educated guess what future usage will be and plan accordingly.

I like amazon's concept of reserved instances, where reservations are
long term (1 to 3 years)
https://aws.amazon.com/ec2/purchasing-options/reserved-instances/

 Everything else was described by Sylvain, I guess :)

 -- Dina


 On Mon, Mar 3, 2014 at 10:13 PM, Sylvain Bauza sylvain.ba...@gmail.com
 wrote:

 Hi Joe,


 2014-03-03 18:32 GMT+01:00 Joe Gordon joe.gord...@gmail.com:



 This sounds like something that belongs in nova, Phil Day has an
 elegant solution for this:
 https://blueprints.launchpad.net/nova/+spec/whole-host-allocation


 This blueprint has already been addressed by Climate team, and we
 discussed about this with Phil directly.
 This blueprint has been recently abandoned by its author and Phil is
 trying to focus on dedicated instances instead.

 As we identified this blueprint as non-supported yet, we implemented its
 logic directly within Climate. That said, don't confuse 2 different things :
  - the locking process for isolating one compute node to a single tenant :
 that should be done in Nova
  - the timetable for scheduling hosts and electing which ones are
 appropriate : that must be done in Climate (and in the future, should use
 Gantt as external scheduler for electing from a pool of available hosts on
 that timeframe)

 Don't let me say that the resource isolation must be done within Climate :
 I'm definitely conviced that this logic should be done on the resource
 project level (Nova, Cinder, Neutron) and Climate should use their
 respective CLI for asking isolation.
 The overall layer for defining what will available when, and what are the
 dependencies in between projects, still relies on a shared service, which is
 Climate.



 Heat?

 I spin up dev instances all the time and have never had this problem
 in part because if I forget my quota will remind me.


 How do you ensure that you won't run out of resources when firing up an
 instance in 3 days ? How can you guaranttee that in the next couple of days,
 you would be able to create a volume with 50GB of space ?

 I'm not saying that the current Climate implementation does all the work.
 I'm just saying it's duty of Climate to look at Quality of Service aspects
 for resource allocation (or say SLA if you prefer)



 Why does he need to reserve them in the future? When he wants an
 instance can't he just get one? As Sean said, what happens if someone
 has no free quota when the reservation kicks in?


 That's the role of the resource plugin to manage capacity and ensure
 everything can be charged correctly.
 Regarding the virtual instances plugin logic, that's something that can be
 improved, but consider the thing that the instance is already created but
 not spawned when the lease is created, so that the quota is decreased from
 one.

 With the compute hosts plugin, we manage availability thanks to a resource
 planner, based on a fixed set of resources (enrolled compute hosts within
 Climate), so we can almost guaranttee this (minus the hosts outages we could
 get, of course)




 How is this different from 'nova boot?' When nova boot finishes the VM
 is completely ready to be used



 Nova boot directly creates the VM when the command is issued, while the
 proposal here is to defer the booting itself only at the lease start (which
 can happen far later than when the lease is created)



  - if you're reserving resources far before you'll need them, it'll be
  cheaper

 Why? How does this save a provider money?


 From a cloud operator point of view, don't you think it's way preferrable
 to get feedback for future capacity needs ?
 Don't you feel it would be interesting for him to propose a business model
 like this ?





 Reserved Instances provide a capacity reservation so that you can
 have confidence in your ability to launch the number of instances you
 have reserved when you need them.
 https://aws.amazon.com/ec2/purchasing-options/reserved-instances/

 Amazon does guarantee the resource will be available.  Amazon can
 guarantee the resource because they can terminate spot instances at
 will, but OpenStack doesn't have this concept today.


 That's why we think there is a need for guarantteing resource allocation
 within Openstack.
 Spot instances can be envisaged thanks to Climate as a formal contract for
 reserving 

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Anne Gentle
On Mon, Mar 3, 2014 at 11:04 AM, Joe Gordon joe.gord...@gmail.com wrote:

 On Mon, Mar 3, 2014 at 6:27 AM, Anne Gentle a...@openstack.org wrote:
 
 
  On Mon, Mar 3, 2014 at 8:20 AM, Joe Gordon joe.gord...@gmail.com
 wrote:
 
  On Mon, Mar 3, 2014 at 4:42 AM, Sylvain Bauza sylvain.ba...@bull.net
  wrote:
   Hi Joe,
  
   Thanks for your reply, I'll try to further explain.
  
  
   Le 03/03/2014 05:33, Joe Gordon a écrit :
  
   On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com
   wrote:
  
   Hello, folks!
  
   I'd like to request Climate project review for incubation. Here is
   official
   incubation application:
  
   https://wiki.openstack.org/wiki/Climate/Incubation
  
   I'm unclear on what Climate is trying to solve. I read the 'Detailed
   Description' from the link above, and it states Climate is trying to
   solve two uses cases (and the more generalized cases of those).
  
   1) Compute host reservation (when user with admin privileges can
   reserve hardware resources that are dedicated to the sole use of a
   tenant)
   2) Virtual machine (instance) reservation (when user may ask
   reservation service to provide him working VM not necessary now, but
   also in the future)
  
   Climate is born from the idea of dedicating compute resources to a
   single
   tenant or user for a certain amount of time, which was not yet
   implemented
   in Nova: how as an user, can I ask Nova for one compute host with
   certain
   specs to be exclusively allocated to my needs, starting in 2 days and
   being
   freed in 5 days ?
  
   Albeit the exclusive resource lock can be managed on the Nova side,
   there is
   currently no possibilities to ensure resource planner.
  
   Of course, and that's why we think Climate can also stand by its own
   Program, resource reservation can be seen on a more general way : what
   about
   reserving an Heat stack with its volume and network nested resources ?
  
  
   You want to support being able to reserve an instance in the future.
   As a cloud operator how do I take advantage of that information? As a
   cloud consumer, what is the benefit? Today OpenStack supports both
   uses cases, except it can't request an Instance for the future.
  
  
   Again, that's not only reserving an instance, but rather a complex mix
   of
   resources. At the moment, we do provide way to reserve virtual
 instances
   by
   shelving/unshelving them at the lease start, but we also give
   possibility to
   provide dedicated compute hosts. Considering it, the logic of resource
   allocation and scheduling (take the word as resource planner, in order
   not
   to confuse with Nova's scheduler concerns) and capacity planning is
 too
   big
   to fail under the Compute's umbrella, as it has been agreed within the
   Summit talks and periodical threads.
 
  Capacity planning not falling under Compute's umbrella is news to me,
  are you referring to Gantt and scheduling in general? Perhaps I don't
  fully understand the full extent of what 'capacity planning' actually
  is.
 
  
   From the user standpoint, there are multiple ways to integrate with
   Climate
   in order to get Capacity Planning capabilities. As you perhaps
 noticed,
   the
   workflow for reserving resources is different from one plugin to
   another.
   Either we say the user has to explicitly request for dedicated
 resources
   (using Climate CLI, see dedicate compute hosts allocation), or we
   implicitly
   integrate resource allocation from the Nova API (see virtual instance
   API
   hook).
 
  I don't see how Climate reserves resources is relevant to the user.
 
  
   We truly accept our current implementation as a first prototype, where
   scheduling decisions can be improved (possibly thanks to some tight
   integration with a future external Scheduler aaS, hello Gantt), where
   also
   resource isolation and preemption must also be integrated with
   subprojects
   (we're currently seeing how to provision Cinder volumes and Neutron
   routers
   and nets), but anyway we still think there is a (IMHO big) room for
   resource
   and capacity management on its own project.
  
   Hoping it's clearer now,
 
  Unfortunately that doesn't clarify things for me.
 
  From the user's point of view what is the benefit from making a
  reservation in the future? Versus what Nova supports today, asking for
  an instance in the present.
 
  Same thing from the operator's perspective,  what is the benefit of
  taking reservations for the future?
 
  This whole model is unclear to me because as far as I can tell no
  other clouds out there support this model, so I have nothing to
  compare it to.
 
 
  Hi Joe,
  I think it's meant to save consumers money by pricing instances based on
  today's prices.
 
  https://aws.amazon.com/ec2/purchasing-options/reserved-instances/


 The reserved concept in Amazon, is very different then the one
 proposed here. The amazon concept doesn't support saying I will need
 an 

Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
On Mon, Mar 3, 2014 at 10:43 AM, Sean Dague s...@dague.net wrote:
 On 03/03/2014 01:35 PM, Joe Gordon wrote:
 On Mon, Mar 3, 2014 at 10:01 AM, Zane Bitter zbit...@redhat.com wrote:
 On 03/03/14 12:32, Joe Gordon wrote:

 - if you're reserving resources far before you'll need them, it'll be
 cheaper

 Why? How does this save a provider money?


 If an operator has zero information about the level of future demand, they
 will have to spend a *lot* of money on excess capacity or risk running out.
 If an operator has perfect information about future demand, then they need
 spend no money on excess capacity. Everywhere in between, the amount of
 extra money they need to spend is a non-increasing function of the amount of
 information they have. QED.

 Sure. if an operator has perfect information about future demand they
 won't need any excess capacity. But assuming you know some future
 demand, how do you figure out how much of the future demand you know?
 But sure I can see this as a potential money saver, but unclear by how
 much. The Amazon model for this is a reservation is at minimum a year,
 I am not sure how useful short term reservations would be in
 determining future demand.

 There are other useful things with reservations though. In a private
 context the classic one is running number for close of business. Or
 software team that's working towards a release might want to preallocate
 resources for longer scale runs during a particular week.

Why can't they pre-allocate now?


 Reservation can really be about global policy giving some tenants more
 priority in getting resources than others (because you pre-allocate them).

 I also know that with a lot of the HPC teams using OpenStack, this is a
 fundamental part of scheduling. Not just the when, but the how long.
 Having systems automatically get reaped after a certain amount of time
 is something they very much want.

Agreed, I think this should either be part of Nova or Heat directly.


 So I think the general idea have merrit. I just think we need to make
 sure it integrates well with the rest of OpenStack, which I believe
 means strong coupling to the scheduler.

 -Sean

 --
 Sean Dague
 Samsung Research America
 s...@dague.net / sean.da...@samsung.com
 http://dague.net


 ___
 OpenStack-dev mailing list
 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


Re: [openstack-dev] Climate Incubation Application

2014-03-03 Thread Joe Gordon
Overall I think Climate is trying to address some very real use cases,
but its unclear to me where these solutions should live or how to
solve them. Furthermore I understand what a reservation means for nova
but I am not sure what it means in Cinder, Swift etc.

To give a few examples:
* I think nova should natively support booting an instance for a
limited amount of time. I would use this all the time to boot up
devstack instances (boot devstack instance for 5 hours)
* Reserved and Spot Instances. I like Amazon's concept of reserved and
spot instances it would be cool if we could support something similar
* Boot an instances for 4 hours every morning. This sounds like
something that 
https://wiki.openstack.org/wiki/Mistral#Tasks_Scheduling_-_Cloud_Cron
can handle.
* Give someone 100 CPU hours per time period of quota. Support quotas
by overall usage not current usage. This sounds like something that
each service should support natively.
* Reserved Volume: Not sure how that works.
* Virtual Private Cloud.  It would be great to see OpenStack support a
hardware isolated virtual private cloud, but not sure what the best
way to implement that is.
* Capacity Planning. Sure, but it would be nice to see a more fleshed
out story for it.


It would be nice to see more of these use cases discussed.


On Mon, Mar 3, 2014 at 11:16 AM, Joe Gordon joe.gord...@gmail.com wrote:
 On Mon, Mar 3, 2014 at 10:43 AM, Sean Dague s...@dague.net wrote:
 On 03/03/2014 01:35 PM, Joe Gordon wrote:
 On Mon, Mar 3, 2014 at 10:01 AM, Zane Bitter zbit...@redhat.com wrote:
 On 03/03/14 12:32, Joe Gordon wrote:

 - if you're reserving resources far before you'll need them, it'll be
 cheaper

 Why? How does this save a provider money?


 If an operator has zero information about the level of future demand, they
 will have to spend a *lot* of money on excess capacity or risk running out.
 If an operator has perfect information about future demand, then they need
 spend no money on excess capacity. Everywhere in between, the amount of
 extra money they need to spend is a non-increasing function of the amount 
 of
 information they have. QED.

 Sure. if an operator has perfect information about future demand they
 won't need any excess capacity. But assuming you know some future
 demand, how do you figure out how much of the future demand you know?
 But sure I can see this as a potential money saver, but unclear by how
 much. The Amazon model for this is a reservation is at minimum a year,
 I am not sure how useful short term reservations would be in
 determining future demand.

 There are other useful things with reservations though. In a private
 context the classic one is running number for close of business. Or
 software team that's working towards a release might want to preallocate
 resources for longer scale runs during a particular week.

 Why can't they pre-allocate now?


 Reservation can really be about global policy giving some tenants more
 priority in getting resources than others (because you pre-allocate them).

 I also know that with a lot of the HPC teams using OpenStack, this is a
 fundamental part of scheduling. Not just the when, but the how long.
 Having systems automatically get reaped after a certain amount of time
 is something they very much want.

 Agreed, I think this should either be part of Nova or Heat directly.


 So I think the general idea have merrit. I just think we need to make
 sure it integrates well with the rest of OpenStack, which I believe
 means strong coupling to the scheduler.

 -Sean

 --
 Sean Dague
 Samsung Research America
 s...@dague.net / sean.da...@samsung.com
 http://dague.net


 ___
 OpenStack-dev mailing list
 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


Re: [openstack-dev] Climate Incubation Application

2014-03-02 Thread Joe Gordon
On Sun, Mar 2, 2014 at 11:32 AM, Dina Belova dbel...@mirantis.com wrote:
 Hello, folks!

 I'd like to request Climate project review for incubation. Here is official
 incubation application:

 https://wiki.openstack.org/wiki/Climate/Incubation

I'm unclear on what Climate is trying to solve. I read the 'Detailed
Description' from the link above, and it states Climate is trying to
solve two uses cases (and the more generalized cases of those).

1) Compute host reservation (when user with admin privileges can
reserve hardware resources that are dedicated to the sole use of a
tenant)
2) Virtual machine (instance) reservation (when user may ask
reservation service to provide him working VM not necessary now, but
also in the future)

You want to support being able to reserve an instance in the future.
As a cloud operator how do I take advantage of that information? As a
cloud consumer, what is the benefit? Today OpenStack supports both
uses cases, except it can't request an Instance for the future.



 Additionally due to the project scope and the roadmap, we don't see any
 currently existing OpenStack program that fits Climate. So we've prepared
 new program request too:

 https://wiki.openstack.org/wiki/Climate/Program

 TL;DR

 Our team is working on providing OpenStack with resource reservation
 opportunity in time-based manner, including close integration with all other
 OS projects.

 As Climate initiative is targeting to provide not only compute resources
 revervation, but also volumes, network resources, storage nodes reservation
 opportunity, we consider it is not about being a part of some existing
 OpenStack program.

 This initiative needs to become a part of completely new Resource
 Reservation Program, that aims to implement time-based cloud resource
 management.

 Thanks!

 Best regards,

 Dina Belova

 Climate Technical Lead

 Software Engineer

 Mirantis Inc.


 ___
 OpenStack-dev mailing list
 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