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

Gary S. Cuozzo gary at isgsoftware.net
Wed Dec 12 06:17:24 PST 2012


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" <shank15217 at gmail.com> 
To: "Gary S. Cuozzo" <gary at 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 < gary at 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" < jmelis at opennebula.org > 
To: "Gary S. Cuozzo" < gary at isgsoftware.net > 
Cc: "Users OpenNebula" < users at 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 < gary at 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" < mwagner at intelius.com > 
To: users at 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 at lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org 


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


_______________________________________________ 
Users mailing list 
Users at 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 | jmelis at opennebula.org 


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


</blockquote>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20121212/c5287530/attachment-0002.htm>


More information about the Users mailing list