[openstack-dev] [placement][nova] Decision time on granular request groups for like resources

Eric Fried openstack at fried.cc
Wed Apr 18 21:38:14 UTC 2018


> Cool. So let's not use a GET for this and instead change it to a POST
> with a request body that can more cleanly describe what the user is
> requesting, which is something we talked about a long time ago.

I kinda doubt we could agree on a format for this in the Rocky
timeframe.  But for the sake of curiosity, I'd like to see some strawman
proposals for what that request body would look like.  Here's a couple
off the top:

{
  "anti-affinity": [
      {
          "resources": { $RESOURCE_CLASS: amount, ... },
          "required": [ $TRAIT, ... ],
          "forbidden": [ $TRAIT, ... ],
      },
      ...
  ],
  "affinity": [
      ...
  ],
  "any fit": [
      ...
  ],
}

Or maybe:

{
  $ARBITRARY_USER_SPECIFIED_KEY_DESCRIBING_THE_GROUP: {
      "resources": { $RESOURCE_CLASS: amount, ... },
      "required": [ $TRAIT, ... ],
      "forbidden": [ $TRAIT, ... ],
  },
  ...
  "affinity_spec": {
      "isolate": [ $ARBITRARY_KEY, ... ],
      "any": [ $ARBITRARY_KEY, ... ],
      "common_subtree_by_trait": {
          "groups": [ $ARBITRARY_KEY, ... ],
          "traits": [ $TRAIT, ... ],
      },
  }
}

(I think we also now need to fold multiple `member_of` in there somehow.
 And `limit` - does that stay in the querystring?  Etc.)

-efried



More information about the OpenStack-dev mailing list