Last active
August 29, 2015 14:02
-
-
Save Aricg/db7301a6ef3975e1157c to your computer and use it in GitHub Desktop.
Prepare Fedora cloud image for rackspace public cloud
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #Get Fedora cloud image | |
| wget http://download.fedoraproject.org/pub/fedora/linux/updates/20/Images/x86_64/Fedora-x86_64-20-20140407-sda.qcow2 | |
| #Set a root password so that you can modify your image | |
| sudo yum install libguestfs-tools | |
| sudo libguestfs-test-tool | |
| sudo virt-sysprep -a Fedora-x86_64-20-20140407-sda.qcow2 --root-password password:SomePassword | |
| #start modified image in kvm and connect via console: | |
| root@fedoracloud ~]# yum install vim | |
| #File: /etc/ssh/ssdconfig | |
| permitrootlogin yes | |
| #password authentication no | |
| root@fedoracloud ~]# /etc/init.d/sshd restart | |
| Log in over ssh. (consoles suck) | |
| # Make needed changes for networking to start in rackspace | |
| ##Networking### | |
| #nova agent and xe-daemon work together to start the networking | |
| #Nova Agent | |
| root@fedoracloud ~]# wget http://boot.rackspace.com/files/nova-agent/nova-agent-Linux-x86_64-1.39.0.tar.gz | |
| root@fedoracloud ~]# mkdir nova-agent | |
| root@fedoracloud ~]# pushd nova-agent | |
| root@fedoracloud ~]# tar zxf ../nova-agent-Linux-x86_64-1.39.0.tar.gz | |
| root@fedoracloud ~]# ./installer.sh | |
| root@fedoracloud ~]# sed '1i### BEGIN INIT INFO\n# Provides: Nova-Agent\n# Required-Start: $remote_fs $syslog\n# Required-Stop: root@fedoracloud ~]# $remote_fs $syslog\n# Default-Start: 2 3 4 5\n# Default-Stop: 0 1 6\n# Short-Description: Start daemon at boot time\n# Description: Enable service provided by daemon.\n### END INIT INFO\n' /usr/share/nova-agent/1.39.0/etc/generic/nova-agent > /usr/share/nova-agent/1.39.0/etc/generic/nova-agent.lsb | |
| root@fedoracloud ~]# popd | |
| root@fedoracloud ~]# chkconfig nova-agent on | |
| #xs-tools | |
| root@fedoracloud ~]# wget http://boot.rackspace.com/files/xentools/xs-tools-6.2.0.iso | |
| root@fedoracloud ~]# mkdir tmp | |
| root@fedoracloud ~]# mount -o loop xs-tools-6.2.0.iso tmp | |
| root@fedoracloud ~]# pushd tmp/Linux | |
| root@fedoracloud ~]# ./install.sh | |
| root@fedoracloud ~]# popd | |
| root@fedoracloud ~]# umount tmp | |
| root@fedoracloud ~]# rmdir tmp | |
| #File /etc/sysconfig/network | |
| NETWORKING=yes | |
| NOZEROCONF=yes | |
| NETWORKING_IPV6=no | |
| #File /etc/sysconfig/network-scripts/route-eth0 | |
| default via 10.30.11.1 dev eth0 | |
| Uh will this work? http://docs.openstack.org/image-guide/content/ch_converting.html | |
| qemu-img convert -f qcow2 -O vpc ~/Downloads/Fedora-x86_64-20-20140407-sda-clone-clone.qcow2 Fedora.vhd | |
| Clone the VM and scp it to a Ubuntu 14.04 host | |
| root@ubuntu1404:~# apt-get install qemu-img qemu-utils git python-novaclient | |
| root@ubuntu1404:~# git clone https://github.com/metral/rpc_rd.git | |
| root@ubuntu1404:~# cd rpc_rd/qcow_image/ && bash -x compile_vhdutil.sh | |
| root@ubuntu1404:~# sudo ./qcow_to_vhd.sh ~/Fedora-x86_64-20-20140407-sda-clone.qcow2 . | |
| root@ubuntu1404:~# pip install git+git://github.com/rackspace/pyrax.git | |
| #File ~/pyrax_rc | |
| [rackspace_cloud] | |
| username = rackspace-username | |
| api_key = 00000 | |
| #This step took 4hours on my machine | |
| root@ubuntu1404:~# python upload_to_cloudimages.py DFW ~/Fedora-x86_64-20-20140407-sda-clone.vhd "Some_uniq_name" | |
| #boot the machine | |
| source keystonerc_rackspace | |
| time nova boot some.machine.fqdn \ | |
| --image "$(nova image-list | grep Some_uniq_name | awk '{print $2}')"\ | |
| --poll \ | |
| --no-service-net \ | |
| --no-public \ | |
| --nic net-id=ce359490-5cd0-4717-a0cd-41fbd3b522b2 \ | |
| --key-name Your_key_name \ | |
| --flavor performance1-8 \ | |
| --config-drive=false | |
| References | |
| http://developer.rackspace.com/blog/bootstrap-your-qcow-images-for-the-rackspace-public-cloud.html | |
| http://www.syntheticworks.com/rackspace-cloud/linux-rackspace-cloud/all-about-nova-agent-linux/ | |
| http://developer.rackspace.com/blog/unlimited-jenkins-slaves-in-5-quick-steps.html | |
| http://jclouds.apache.org/guides/rackspace/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment