You can place instances using affinity or anti-affinity by creating a server group in OpenStack and applying desired filter as a group policy. All instances that are members of the server group will be subject to the affinity or anti-affinity policy. You can perform this configuration using the ServerGroup API from the Python nova-client.


  • Verify that the intended anti-affinity filter configuration does not conflict with any existing administrative configuration, such as DRS rules that manage instance placement on hosts.

  • Verify that you are running VMware Integrated OpenStack version 2.0.x or later.

  • Verify that VMware Integrated OpenStack is running.

  • Verify that you are using a Python nova-client version or later, as required for the ServerGroup API. Go to


  1. Create a new server group with an anti-affinity policy.
    POST /v2/TENANT_ID/os-server-groups
        "server_group": {
            "name": "SERVER_GROUP_NAME",
            "policies": ["POLICY_TYPE"]




    ID value for the OpenStack tenant.


    Specify the name for the server group.


    Specify either affinity or anti-affinity.

  2. Launch a new instance, including the os:scheduler_hints argument with the server group ID in the GET /servers command.
    ... "os:scheduler_hints": {"group": "SERVER_GROUP_UUID"}
  3. (Optional) Confirm that the new rule and the server group instances appear and are running correctly in the VMware Integrated OpenStack deployment in vCenter.

    The rule details appear in the Manage > Settings > VM/Host Rules page for the Compute cluster.