-
Notifications
You must be signed in to change notification settings - Fork 125
User manual: vmcasts
In one word, it's a RSS feed that propose some links to download xvm2 files. xvm2 is a simple tar containing:
- GZIP image of drives, one gzip per drive
- a MANIFEST
- a file named description.xml containing the actual libvirt domain description
An example of VMCast would be:
<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title>My Awesome VMCast</title>
<link>http://www.archipelproject.org</link>
<uuid>ec53db38-a692-4f04-bac9-50ff9f590001</uuid>
<description>The awesome VMCast feed for Archipel</description>
<language>en-us</language>
<item>
<title>Wordpress template</title>
<link>http://www.archipelproject.org</link>
<uuid>ae201436-8b36-11dd-bbb3-269650d01a85</uuid>
<enclosure url="http://myhypervisor/wordpresstemplate.xvm2" length="266741760" type="application/enomalism2-xvm2"/>
<description>Debian with Wordpress ready to use</description>
<pubDate>Tue, 23 Sep 2011 12:00:00 -0800</pubDate>
</item>
....
<item>
<title>Windows XP</title>
<link>http://www.archipelproject.org</link>
<uuid>ae201436-8b36-11dd-bbb3-269650d01a86</uuid>
<enclosure url="http://myhypervisor/wordpresstemplate.xvm2" length="42000000" type="application/enomalism2-xvm2"/>
<description>Windows XP virtual machines</description>
<pubDate>Tue, 23 Sep 2011 12:00:00 -0800</pubDate>
</item>
</channel>
</rss>
Archipel understands VMCast, and you can register to any available VMCasts over the internet. Each hypervisor provides platform with its own VMCast. It can package existing virtual machines into xvm2 appliances, and it generates a valid VMCast repository and the RSS file containing informations about the VMCast.
Each hypervisors contains two folders that are used for VMCasts and appliances:
- /vm/repo: It contains all the downloaded and ready to use appliances
- /vm/vmcast: It contains all the appliances that are published in hypervisor VMCast and the rss.xml file
Archipel generates automatically everything to use the VMCasts. But it's up to you to serve the feed. You just need a simple HTTP server. We will use nginx
for this purpose.
First, install nginx
:
yum install nginx
Then open /etc/nginx/nginx.conf
, locate the default server
and edit it:
http {
...
# The default server
#
server {
listen 8080; # beware if you already have a http server running on port 80!
server_name _;
location / {
root /vm/vmcasts/;
index rss.xml
}
}
}
Then start nginx:
service nginx start
Now, let's say your nginx is accessible from the outside with url http://vmcast.hypervisor.com:8080/
Finally edit /etc/archipel/archipel.conf
and locate the [VMCASTS]
section (note that only the own_vmcast_url
parameters needs to be updated):
[VMCASTING]
...
# the name of vmcast. $HOSTNAME is replaced by the actual hostname
own_vmcast_name = Local VM casts of $HOSTAME
# vmcast description
own_vmcast_description = This is the own vmcast feed of the hypervisor $HOSTAME
# the url to access the vmcast
## THIS IS CAPITAL TO ADD THE BASE URL YOU CONFIGURE WITH YOUR HTTP SERVER!
own_vmcast_url = http://vmcast.hypervisor.com:8080/
...
And finally, restart archipel agent
/etc/init.d/archipel restart
Your platform is now ready to use VMCasts and publish appliances!