Contents
The CentOS DevCloud is an IaaS instance setup and run within the CentOS Infra team as a resource for CentOS developers, SIGs, and contributors to run development and testing instances.
DevCloud may not be used to run public services, or anything that needs a reasonable SLA - it should itself be considered a dev environment.
Howto get an account
File a request at http://bugs.centos.org, against project Buildsys and category Dev Infrastructure. Make sure you include your full real name, the login name you would like and your ssh pubkey. If you already have an account on koji, please also add a link to the issue report you used to ask for the cbs access. Please also mention your SIG membership and approval to get Devcloud resources.
Once the request is processed, we will create a user account on the following jump host (see http://wiki.centos.org/TipsAndTricks/SshTips/JumpHost) : jump.lon1.centos.org. You will then be able to login to this jump host and run commands to create instances, destroy instances etc.
You get a real IPv6 address with all instances, the IPv4 address is private space (172.x.x.x ) and works via a NAT to the internet. If you need inbound port access, you can request that via bugs.centos.org as well ( project: Buildsys, category: Dev Infrastructure ).
General Usage
1. Instance Map
We have CentOS-5, 6 and 7 available; you can also request your own images to be included ( and shared with other users )
|
Instance Name |
||||||
Instance Type |
CPU Cores |
RAM |
Disk space |
C7 |
C6 |
C5 |
AtomicHost |
small |
0.5 |
2 GB |
8 GB |
c7.small |
c6.small |
c5.small |
|
medium |
1 |
4GB |
8 GB |
c7.medium |
c6.medium |
c5.medium |
c7-AtomicHost |
large |
2 |
8 GB |
8 GB |
c7.large |
c6.large |
c5.large |
The DevCloud currently runs off 4 physical machines, we hope to add another 4 to the cluster in the near future . So please be considerate about resources.
2. Creating an Instance
You can create a new instance by running :
onetemplate instantiate c7.small
You need to get the instance name from the table above.
To see a list of your instances, and their present state:
onevm list
And to get details about a specific instance ( you need to get id from the list command above ) :
onevm show <id>
3. Connecting to an Instance
Once the VM is deployed, you can ssh (as root user) to the IP shown by onevm show <id> . Don't forget though to connect to the jump host with ForwardAgent for this to work. It's worth knowing that there is a default internal hostname assigned on each new VM, based on the IP assigned to the VM. For example, if your IP (returned by onevm show <id> | |grep "ETH0_IP" ) is 172.29.32.60, your hostname (known in the internal DNS, and so by the jump host) will be dev-32-60.lon1.centos.org (following the dev-$subnet-$ip.lon1.centos.org naming convention)
4. Reseting/Rebooting an Instance
You can reboot your VM when you want from the VM itself, but if your VM doesn't seem to answer anymore, or that you can't connect to it (and that you suspect that the VM is frozen), you can reboot it like that :
onevm poweroff --hard <id>
Verify that the node is then in state poff (and not runn or shut) :
onevm list|grep <id>
When powered off (state poff) you can start it again :
onevm resume <id>
5. Destroying an Instance
You can terminate an instance with :
onevm shutdown <id>
Note that this will completely destroy the instance, and remove all backing disks - there is no way to recover from this.
6. Getting Help
You can ask for help on the centos-devel list ( http://lists.centos.org/ ) or in #centos-devel irc channel.
Advanced Usage
1. Changing Templates
You can copy the template files into your home directory, and make edits to the contents. Typically this would be to request more ram or more cpu cores for your instances, or to change the ssh key to be injected etc. Note that you would then also need to keep up with the templates as they are updated in the system - although we will try to not remove backing image files, there might be times when we need to do that.
You can get a list of all instance templates with :
onetemplate list
And dump one specific one to file :
onetemplate show <template id> > ~/filename
At this point you can edit the file and then create further instances from there with :
onevm create /path/to/filename
2. Importing your own Image
3. Requesting Backup of contents
4. Requesting monitoring
5. Adding persistent storage
You can create you own disk by using something like this :
oneimage create --name mydisk.0 --size 40G --type datablock --datastore 1
Note that the datastore 1 is important, its where the backing cloud infra stores user disk images. You can also make the image persistent with :
oneimage persistent <imageid>
Once the image is created you can attach it to a running VM like this :
onevm disk-attach <id> --image mydisk.0