openstack-manuals/doc/image-guide/section_fedora-example.xml
Deepti Navale e1bfbc46c1 Include example for creating a Fedora image
Add new section with procedure to create a OpenStack compatible Fedora image in
the Virtual Image Machine Guide.
Partial-Bug: #1369395

Change-Id: Ibca558389aace29942d3dacc09abaebe0635b31a
2014-10-31 11:58:39 +11:00

170 lines
8.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section [
<!ENTITY % openstack SYSTEM "../common/entities/openstack.ent">
%openstack;
]>
<section xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="section_fedora-example">
<title>Example: Fedora image</title>
<para>Download a Fedora image from <link xlink:href="http://fedoraproject.org/en/get-fedora#clouds">Get Fedora</link>.</para>
<para>This procedure lets you create a Fedora 20 image.</para>
<procedure>
<step><para>Start the installation using <command>virt-install</command> as shown below:</para>
<screen><prompt>#</prompt> <userinput>qemu-img create -f qcow2 fedora-20.qcow2 8G</userinput>
<prompt>#</prompt> <userinput>virt-install --connect=qemu:///system --network=bridge:virbr0 \
--extra-args="console=tty0 console=ttyS0,115200 serial rd_NO_PLYMOUTH" \
--name=fedora-20 --disk path=/var/lib/libvirt/images/fedora-20.qcow2,format=qcow2,size=10,cache=none \
--ram 2048 --vcpus=2 --check-cpu --accelerate --os-type linux --os-variant fedora19 \
--hvm --location=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/ \
--nographics</userinput></screen>
<para>This will launch a VM and start the installation process.</para>
<screen><computeroutput>Starting install...
Retrieving file .treeinfo... | 2.2 kB 00:00:00 !!!
Retrieving file vmlinuz... | 9.8 MB 00:00:05 !!!
Retrieving file initrd.img... | 66 MB 00:00:37 !!!
Allocating 'fedora-20.qcow2' | 10 GB 00:00:00
Creating domain... | 0 B 00:00:00
Connected to domain fedora-20
Escape character is ^]
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
...
...
...
[ OK ] Reached target Local File Systems (Pre).
Starting installer, one moment...
anaconda 20.25.15-1 for Fedora 20 started.
================================================================================
===============================================================================</computeroutput></screen>
</step>
<step><para>Choose the VNC or text mode to set the installation options.</para>
<screen><computeroutput>Text mode provides a limited set of installation
options. It does not offer custom partitioning for full control over the
disk layout. Would you like to use VNC mode instead?
1) Start VNC
2) Use text mode
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]:</computeroutput></screen></step>
<step><para>Set the timezone, network configuration, installation
source, and the root password. Optionally,
you can choose to create a user.</para></step>
<step><para>Set up the installation destination as shown below:</para>
<screen><computeroutput>================================================================================
Probing storage...
Installation Destination
[x] 1) Virtio Block Device: 10.24 GB (vda)
1 disk selected; 10.24 GB capacity; 10.24 GB free ...
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
================================================================================
================================================================================
Autopartitioning Options
[ ] 1) Replace Existing Linux system(s)
[x] 2) Use All Space
[ ] 3) Use Free Space
Installation requires partitioning of your hard drive. Select what space to use
for the install target.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: 2
================================================================================
================================================================================
Autopartitioning Options
[ ] 1) Replace Existing Linux system(s)
[x] 2) Use All Space
[ ] 3) Use Free Space
Installation requires partitioning of your hard drive. Select what space to use
for the install target.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
================================================================================
================================================================================
Partition Scheme Options
[ ] 1) Standard Partition
[x] 2) LVM
[ ] 3) BTRFS
Select a partition scheme configuration.
Please make your choice from above ['q' to quit | 'c' to continue |
'r' to refresh]: c
Generating updated storage configuration
Checking storage configuration...
================================================================================</computeroutput></screen></step>
<step><para>Run the following commands from the host to eject the disk and
reboot using virsh, as root.</para>
<screen><prompt>#</prompt> <userinput>virsh attach-disk --type cdrom --mode readonly <replaceable>fedora-20</replaceable> "" hdc</userinput>
<prompt>#</prompt> <userinput>virsh destroy fedora-20</userinput>
<prompt>#</prompt> <userinput>virsh start fedora-20</userinput></screen>
<para>You can also use the GUI to detach and reboot it by manually
stopping and starting.</para></step>
<step><para>Log in as root user when you boot for the first time after
installation.</para></step>
<step><para>Install and run the <literal>acpid</literal> service on the guest
system to enable the virtual machine to reboot or shutdown an instance.</para>
<para>Run the following commands inside the Fedora guest to install the
ACPI service and configure it to start when the system boots:</para>
<screen><prompt>#</prompt> <userinput>yum install acpid</userinput>
<prompt>#</prompt> <userinput>chkconfig acpid on</userinput></screen></step>
<step><para>Install <literal>cloud-init</literal> package inside the Fedora
guest by adding the EPEL repo:</para>
<para>The <literal>cloud-init</literal> package automatically fetches
the public key from the metadata server and places the key in an account.</para>
<screen><prompt>#</prompt> <userinput>yum install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm</userinput>
<prompt>#</prompt> <userinput>yum install cloud-init</userinput></screen>
<para>You can change the name of the account used by <literal>cloud-init</literal>
by editing the <filename>/etc/cloud/cloud.cfg</filename> file and
adding a line with a different user. For example, to configure
<literal>cloud-init</literal> to put the key in an account named
admin, add this line to the configuration file:</para>
<screen><computeroutput>user: admin</computeroutput></screen></step>
<step><para>Disable the default <literal>zeroconf</literal> route for the
instance to access the metadata service:</para>
<screen><prompt>#</prompt> <userinput>echo "NOZEROCONF=yes" >> /etc/sysconfig/network</userinput></screen></step>
<step><para>For the <command>nova console-log</command> command to work
properly on Fedora 20, you might need to add the following lines to
the <filename>/boot/grub/menu.lst</filename> file:</para>
<programlisting language='ini'>serial --unit=0 --speed=115200
terminal --timeout=10 console serial
# Edit the kernel line to add the console entries
kernel ... console=tty0 console=ttyS0,115200n8</programlisting></step>
<step><para>Shut down the instance from inside the instance as a root user:</para>
<screen><prompt>#</prompt> <userinput>/sbin/shutdown -h now</userinput></screen></step>
<step><para>Clean up and remove MAC address details.</para>
<para>The operating system records the MAC address of the virtual
Ethernet card in locations such as <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename>
and <filename>/etc/udev/rules.d/70-persistent-net.rules</filename>
during the instance process. However, each time the image boots up,
the virtual Ethernet card will have a different MAC address, so this
information must be deleted from the configuration file.</para>
<para>Use the <literal>virt-sysprep</literal> utility. This performs
various cleanup tasks such as removing the MAC address references.
It will clean up a virtual machine image in place:</para>
<screen><prompt>#</prompt> <userinput>virt-sysprep -d fedora-20</userinput></screen></step>
<step><para>Undefine the domain since you no longer need to have this
virtual machine image managed by libvirt:</para>
<screen><prompt>#</prompt> <userinput>virsh undefine fedora-20</userinput></screen></step>
</procedure>
<para>The underlying image file that you created with qemu-img create is
ready to be uploaded to the Image Service.</para>
</section>