Re: [openstack-dev] [Congress] Re: Placement and Scheduling via Policy
Hi all, I've made an analyse a while a go how to use SolverScheduler with a policy engine: https://docs.google.com/document/d/1RfP7jRsw1mXMjd7in72ARjK0fTrsQv1bqolOriIQB2Y Basically there should be a plugin that translates the policy into constraints for solver to solve. This was made using Policy-Based Engine [1], but it works well with Congress. [1] https://blueprints.launchpad.net/nova/+spec/policy-based-scheduler - Mail original - De: Tim Hinrichs thinri...@vmware.com À: ruby krishnaswamy ruby.krishnasw...@orange.com Cc: Prabhakar Kudva ku...@us.ibm.com, openstack-dev openstack-dev@lists.openstack.org, Gokul B Kandiraju go...@us.ibm.com Envoyé: Jeudi 18 Décembre 2014 18:24:59 Objet: Re: [openstack-dev] [Congress] Re: Placement and Scheduling via Policy Hi all, Responses inline. On Dec 16, 2014, at 10:57 PM, ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com wrote: Hi Tim All @Tim: I did not reply to openstack-dev. Do you think we could have an openstack list specific for “congress” to which anybody may subscribe? Sending to openstack-dev is the right thing, as long as we put [Congress] in the subject. Everyone I know sets up filters on openstack-dev so they only get the mail they care about. I think you’re the only one in the group who isn’t subscribed to that list. 1) Enforcement: By this we mean “how will the actions computed by the policy engine be executed by the concerned OpenStack functional module”. In this case, it is better to first work this out for a “simpler” case, e.g. your running example concerning the network/groups. Note: some actions concern only some data base (e.g. insert the user within some group). 2) From Prabhakar’s mail “Enforcement. That is with a large number of constraints in place for placement and scheduling, how does the policy engine communicate and enforce the placement constraints to nova scheduler. “ Nova scheduler (current): It assigns VMs to servers based on the policy set by the administrator (through filters and host aggregates). The administrator also configures a scheduling heuristic (implemented as a driver), for example “round-robin” driver. Then the computed assignment is sent back to the requestor (API server) that interacts with nova-compute to provision the VM. The current nova-scheduler has another function: It updates the allocation status of each compute node on the DB (through another indirection called nova-conductor) So it is correct to re-interpret your statement as follows: - What is the entity with which the policy engine interacts for either proactive or reactive placement management? - How will the output from the policy engine (for example the placement matrix) be communicated back? oProactive: this gives the mapping of VM to host oReactive: this gives the new mapping of running VMs to hosts - How starting from the placement matrix, the correct migration plan will be executed? (for reactive case) 3) Currently openstack does not have “automated management of reactive placement”: Hence if the policy engine is used for reactive placement, then there is a need for another “orchestrator” that can interpret the new proposed placement configuration (mapping of VM to servers) and execute the reconfiguration workflow. 4) So with a policy-based “placement engine” that is integrated with external solvers, then this engine will replace nova-scheduler? Could we converge on this? The notes from Yathiraj say that there is already a policy-based Nova scheduler we can use. I suggest we look into that. It could potentially simplify our problem to the point where we need only figure out how to convert a fragment of the Congress policy language into their policy language. But those of you who are experts in placement will know better. https://github.com/stackforge/nova-solver-schedulerhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stackforge_nova-2Dsolver-2Dschedulerd=AAMGaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7sm
Re: [openstack-dev] [Congress] Re: Placement and Scheduling via Policy
Hi all, Responses inline. On Dec 16, 2014, at 10:57 PM, ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com wrote: Hi Tim All @Tim: I did not reply to openstack-dev. Do you think we could have an openstack list specific for “congress” to which anybody may subscribe? Sending to openstack-dev is the right thing, as long as we put [Congress] in the subject. Everyone I know sets up filters on openstack-dev so they only get the mail they care about. I think you’re the only one in the group who isn’t subscribed to that list. 1) Enforcement: By this we mean “how will the actions computed by the policy engine be executed by the concerned OpenStack functional module”. In this case, it is better to first work this out for a “simpler” case, e.g. your running example concerning the network/groups. Note: some actions concern only some data base (e.g. insert the user within some group). 2) From Prabhakar’s mail “Enforcement. That is with a large number of constraints in place for placement and scheduling, how does the policy engine communicate and enforce the placement constraints to nova scheduler. “ Nova scheduler (current): It assigns VMs to servers based on the policy set by the administrator (through filters and host aggregates). The administrator also configures a scheduling heuristic (implemented as a driver), for example “round-robin” driver. Then the computed assignment is sent back to the requestor (API server) that interacts with nova-compute to provision the VM. The current nova-scheduler has another function: It updates the allocation status of each compute node on the DB (through another indirection called nova-conductor) So it is correct to re-interpret your statement as follows: - What is the entity with which the policy engine interacts for either proactive or reactive placement management? - How will the output from the policy engine (for example the placement matrix) be communicated back? oProactive: this gives the mapping of VM to host oReactive: this gives the new mapping of running VMs to hosts - How starting from the placement matrix, the correct migration plan will be executed? (for reactive case) 3) Currently openstack does not have “automated management of reactive placement”: Hence if the policy engine is used for reactive placement, then there is a need for another “orchestrator” that can interpret the new proposed placement configuration (mapping of VM to servers) and execute the reconfiguration workflow. 4) So with a policy-based “placement engine” that is integrated with external solvers, then this engine will replace nova-scheduler? Could we converge on this? The notes from Yathiraj say that there is already a policy-based Nova scheduler we can use. I suggest we look into that. It could potentially simplify our problem to the point where we need only figure out how to convert a fragment of the Congress policy language into their policy language. But those of you who are experts in placement will know better. https://github.com/stackforge/nova-solver-schedulerhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stackforge_nova-2Dsolver-2Dschedulerd=AAMGaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7sm=gSzCqpS6tRMB8r5xNbeWoNcpobYiFYvOFpo3QBmvm0Ms=mdMcHh7nMTJv8PmY0i8NpQXP9_gpUpI3gxEec6zyt7Ae= Tim Regards Ruby De : Tim Hinrichs [mailto:thinri...@vmware.com] Envoyé : mardi 16 décembre 2014 19:25 À : Prabhakar Kudva Cc : KRISHNASWAMY Ruby IMT/OLPS; Ramki Krishnan (r...@brocade.commailto:r...@brocade.com); Gokul B Kandiraju; openstack-dev Objet : [Congress] Re: Placement and Scheduling via Policy [Adding openstack-dev to this thread. For those of you just joining… We started kicking around ideas for how we might integrate a special-purpose VM placement engine into Congress.] Kudva: responses inline. On Dec 16, 2014, at 6:25 AM, Prabhakar Kudva ku...@us.ibm.commailto:ku...@us.ibm.com wrote: Hi, I am very interested in this. So, it looks like there are two parts to this: 1. Policy analysis when there are a significant mix of logical and builtin predicates (i.e., runtime should identify a solution space when there are arithmetic operators). This will require linear programming/ILP type solvers. There might be a need to have a function in runtime.py that specifically deals with this (Tim?) I think it’s right that we expect there to be a mix of builtins and standard predicates. But what we’re considering here is having the linear solver be treated as if it were a domain-specific policy engine. So that solver wouldn’t be embedded into the runtime.py necessarily. Rather, we’d
Re: [openstack-dev] [Congress] Re: Placement and Scheduling via Policy
Hi Yathi, Thanks for the reminder about the nova solver scheduler. It’s definitely a cool idea to look at integrating the two systems! Ramki is definitely involved in this discussion. We thought placement was a good first example of a broad class of problems that a linear solver could help address, esp. in the NFV context. I like the idea of integrating Congress and the Nova solver scheduler and then generalizing what we learned to handle other kinds of optimization problems. So that’s what I’m thinking long term. Tim On Dec 16, 2014, at 11:28 AM, Yathiraj Udupi (yudupi) yud...@cisco.commailto:yud...@cisco.com wrote: To add to what I mentioned below… We from the Solver Scheduler team are a small team here at Cisco, trying to drive this project and slowly adding more complex use cases for scheduling and policy–driven placements.We would really love to have some real contributions from everyone in the community and build this the right way. If it may interest – some interesting scheduler use cases are here based on one of our community meetings in IRC - https://etherpad.openstack.org/p/SchedulerUseCases This could apply to Congress driving some of this too. I am leading the effort for the Solver Scheduler project ( https://github.com/stackforge/nova-solver-schedulerhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stackforge_nova-2Dsolver-2Dschedulerd=AAMGaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7sm=gSzCqpS6tRMB8r5xNbeWoNcpobYiFYvOFpo3QBmvm0Ms=mdMcHh7nMTJv8PmY0i8NpQXP9_gpUpI3gxEec6zyt7Ae= ) , and if any of you are willing to contribute code, API, benchmarks, and also work on integration, my team and I can help you guide through this. We would be following the same processes under Stackforge at the moment. Thanks, Yathi. On 12/16/14, 11:14 AM, Yathiraj Udupi (yudupi) yud...@cisco.commailto:yud...@cisco.com wrote: Tim, I read the conversation thread below and this got me interested as it relates to our discussion we had in the Policy Summit (mid cycle meet up) held in Palo Alto a few months ago. This relates to our project – Nova Solver Scheduler, which I had talked about at the Policy summit. Please see this - https://github.com/stackforge/nova-solver-schedulerhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stackforge_nova-2Dsolver-2Dschedulerd=AAMGaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7sm=gSzCqpS6tRMB8r5xNbeWoNcpobYiFYvOFpo3QBmvm0Ms=mdMcHh7nMTJv8PmY0i8NpQXP9_gpUpI3gxEec6zyt7Ae= We already have a working constraints-based solver framework/engine that handles Nova placement, and we are currently active in Stackforge, and aim to get this integrated into the Gantt project (https://blueprints.launchpad.net/nova/+spec/solver-scheduler), based on our discussions in the Nova scheduler sub group. When I saw discussions around using Linear programming (LP) solvers, PULP, etc, I thought of pitching in here to say, we already have demonstrated integrating a LP based solver for Nova compute placements. Please see: https://www.youtube.com/watch?v=7QzDbhkk-BI#t=942https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3D7QzDbhkk-2DBI-23t-3D942d=AAMGaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=B6BWd4kFfgOzAREgThxkmTZKy7dDXE2-eBAmL0PBK7sm=gSzCqpS6tRMB8r5xNbeWoNcpobYiFYvOFpo3QBmvm0Ms=EH2bJNaqNXJoAXzDbMtWkwQaJDUj-IC9QDgie_xdA8Ee= for a demo of this (from our talk at the Atlanta Openstack summit). Based on this email thread, I believe Ramki, one of our early collaborators is driving a similar solution in the NFV ETSI research group. Glad to know our Solver scheduler project is getting interest now. As part of Congress integration, at the policy summit, I had suggested, we can try to translate a Congress policy into our Solver Scheduler’s constraints, and use this to enforce Nova placement policies. We can already demonstrate policy-driven nova placements using our pluggable constraints model. So it should be easy to integrate with Congress. The Nova solver scheduler team would be glad to help with any efforts wrt to trying out a Congress integration for Nova placements. Thanks, Yathi. On 12/16/14, 10:24 AM, Tim Hinrichs thinri...@vmware.commailto:thinri...@vmware.com wrote: [Adding openstack-dev to this thread. For those of you just joining… We started kicking around ideas for how we might integrate a special-purpose VM placement engine into Congress.] Kudva: responses inline. On Dec 16, 2014, at 6:25 AM, Prabhakar Kudva ku...@us.ibm.commailto:ku...@us.ibm.com wrote: Hi, I am very interested in this. So, it looks like there are two parts to this: 1. Policy analysis when there are a significant mix of logical and builtin predicates (i.e., runtime should identify a solution space when there are arithmetic operators). This will require linear programming/ILP type solvers.
[openstack-dev] [Congress] Re: Placement and Scheduling via Policy
[Adding openstack-dev to this thread. For those of you just joining… We started kicking around ideas for how we might integrate a special-purpose VM placement engine into Congress.] Kudva: responses inline. On Dec 16, 2014, at 6:25 AM, Prabhakar Kudva ku...@us.ibm.commailto:ku...@us.ibm.com wrote: Hi, I am very interested in this. So, it looks like there are two parts to this: 1. Policy analysis when there are a significant mix of logical and builtin predicates (i.e., runtime should identify a solution space when there are arithmetic operators). This will require linear programming/ILP type solvers. There might be a need to have a function in runtime.py that specifically deals with this (Tim?) I think it’s right that we expect there to be a mix of builtins and standard predicates. But what we’re considering here is having the linear solver be treated as if it were a domain-specific policy engine. So that solver wouldn’t be embedded into the runtime.py necessarily. Rather, we’d delegate part of the policy to that domain-specific policy engine. 2. Enforcement. That is with a large number of constraints in place for placement and scheduling, how does the policy engine communicate and enforce the placement constraints to nova scheduler. I would imagine that we could delegate either enforcement or monitoring or both. Eventually we want enforcement here, but monitoring could be useful too. And yes you’re asking the right questions. I was trying to break the problem down into pieces in my bullet (1) below. But I think there is significant overlap in the questions we need to answer whether we’re delegating monitoring or enforcement. Both of these require some form of mathematical analysis. Would be happy and interested to discuss more on these lines. Maybe take a look at how I tried to breakdown the problem into separate questions in bullet (1) below and see if that makes sense. Tim Prabhakar From:Tim Hinrichs thinri...@vmware.commailto:thinri...@vmware.com To:ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com Cc:Ramki Krishnan (r...@brocade.commailto:r...@brocade.com) r...@brocade.commailto:r...@brocade.com, Gokul B Kandiraju/Watson/IBM@IBMUS, Prabhakar Kudva/Watson/IBM@IBMUS Date:12/15/2014 12:09 PM Subject:Re: Placement and Scheduling via Policy [Adding Prabhakar and Gokul, in case they are interested.] 1) Ruby, thinking about the solver as taking 1 matrix of [vm, server] and returning another matrix helps me understand what we’re talking about—thanks. I think you’re right that once we move from placement to optimization problems in general we’ll need to figure out how to deal with actions. But if it’s a placement-specific policy engine, then we can build VM-migration into it. It seems to me that the only part left is figuring out how to take an arbitrary policy, carve off the placement-relevant portion, and create the inputs the solver needs to generate that new matrix. Some thoughts... - My gut tells me that the placement-solver should basically say “I enforce policies having to do with the schema nova:location.” This way the Congress policy engine knows to give it policies relevant to nova:location (placement). If we do that, I believe we can carve off the right sub theory. - That leaves taking a Datalog policy where we know nova:location is important and converting it to the input language required by a linear solver. We need to remember that the Datalog rules may reference tables from other services like Neutron, Ceilometer, etc. I think the key will be figuring out what class of policies we can actually do that for reliably. Cool—a concrete question. 2) We can definitely wait until January on this. I’ll be out of touch starting Friday too; it seems we all get back early January, which seems like the right time to resume our discussions. We have some concrete questions to answer, which was what I was hoping to accomplish before we all went on holiday. Happy Holidays! Tim On Dec 15, 2014, at 5:53 AM, ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com wrote: Hi Tim “Questions: 1) Is there any more data the solver needs? Seems like it needs something about CPU-load for each VM. 2) Which solver should we be using? What does the linear program that we feed it look like? How do we translate the results of the linear solver into a collection of ‘migrate_VM’ API calls?” Question (2) seems to me the first to address, in particular: “how to prepare the input (variables, constraints, goal) and invoke the solver” = We need rules that represent constraints to give the solver (e.g. a technical constraint that a VM should not be assigned to more than one server or that more than maximum
Re: [openstack-dev] [Congress] Re: Placement and Scheduling via Policy
Tim, I read the conversation thread below and this got me interested as it relates to our discussion we had in the Policy Summit (mid cycle meet up) held in Palo Alto a few months ago. This relates to our project – Nova Solver Scheduler, which I had talked about at the Policy summit. Please see this - https://github.com/stackforge/nova-solver-scheduler We already have a working constraints-based solver framework/engine that handles Nova placement, and we are currently active in Stackforge, and aim to get this integrated into the Gantt project (https://blueprints.launchpad.net/nova/+spec/solver-scheduler), based on our discussions in the Nova scheduler sub group. When I saw discussions around using Linear programming (LP) solvers, PULP, etc, I thought of pitching in here to say, we already have demonstrated integrating a LP based solver for Nova compute placements. Please see: https://www.youtube.com/watch?v=7QzDbhkk-BI#t=942 for a demo of this (from our talk at the Atlanta Openstack summit). Based on this email thread, I believe Ramki, one of our early collaborators is driving a similar solution in the NFV ETSI research group. Glad to know our Solver scheduler project is getting interest now. As part of Congress integration, at the policy summit, I had suggested, we can try to translate a Congress policy into our Solver Scheduler’s constraints, and use this to enforce Nova placement policies. We can already demonstrate policy-driven nova placements using our pluggable constraints model. So it should be easy to integrate with Congress. The Nova solver scheduler team would be glad to help with any efforts wrt to trying out a Congress integration for Nova placements. Thanks, Yathi. On 12/16/14, 10:24 AM, Tim Hinrichs thinri...@vmware.commailto:thinri...@vmware.com wrote: [Adding openstack-dev to this thread. For those of you just joining… We started kicking around ideas for how we might integrate a special-purpose VM placement engine into Congress.] Kudva: responses inline. On Dec 16, 2014, at 6:25 AM, Prabhakar Kudva ku...@us.ibm.commailto:ku...@us.ibm.com wrote: Hi, I am very interested in this. So, it looks like there are two parts to this: 1. Policy analysis when there are a significant mix of logical and builtin predicates (i.e., runtime should identify a solution space when there are arithmetic operators). This will require linear programming/ILP type solvers. There might be a need to have a function in runtime.py that specifically deals with this (Tim?) I think it’s right that we expect there to be a mix of builtins and standard predicates. But what we’re considering here is having the linear solver be treated as if it were a domain-specific policy engine. So that solver wouldn’t be embedded into the runtime.py necessarily. Rather, we’d delegate part of the policy to that domain-specific policy engine. 2. Enforcement. That is with a large number of constraints in place for placement and scheduling, how does the policy engine communicate and enforce the placement constraints to nova scheduler. I would imagine that we could delegate either enforcement or monitoring or both. Eventually we want enforcement here, but monitoring could be useful too. And yes you’re asking the right questions. I was trying to break the problem down into pieces in my bullet (1) below. But I think there is significant overlap in the questions we need to answer whether we’re delegating monitoring or enforcement. Both of these require some form of mathematical analysis. Would be happy and interested to discuss more on these lines. Maybe take a look at how I tried to breakdown the problem into separate questions in bullet (1) below and see if that makes sense. Tim Prabhakar From:Tim Hinrichs thinri...@vmware.commailto:thinri...@vmware.com To:ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com Cc:Ramki Krishnan (r...@brocade.commailto:r...@brocade.com) r...@brocade.commailto:r...@brocade.com, Gokul B Kandiraju/Watson/IBM@IBMUS, Prabhakar Kudva/Watson/IBM@IBMUS Date:12/15/2014 12:09 PM Subject:Re: Placement and Scheduling via Policy [Adding Prabhakar and Gokul, in case they are interested.] 1) Ruby, thinking about the solver as taking 1 matrix of [vm, server] and returning another matrix helps me understand what we’re talking about—thanks. I think you’re right that once we move from placement to optimization problems in general we’ll need to figure out how to deal with actions. But if it’s a placement-specific policy engine, then we can build VM-migration into it. It seems to me that the only part left is figuring out how to take an arbitrary policy, carve off the placement-relevant portion, and create the inputs the solver needs to generate that new matrix. Some thoughts... - My
Re: [openstack-dev] [Congress] Re: Placement and Scheduling via Policy
To add to what I mentioned below… We from the Solver Scheduler team are a small team here at Cisco, trying to drive this project and slowly adding more complex use cases for scheduling and policy–driven placements.We would really love to have some real contributions from everyone in the community and build this the right way. If it may interest – some interesting scheduler use cases are here based on one of our community meetings in IRC - https://etherpad.openstack.org/p/SchedulerUseCases This could apply to Congress driving some of this too. I am leading the effort for the Solver Scheduler project ( https://github.com/stackforge/nova-solver-scheduler ) , and if any of you are willing to contribute code, API, benchmarks, and also work on integration, my team and I can help you guide through this. We would be following the same processes under Stackforge at the moment. Thanks, Yathi. On 12/16/14, 11:14 AM, Yathiraj Udupi (yudupi) yud...@cisco.commailto:yud...@cisco.com wrote: Tim, I read the conversation thread below and this got me interested as it relates to our discussion we had in the Policy Summit (mid cycle meet up) held in Palo Alto a few months ago. This relates to our project – Nova Solver Scheduler, which I had talked about at the Policy summit. Please see this - https://github.com/stackforge/nova-solver-scheduler We already have a working constraints-based solver framework/engine that handles Nova placement, and we are currently active in Stackforge, and aim to get this integrated into the Gantt project (https://blueprints.launchpad.net/nova/+spec/solver-scheduler), based on our discussions in the Nova scheduler sub group. When I saw discussions around using Linear programming (LP) solvers, PULP, etc, I thought of pitching in here to say, we already have demonstrated integrating a LP based solver for Nova compute placements. Please see: https://www.youtube.com/watch?v=7QzDbhkk-BI#t=942 for a demo of this (from our talk at the Atlanta Openstack summit). Based on this email thread, I believe Ramki, one of our early collaborators is driving a similar solution in the NFV ETSI research group. Glad to know our Solver scheduler project is getting interest now. As part of Congress integration, at the policy summit, I had suggested, we can try to translate a Congress policy into our Solver Scheduler’s constraints, and use this to enforce Nova placement policies. We can already demonstrate policy-driven nova placements using our pluggable constraints model. So it should be easy to integrate with Congress. The Nova solver scheduler team would be glad to help with any efforts wrt to trying out a Congress integration for Nova placements. Thanks, Yathi. On 12/16/14, 10:24 AM, Tim Hinrichs thinri...@vmware.commailto:thinri...@vmware.com wrote: [Adding openstack-dev to this thread. For those of you just joining… We started kicking around ideas for how we might integrate a special-purpose VM placement engine into Congress.] Kudva: responses inline. On Dec 16, 2014, at 6:25 AM, Prabhakar Kudva ku...@us.ibm.commailto:ku...@us.ibm.com wrote: Hi, I am very interested in this. So, it looks like there are two parts to this: 1. Policy analysis when there are a significant mix of logical and builtin predicates (i.e., runtime should identify a solution space when there are arithmetic operators). This will require linear programming/ILP type solvers. There might be a need to have a function in runtime.py that specifically deals with this (Tim?) I think it’s right that we expect there to be a mix of builtins and standard predicates. But what we’re considering here is having the linear solver be treated as if it were a domain-specific policy engine. So that solver wouldn’t be embedded into the runtime.py necessarily. Rather, we’d delegate part of the policy to that domain-specific policy engine. 2. Enforcement. That is with a large number of constraints in place for placement and scheduling, how does the policy engine communicate and enforce the placement constraints to nova scheduler. I would imagine that we could delegate either enforcement or monitoring or both. Eventually we want enforcement here, but monitoring could be useful too. And yes you’re asking the right questions. I was trying to break the problem down into pieces in my bullet (1) below. But I think there is significant overlap in the questions we need to answer whether we’re delegating monitoring or enforcement. Both of these require some form of mathematical analysis. Would be happy and interested to discuss more on these lines. Maybe take a look at how I tried to breakdown the problem into separate questions in bullet (1) below and see if that makes sense. Tim Prabhakar From:Tim Hinrichs thinri...@vmware.commailto:thinri...@vmware.com To:ruby.krishnasw...@orange.commailto:ruby.krishnasw...@orange.com