Is it possible to create affinity rules or some how determine which ESXi host a VM will be deployed on from within an Icehouse Openstack installation over VMware? I have a full installation of Icehouse Openstack installed within a 3 node VMware 5.5 clustered installation, and I need to know is it possible to determine which host that Openstack instance will be deployed on? If so how would I set that up? It would seem that its in the vsphere plugin... FYI, I am not using VOVA.
I was informed this in another forum
"
This can not be done the way you want to do it. What you can do is is have multiple nova-computes , each pointing to a different ESX cluster. Then you can use scheduling hints to specify which cluster you want to schedule the VM on.
If you truly want to be able to specify which host your VMs lands on then you will have to create ESX clusters that have only 1 host in them. Not very useful if you ask me.
"
Can someone please advise?
The question came about from a lot of "what if" scenarios from some super paranoid PMs. I appreciate your answer! I honestly bought the answer that I had gotten earlier, I just wanted a bit of affirmation! Thanks again!
Yes, the response you mention is correct. The vCenter driver allows nova to schedule instances to a cluster (by exposing an entire vSphere cluster as a hypervisor to OpenStack) and then vSphere takes care of placing the instances on an appropriate host using Distributed Resource Scheduler (DRS).
Any reason why you would want to specify the exact host on which to schedule the instance, rather than just the cluster?
The question came about from a lot of "what if" scenarios from some super paranoid PMs. I appreciate your answer! I honestly bought the answer that I had gotten earlier, I just wanted a bit of affirmation! Thanks again!
How would I setup H.A with this type of setup since being the Openstack instances are married to the host with the Nova compute node? Would it even be possible in this situation?
Each nova compute node manages a vSphere Cluster which can have a 1 or more ESXi hosts. The nova-compute service itself will not be running on this cluster.
To get H.A., vSphere HA needs to be enabled (from the vCenter) on the cluster that nova-compute is managing and any instance that get's scheduled to this nova-compute (and consequently this cluster in vSphere) will get H.A.
Thanks for the reply! So where would the Nova node be running if its not within the ESX cluster?
Typically, in deployments that have the openstack control plane deployed in virtual machines, there are (at least) two clusters. One a management cluster where the control plane itself is deployed, and one or more compute clusters that nova consumes to deploy openstack instances. Now, the nova-compute nodes in such case is run inside a virtual machine in the management cluster. The compute clusters typically do not have anything except the instances deployed via nova.
I know this is an old thread.
I'm using VIO 3.0 and I have 3 vSphere Clusters added to VIO to be used as compute clusters. Exactly how or where do I get the option to select a cluster or compute-node on which to deploy an instance? In my case, the 3 clusters are supposed to be dedicated to certain types of workloads, like Prod, Non-prod, etc.
Thanks,
Mike