I could do it via a separate cluster, but it would leave my hosts very under 
utilized. I think I would also have to create and manage additional datastores 
and other resources for the new cluster. My preference would be to be able to 
configure the scheduler. 

----- Original Message -----

From: "Shankhadeep Shome" <shank15...@gmail.com> 
To: "Gary S. Cuozzo" <g...@isgsoftware.net> 
Sent: Wednesday, December 12, 2012 8:46:55 AM 
Subject: Re: [one-users] deployment of certain vm's to different hosts 

I think what you want is the extension of the cluster mechanism that already 
exists in opennebula to be extended so that a cluster is a scheduling domain, 
not simply a set of {hosts, networks, storage} 



On Tue, Dec 11, 2012 at 4:59 PM, Gary S. Cuozzo < g...@isgsoftware.net > wrote: 




Oh nice. So will the "REQUIREMENTS" be able to be based on any attribute of the 
template? For example, could I have an attribute called "VM_GROUP" in the 
template and have a value such as "HTTP_1" in various templates. Then, each vm 
with VM_GROUP HTTP_1 would get deployed to different hosts? 

Just trying to make sure I'm interpreting the description correctly. The 
example shows things based on vm id's, but I think it would be easier to just 
be able to make any sort of generic group(s) to base things on. 
gary 



From: "Jaime Melis" < jme...@opennebula.org > 
To: "Gary S. Cuozzo" < g...@isgsoftware.net > 
Cc: "Users OpenNebula" < users@lists.opennebula.org > 
Sent: Tuesday, December 11, 2012 4:41:50 PM 


Subject: Re: [one-users] deployment of certain vm's to different hosts 

Hi, 


Yes, you guys really hit the spot! take a look at this: 
http://dev.opennebula.org/issues/1675 



Basically, for the next OpenNebula release there will be a default probe with 
all the running vms, so you can create a REQUIREMENTS directive just like Mark 
described. 


cheers, 
Jaime 



On Tue, Dec 11, 2012 at 10:36 PM, Gary S. Cuozzo < g...@isgsoftware.net > 
wrote: 

<blockquote>


Interesting. You can get a list of guests on a host using "virsh list", which 
would simplify your idea. Hopefully I'll have some time to mess around with 
ideas this week. I just wanted to make sure there was no feature already in ONE 
that I didn't know about. 

Let me know if you go further with your ideas and I'll do the same. 

Cheers, 
gary 



From: "Mark Wagner" < mwag...@intelius.com > 
To: users@lists.opennebula.org 
Sent: Tuesday, December 11, 2012 4:18:29 PM 
Subject: Re: [one-users] deployment of certain vm's to different hosts 



I'm interested in this idea as well. Without modifying the ONE code here is how 
it could be accomplished by extending the IM MAD and using the "REQUIREMENTS" 
section of a VM template to exclude a host that is already running a guest of 
the same type. 

How to go about it is the somewhat kludgey part. The IM MAD scripts are run on 
the host; as far as I can tell from the host it is impossible to easily see the 
names of the guests running on it. The best idea I could think of would be to 
ssh back to the FE and run "onevm list | grep $HOST" and process that. 

Next, how do you group the guests? Assuming the guests have the naming scheme 
of <type>NNN you could group them by removing the NNN. Another way to do it 
would be to do a onevm show on each guest but that may be too resource 
intensive. 

Putting this all together, here is the IM MAD script: 

#!/bin/sh 

VM_HOST=`hostname` 
FE=onefe 

GUEST_TYPES="`ssh $FE onevm list --list NAME,HOST | grep $VM_HOST | awk '{ 
print $1 }' | sed 's/[0-9]*$//g' | sort -u`" 
GUEST_TYPES=":`echo $GUEST_TYPES | sed 's/ /:/g'`:" 

echo "GUEST_TYPES=\"$GUEST_TYPES\"" 

For example type "ntp" you'd put in the template 

REQUIREMENTS = "GUEST_TYPES != \"*:ntp:*\"" 

(I haven't tested this at all). 

On 12/11/2012 10:47 AM, Gary S. Cuozzo wrote: 

<blockquote>

Hello, 
We have certain vm's which are related and provide redundancy and/or failover 
to each other. Ideally, we'd like to avoid the situation where these vm's run 
on the same host machine. Is there a way to configure the scheduler so it would 
know to rule out a host if another related vm was already running there? 

If there is no feature in ONE already, what I'm thinking is having an attribute 
that can be set in the vm template which could be used to group vm's together. 
Then, the scheduler can just check to see if a vm that is part of the same 
group(s) is already running and rule that host out if there is. It could also 
optionally override the attribute if it could not find a 'unique' host to 
deploy on (for example, multiple hosts are unavailable and there are not enough 
resource to deploy to unique hosts). 

Please let me know if a feature already exists or if my idea is worth pursuing. 

Cheers, 
gary 



_______________________________________________
Users mailing list Users@lists.opennebula.org 
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org 


-- 
Mark Wagner | mwag...@intelius.com System Administrator | Intelius Inc. 
_______________________________________________ 
Users mailing list 
Users@lists.opennebula.org 
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org 


_______________________________________________ 
Users mailing list 
Users@lists.opennebula.org 
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org 


</blockquote>




-- 
Jaime Melis 
Project Engineer 
OpenNebula - The Open Source Toolkit for Cloud Computing 
www.OpenNebula.org | jme...@opennebula.org 


_______________________________________________ 
Users mailing list 
Users@lists.opennebula.org 
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org 


</blockquote>


_______________________________________________
Users mailing list
Users@lists.opennebula.org
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

Reply via email to