How to change the automatic scheed requirements?

Hi all,

I am playing with ACLS and clusters features, I am trying to instantiate a VM in another cluster that I have created but I see is not possible to instantiate it because it is setting up the cluster by default in AUTOMATIC SCHEED REQUIREMENTS even I am setting up on the template for the VM "SCHED_REQUIREMENTS CLUSTER_ID=“102"” (the other cluster created). Therefore, if I make a onevm update of the instantiated VM, I see:

FROM_APP_NAME="Ubuntu 15.04 Desktop - KVM"
SCHED_MESSAGE="Thu Oct  8 12:04:22 2015 : No host meets SCHED_REQUIREMENTS: CLUSTER_ID = 100 &    
!(PUBLIC_CLOUD = YES) & ( CLUSTER_ID=\"102\" )"

What am I missing? What do I need to change?

Thanks in advance,


Is there a host that is a member of both clusters, i.e. 100 and 102? I don’t think that is even possible. One of the requirements should be dropped or the “&” should be replaced with “|” (or) or otherwise this VM will never be scheduled. See also

If i recall correctly it is possible to have a host be a “member” of multiple clusters and for that it should not be a member of any cluster. I don’t think this is what you are after but mentioning it anyway :smile:


The automatic scheduler requirements are added by OpenNebula based on the networks and images used. You are either using a network in cluster 100, or an image from a DS in that cluster.

Hi Stefan, Carlos

Thank you very much for answering me :smile:

@stefan , we have created several clusters and assigned specific hosts to these clusters so indeed, there is not any host belonging to both clusters and I confirm that it is not possible to assign the same host to different clusters. I think the way to do this is with VDCs, as far as I have seen, but we need to study and test more about VDCs in the future. We are going to implement Clusters + ACLs at the moment.

@cmartin , you are right, I cloned the images from my testing user which Im using for the new cluster created from another testing user that I have in the other cluster and I did not realize that when you have defined several clusters, when creating/cloning an image you have the option to chose in which datastore you want to save/assign the image. Therefore, when cloning the image at the first attempt, I left assigned the first datastore. Then, I after reading your comment, I deleted this image and I cloned it again but selecting the new datastore created for the new cluster and everything went smooth. I even don’t need to specific anything on the scheduling requirements on the template :smile:

Thank you very much for your help,