On 05/31/2017 01:31 AM, Zhenguo Niu wrote:
On Wed, May 31, 2017 at 12:20 PM, Ed Leafe <[email protected] <mailto:[email protected]>> wrote:

    On May 30, 2017, at 9:36 PM, Zhenguo Niu <[email protected]
    <mailto:[email protected]>> wrote:

    > as placement is not splitted out from nova now, and there would be users 
who only want a baremetal cloud, so we don't add resources to placement yet, but 
it's easy for us to turn to placement to match the node type with mogan flavors.

    Placement is a separate service, independent of Nova. It tracks
    Ironic nodes as individual resources, not as a "pretend" VM. The
    Nova integration for selecting an Ironic node as a resource is still
    being developed, as we need to update our view of the mess that is
    "flavors", but the goal is to have a single flavor for each Ironic
    machine type, rather than the current state of flavors pretending
    that an Ironic node is a VM with certain RAM/CPU/disk quantities.


Yes, I understand the current efforts of improving the baremetal nodes scheduling. It's not conflict with mogan's goal, and when it is done, we can share the same scheduling strategy with placement :)

Mogan is a service for a specific group of users who really want a baremetal resource instead of a generic compute resource, on API side, we can expose RAID, advanced partitions, nics bonding, firmware management, and other baremetal specific capabilities to users. And unlike nova's host based availability zone, host aggregates, server groups (ironic nodes share the same host), mogan can make it possible to divide baremetal nodes into such groups, and make Rack aware for affinity and anti-affinity when scheduling.
Zhenguo Niu brings up a very good point here. Currently, all Ironic nodes are associated with a single host aggregate in Nova, because of the vestigial notion that a compute *service* (ala the nova-compute worker) was equal to the compute *node*.

In the placement API, of course, there's no such coupling. A placement aggregate != a Nova host aggregate.

So, technically Ironic (or Mogan) can call the placement service to create aggregates that match *its* definition of what an aggregate is (rack, row, cage, zone, DC, whatever). Furthermore, Ironic (or Mogan) can associate Ironic baremetal nodes to one or more of those placement aggregates to get around Nova host aggregate to compute service coupling.

That said, there's still lots of missing pieces before placement gets affinity/anti-affinity support...

Best,
-jay

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to