Search code examples
cloudopen-sourceopenstackopenstack-nova

how does controller select which compute node to deploy instances on ?


I'm new to openstack , and I'm trying to understand how it works, my question is in case I have 3 compute nodes , how does the controller ( nova ) select which one to deploy on , and the second instance will be on the same compute node or an other ?

thank you


Solution

  • Nova-scheduler running on the controller decides on which compute the guests should be deployed on. The nova.conf have scheduler_default_filters key. From the values of scheduler_default_filters nova takes clue for guest creation.

    Commonly used values for scheduler_default_filters are: Have not been attempted for scheduling purposes (RetryFilter).

    Are in the requested availability zone (AvailabilityZoneFilter).

    Have sufficient RAM available (RamFilter).

    Can service the request (ComputeFilter)

    Satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties (ImagePropertiesFilter).

    Are on a different host than other instances of a group (if requested) (ServerGroupAntiAffinityFilter).

    Are in a set of group hosts (if requested) (ServerGroupAffinityFilter).