A tool for deploy openstack on Grid'5000 (Tutorial available here or here)
Grid'5000 a scientific instrument designed to support experiment-driven research in all areas of computer science related to parallel, large-scale or distributed computing and networking.
OpenStack OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
Puppetlabs Puppet Open Source is a flexible, customizable framework available under the Apache 2.0 license designed to help system administrators automate the many repetitive tasks they regularly perform. As a declarative, model-based approach to IT automation, it lets you define the desired state – or the “what” – of your infrastructure using the Puppet configuration language. Once these configurations are deployed, Puppet automatically installs the necessary packages and starts the related services, and then regularly enforces the desired state. In automating the mundane, Puppet frees you to work on more challenging projects with higher business impact.
-
Reserve nodes using OAR
oarsub -t deploy -l {"type='kavlan'"}/vlan=1+/nodes=3,walltime=03:00:00 -r "2013-07-10 09:00:00" -n "openstack" -
When reservation is running, connect using your job id, and launch deployment
oarsub -C <jobid>
-
If you want to use cinder volumes (like amazon EBS, block storage)
wget http://apt.grid5000.fr/cloud/openstack-tuto-kadeploy-custom.tgz tar xvzf openstack-tuto-kadeploy-custom.tgz kadeploy3 -f $OAR_NODEFILE -e ubuntu-x64-1204-parted --vlan `kavlan -V` -k --set-custom-operations ./customparted.yml -
Otherwise
kadeploy3 -f $OAR_NODEFILE -e ubuntu-x64-1204 -k --vlan `kavlan -V`
-
Generate kavlan nodes file
kavlan -l > ~/kavlan_nodes -
Download lastest openstack-campaign from git and fetch puppet modules (from puppet forge)
https_proxy=http://proxy:3128 git clone https://github.com/sbadia/openstack-campaigncd openstack-campaigngem install --no-ri --no-rdoc puppet -v 2.7.14 --user-install http_proxy=http://proxy:3128 $HOME/.gem/ruby/1.8/bin/puppet module install puppetlabs/openstack --version 2.1.0 --modulepath $(pwd)/modules http_proxy=http://proxy:3128 $HOME/.gem/ruby/1.8/bin/puppet module upgrade puppetlabs/apache --version 0.6.0 --modulepath $(pwd)/modules» http_proxy=http://proxy:3128 puppet module install puppetlabs/openstack --version 2.1.0 --modulepath $(pwd)/modules Preparing to install into /home/sbadia/openstack-campaign/modules ... Downloading from http://forge.puppetlabs.com ... Installing -- do not interrupt ... /home/sbadia/openstack-campaign/modules └─┬ puppetlabs-openstack (v2.1.0) ├─┬ puppetlabs-cinder (v2.1.0) │ ├── dprince-qpid (v1.0.2) │ ├── puppetlabs-inifile (v1.0.0) │ ├── puppetlabs-mysql (v0.9.0) │ ├─┬ puppetlabs-rabbitmq (v2.1.0) │ │ └── puppetlabs-apt (v1.2.0) │ └── puppetlabs-stdlib (v4.1.0) ├── puppetlabs-glance (v2.1.0) ├─┬ puppetlabs-horizon (v2.1.0) │ ├─┬ puppetlabs-apache (v0.9.0) │ │ └── puppetlabs-concat (v1.0.0) │ └── saz-memcached (v2.1.0) ├── puppetlabs-keystone (v2.1.0) ├─┬ puppetlabs-nova (v2.1.0) │ └── duritong-sysctl (v0.0.1) ├─┬ puppetlabs-quantum (v2.1.1) │ └── puppetlabs-vswitch (v0.1.1) └─┬ puppetlabs-swift (v2.1.0) ├── puppetlabs-rsync (v0.1.0) ├── puppetlabs-xinetd (v1.2.0) ├── ripienaar-concat (v0.2.0) └── saz-ssh (v1.2.0) » http_proxy=http://proxy:3128 $HOME/.gem/ruby/1.8/bin/puppet module upgrade puppetlabs/apache --version 0.6.0 --modulepath $(pwd)/modules Downloading from http://forge.puppetlabs.com ... Upgrading -- do not interrupt ... /home/sbadia/openstack-campaign/modules └─┬ puppetlabs-apache (v0.9.0 -> v0.6.0) └── puppetlabs-firewall (v0.4.1) -
Launch xp
-
If you want to use cinder volumes (like amazon EBS, block storage) you must have deployed the parted image !
ruby bin/openstackg5k -m educ -i ~/kavlan_nodes -
Otherwise
ruby bin/openstackg5k -m educ -v -i ~/kavlan_nodes
-
Enjoy :-)
root@talc-11-kavlan-4:~# nova-manage service list Binary Host Zone Status State Updated_At nova-consoleauth talc-11-kavlan-4.nancy.grid5000.fr internal enabled :-) 2013-07-10 19:18:32 nova-scheduler talc-11-kavlan-4.nancy.grid5000.fr internal enabled :-) 2013-07-10 19:18:32 nova-conductor talc-11-kavlan-4.nancy.grid5000.fr internal enabled :-) 2013-07-10 19:18:32 nova-network talc-11-kavlan-4.nancy.grid5000.fr internal enabled :-) 2013-07-10 19:18:36 nova-cert talc-11-kavlan-4.nancy.grid5000.fr internal enabled :-) 2013-07-10 19:18:32 nova-compute talc-33-kavlan-4.nancy.grid5000.fr nova enabled :-) 2013-07-10 19:18:35 nova-compute talc-77-kavlan-4.nancy.grid5000.fr nova enabled :-) 2013-07-10 19:18:29 nova-compute talc-90-kavlan-4.nancy.grid5000.fr nova enabled :-) 2013-07-10 19:18:27 nova-compute talc-76-kavlan-4.nancy.grid5000.fr nova enabled :-) 2013-07-10 19:18:32 nova-compute talc-71-kavlan-4.nancy.grid5000.fr nova enabled :-) 2013-07-10 19:18:27
- Sebastien Badia (mail/xmpp : seb AT sebian DOT fr )
-
Q: I have this error
Something went wrong! An unexpected error has occurred. Try refreshing the page. If that doesn't help, contact your local administrator. -
A: Don't panic, just drop your cookies for localhost:8888