Update and upgrade are required

Change-Id: Ie113b002251d08e74d4d56638a760286a9dff626
This commit is contained in:
Ekaterina Fedorova 2013-09-24 15:03:44 +04:00
parent 95119f317c
commit 296f85b6a6
3 changed files with 10 additions and 969 deletions

View File

@ -38,6 +38,10 @@
</execution>
</executions>
<configuration>
<htmlCustomization>../style/config.xsl
</htmlCustomization>
<htmlStylesheet>../style/administrators-guide.css
</htmlStylesheet>
<xincludeSupported>true</xincludeSupported>
<chunkSectionDepth>100</chunkSectionDepth>
<postProcess>

View File

@ -1,956 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2013 Mirantis, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd
http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"
version="5.0">
<info>
<title>Murano Administrator's Guide</title>
<author>
<affiliation>
<orgname></orgname>
</affiliation>
</author>
<copyright>
<year></year>
<holder></holder>
</copyright>
<releaseinfo>v0.2</releaseinfo>
<productname>Murano</productname>
<pubdate>2013-09-09</pubdate>
<legalnotice role="apache2">
<annotation>
<remark> Copyright details are filled in by the template. Change the value of the
role attribute on the legalnotice element to change the license. </remark>
</annotation>
</legalnotice>
<abstract>
<para> This document is intended for individuals who wish to install and use our product
or intend to contribute. </para>
</abstract>
<cover>
<para>this is a placeholder for the front cover</para>
</cover>
<cover>
<para>this is a placeholder for the back cover</para>
</cover>
</info>
<chapter xml:id="_general_deployment_steps">
<title>General Deployment Steps</title>
<section xml:id="_configure_your_environment">
<title>Prepare A Lab For Murano</title>
<para>This section provides basic information about lab's system requirements. It also
contains a description of a test which you may use to check if your hadrware fits
the requirements. To do this, run the test and compare the results with baseline
data provided.</para>
<section xml:id="_lab_requirements">
<title>Lab Requirements</title>
<table xml:id="_hardware_requirements" frame="all">
<title>Hardware requirements</title>
<tgroup cols="3" align="left" rowsep="1" colsep="1">
<colspec colname="col1" colwidth="1*"/>
<colspec colname="col2" colwidth="3*"/>
<colspec colname="col3" colwidth="3*"/>
<thead>
<row>
<entry>Criteria</entry>
<entry>Minimal</entry>
<entry>Recommended</entry>
</row>
</thead>
<tbody>
<row>
<entry>CPU</entry>
<entry>4 core @ 2.4 GHz</entry>
<entry>24 core @ 2.67 GHz</entry>
</row>
<row>
<entry>RAM</entry>
<entry>8 GB</entry>
<entry>24 GB or more</entry>
</row>
<row>
<entry>HDD</entry>
<entry>2 x 500 GB (7200 rpm)</entry>
<entry>4 x 500 GB (7200 rpm)</entry>
</row>
<row>
<entry>RAID</entry>
<entry>Software RAID-1 (use mdadm as it will improve read
performance almost two times)
</entry>
<entry>Hardware RAID-10</entry>
</row>
</tbody>
</tgroup>
</table>
<para>There are a few possible storage configurations except the shown above. All of
them were tested and were working well.</para>
<para>
<itemizedlist>
<listitem>
<para>1x SSD 500+ GB</para>
</listitem>
<listitem>
<para>1x HDD (7200 rpm) 500+ GB and 1x SSD 250+ GB (install the system
onto the HDD and mount the SSD drive to folder where VM images
are)</para>
</listitem>
<listitem>
<para>1x HDD (15000 rpm) 500+ GB</para>
</listitem>
</itemizedlist>
</para>
<para>The list of OSes which we used in our lab is shown below.</para>
<table xml:id="_software_requirements" frame="all">
<title>OS Requirements</title>
<tgroup cols="1" align="left" rowsep="1" colsep="1">
<colspec colname="col1" colwidth="1*"/>
<thead>
<row>
<entry>List</entry>
</row>
</thead>
<tbody>
<row>
<entry>Ubuntu Server 12.04 LTS</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section xml:id="_how_to_test_your_host_performance">
<title>Test Your Lab Host Performance</title>
<para>We have measured time required to boot 1 to 5 instances of Windows system simultaneously. You
can use this data as the baseline to check if your system is fast enough.
</para>
<para>You should use sysprepped images for this test, to simulate VM first boot.</para>
<para>Steps to reproduce test:</para>
<orderedlist numeration="arabic">
<listitem>
<para>
Prepare Windows 2012 Standard (with GUI) image in QCOW2 format. Let's assume that its
name is ws-2012-std.qcow2
</para>
</listitem>
<listitem>
<para> Ensure that there is NO KVM PROCESSES on the host. To do this, run
command:
<screen>># ps aux | grep kvm </screen></para>
</listitem>
<listitem>
<para>
Make 5 copies of Windows image file:
</para>
<screen>># for i in $(seq 5); do cp ws-2012-std.qcow2 ws-2012-std-$i.qcow2; done</screen>
</listitem>
<listitem>
<para>
Create script start-vm.sh in the folder with .qcow2 files:
</para>
<screen>#!/bin/bash
[ -z $1 ] || echo "VM count not provided!"; exit 1
for i in $(seq $1); do
echo "Starting VM $i ..."
kvm \
-m 1024 \
-drive file=ws-2012-std-$i.qcow2,if=virtio \
-net user -net nic,model=virtio \
-nographic \
-usbdevice tablet \
-vnc :$i &amp;
done </screen>
</listitem>
<listitem>
<para>
Start ONE instance with command below (as root) and measure time between VM&#8217;s launch
and the moment when Server Manager window appears. To view VM&#8217;s desktop, connect with
VNC viewer to your host to VNC screen :1 (port 5901):
</para>
<screen>># ./start-vm.sh 1</screen>
</listitem>
<listitem>
<para>
Turn VM off. You may simply kill all KVM processes by
</para>
<screen>># killall kvm</screen>
</listitem>
<listitem>
<para>
Start FIVE instances with command below (as root) and measure time interval between ALL VM&#8217;s
launch and the moment when LAST Server Manager window appears. To view VM&#8217;s desktops,
connect with VNC viewer to your host to VNC screens :1 thru :5 (ports 5901-5905):
</para>
<screen>># ./start-vm.sh 5</screen>
</listitem>
<listitem>
<para>
Turn VMs off. You may simply kill all KVM processes by
</para>
<screen>># killall kvm</screen>
</listitem>
</orderedlist>
</section>
<section xml:id="_baseline_data">
<title>Baseline Bata</title>
<para>The table below provides baseline data which we've got in our
environment.</para>
<para><emphasis role="bold">Avg. Time</emphasis> refers to the lab with recommended
hardware configuration, while <emphasis role="bold">Max. Time</emphasis> refers
to minimal hardware configuration.</para>
<informaltable
frame="all"
rowsep="1" colsep="1"
>
<tgroup cols="3">
<colspec colname="col_1" colwidth="33*"/>
<colspec colname="col_2" colwidth="33*"/>
<colspec colname="col_3" colwidth="33*"/>
<thead>
<row>
<entry/>
<entry>Boot ONE instance</entry>
<entry>Boot FIVE instances</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top">
<para>Avg. Time</para>
</entry>
<entry align="left" valign="top">
<para>3m:40s</para>
</entry>
<entry align="left" valign="top">
<para>8m</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>Max. Time</para>
</entry>
<entry align="left" valign="top">
<para>5m</para>
</entry>
<entry align="left" valign="top">
<para>20m</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="_host_optimizations">
<title>Host Optimizations</title>
<para>Default KVM installation could be improved to provide better
performance.</para>
<para>The following optimizations may improve host performance up to 30%:</para>
<itemizedlist>
<listitem>
<para>
change default scheduler from
<emphasis role="strong">CFQ</emphasis>
to
<emphasis role="strong">Deadline</emphasis>
</para>
</listitem>
<listitem>
<para>
use
<emphasis role="strong">ksm</emphasis>
</para>
</listitem>
<listitem>
<para>
use
<emphasis role="strong">vhost-net</emphasis>
</para>
</listitem>
</itemizedlist>
</section>
</section>
<section xml:id="_install_software">
<title>Install OpenStack</title>
<para>Currently we use Devstack (<link xlink:href="http://devstack.org/">http://devstack.org/</link>) to
build our lab environment.
</para>
<para>Use Devstack's guide to install single VM OpenStack (<link
xlink:href="http://devstack.org/guides/single-vm.html">
http://devstack.org/guides/single-vm.html</link>) </para>
<formalpara>
<title>localrc example</title>
<para>
<screen>HOST_IP=
FLAT_INTERFACE=
FLOATING_RANGE=
ADMIN_PASSWORD=swordfish
MYSQL_PASSWORD=swordfish
RABBIT_PASSWORD=swordfish
SERVICE_PASSWORD=swordfish
SERVICE_TOKEN=tokentoken
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
# Image's cache is in $TOP_DIR/files
IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/F17-x86_64-cfntools.qcow2"
# /etc/nova/nova.conf
EXTRA_OPTS=(force_config_drive=true libvirt_images_type=qcow2 force_raw_images=false)
# Logging
SCREEN_LOGDIR=/opt/stack/log/
LOGFILE=$SCREEN_LOGDIR/stack.sh.log </screen>
</para>
</formalpara>
<para>If you need to image builder only, then install only packages required to run
<emphasis role="strong">KVM</emphasis>
.
</para>
</section>
<section xml:id="_configure_openstack_installation">
<title>Configure OpenStack</title>
<para>New OpenStack installation requires configuration. However, if you are using
Devstack, then it's have been done.</para>
<para>Otherwise, configure your OpenStack before proceed.</para>
</section>
</chapter>
<chapter>
<title>Install Murano Components</title>
<para>Murano Components installation notes are described in Murano developer's guide. Please
consult that document.</para>
</chapter>
<chapter xml:id="_build_windows_image">
<title>Prepare Image Builder</title>
<para>Murano requires a Windows Image in QCOW2 format to be builded and uploaded into
Glance.</para>
<para>The easiest way to build Windows image for use with Murano is to build it right on the
host where your OpenStack is installed.</para>
<section xml:id="_image_builder">
<title>Image Builder</title>
<para>The following packages should be installed on any host which will be used to build
Windows Image.</para>
<section>
<title>Install Required Packages</title>
<note>
<para>Please check that hardware virtualization supported and enabled in
BIOS.</para>
</note>
<table frame="all" rowsep="1" colsep="1">
<title>Required Packages</title>
<tgroup cols="2">
<colspec colname="col_1" colwidth="50*"/>
<colspec colname="col_2" colwidth="50*"/>
<thead>
<row>
<entry>Package Name</entry>
<entry>Package Version</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top">
<para>ipxe-qemu</para>
</entry>
<entry align="left" valign="top">
<para>1.0.0+git-4.d6b0b76-0ubuntu2</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>kvm-ipxe</para>
</entry>
<entry align="left" valign="top">
<para>1.0.0+git-4.d6b0b76-0ubuntu2</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>qemu-kvm</para>
</entry>
<entry align="left" valign="top">
<para>1.4.0+dfsg-1expubuntu4</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>munin-libvirt-plugins</para>
</entry>
<entry align="left" valign="top">
<para>0.0.6-1</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>python-libvirt</para>
</entry>
<entry align="left" valign="top">
<para>1.0.2-0ubuntu11</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>libvirt-bin</para>
</entry>
<entry align="left" valign="top">
<para>1.0.2-0ubuntu11</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>libvirt0</para>
</entry>
<entry align="left" valign="top">
<para>1.0.2-0ubuntu11</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>munin-libvirt-plugins</para>
</entry>
<entry align="left" valign="top">
<para>0.0.6-1</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>python-libvirt</para>
</entry>
<entry align="left" valign="top">
<para>1.0.2-0ubuntu11</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>virt-goodies</para>
</entry>
<entry align="left" valign="top">
<para>0.4-2</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>virt-manager</para>
</entry>
<entry align="left" valign="top">
<para>0.9.4-2ubuntu3</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>virt-top</para>
</entry>
<entry align="left" valign="top">
<para>1.0.7-1</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>virt-what</para>
</entry>
<entry align="left" valign="top">
<para>1.12-1</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>virtinst</para>
</entry>
<entry align="left" valign="top">
<para>0.600.3-3ubuntu1</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>python</para>
</entry>
<entry align="left" valign="top">
<para>2.7.4-0ubuntu1</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
<screen>># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
virtinst virt-manager libvirt0 libvirt-bin \
munin-libvirt-plugins python python-libvirt \
python-libxml2 python-minimal python-pycurl \
python-pyorbit python-requests python-six \
samba samba-common openssh-server virt-top virt-what </screen>
</section>
<section>
<title>Configure Shared Resource</title>
<formalpara>
<title>Configure samba based share</title>
<para>
<screen>># mkdir -p /opt/samba/share
># chown -R nobody:nogroup /opt/samba/share </screen>
</para>
</formalpara>
<formalpara>
<title>Configure samba server (/etc/samba/smb.conf)</title>
<para>
<screen>...
[global]
...
security = user
...
[share]
comment = Deployment Share
path = /opt/samba/share
browsable = yes
read only = no
create mask = 0755
guest ok = yes
guest account = nobody
... </screen>
</para>
</formalpara>
<formalpara>
<title>Restart services</title>
<para>
<screen>># service smbd restart
># service nmbd restart</screen>
</para>
</formalpara>
</section>
</section>
<section xml:id="_additional_software">
<title>Additional Software</title>
<para>This section describes additional software which is required to build an Windows
Image.</para>
<section xml:id="_windows_adk">
<title>Windows ADK</title>
<para><emphasis role="italic">Windows Assessment and Deployment Kit (ADK) for
Windows® 8</emphasis> is required to build your own answer files for auto
unattended Windows installation.</para>
<para>You can dowload it from <link
xlink:href="http://www.microsoft.com/en-us/download/details.aspx?id=30652">
http://www.microsoft.com/en-us/download/details.aspx?id=30652 </link>
.</para>
</section>
<section xml:id="_putty">
<title>Putty</title>
<para>PuTTY is a useful tool to manage your Linux boxes via SSH.</para>
<para>You can download it from <link
xlink:href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"
> http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html </link>
</para>
</section>
<section xml:id="_windows_server_2012_iso_image">
<title>Windows Server 2012 ISO image</title>
<para>We use the following Windows installation images:</para>
<informaltable frame="all" rowsep="1" colsep="1">
<tgroup cols="2">
<colspec colname="col_1" colwidth="1*"/>
<colspec colname="col_2" colwidth="2.28*"/>
<thead>
<row>
<entry>Windows Version</entry>
<entry>Image Name</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top">
<para>Windows Server 2008 R2</para>
</entry>
<entry align="left" valign="top">
<para>7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>Windows Server 2012</para>
</entry>
<entry align="left" valign="top">
<para>
9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.iso
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>You may download them using one of the following links:</para>
<informaltable frame="all" rowsep="1" colsep="1">
<tgroup cols="2">
<colspec colname="col_1" colwidth="1*"/>
<colspec colname="col_2" colwidth="2.3*"/>
<thead>
<row>
<entry>Windows Version</entry>
<entry>Download Link</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top">
<para>Windows Server 2008 R2</para>
</entry>
<entry align="left" valign="top">
<para>
<link
xlink:href="http://www.microsoft.com/en-us/download/details.aspx?id=11093"
>
http://www.microsoft.com/en-us/download/details.aspx?id=11093
</link>
</para>
</entry>
</row>
<row>
<entry align="left" valign="top">
<para>Windows Server 2012</para>
</entry>
<entry align="left" valign="top">
<para>
<link
xlink:href="http://technet.microsoft.com/en-US/evalcenter/hh670538.aspx?ocid=&amp;wt.mc_id=TEC_108_1_33"
>
http://technet.microsoft.com/en-US/evalcenter/hh670538.aspx?ocid=&amp;wt.mc_id=TEC_108_1_33
</link>
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="_virtio_red_hat_drivers_iso_image">
<title>VirtIO Red Hat drivers ISO image</title>
<para>Download drivers from <link
xlink:href="http://alt.fedoraproject.org/pub/alt/virtio-win/stable/">
http://alt.fedoraproject.org/pub/alt/virtio-win/stable/ </link>
</para>
<para>Please, choose stable version instead of latest, we&#8217;ve got errors with
unstable drivers during guest unattended install. </para>
</section>
<section xml:id="_create_floppy_drive_image">
<title>Floppy Image With Unattended File</title>
<para>Run following commands as root:</para>
<orderedlist numeration="arabic">
<listitem>
<para> Create empty floppy image in your home folder </para>
<screen>># dd bs=512 count=2880 \
if=/dev/zero of=~/floppy.img \
mkfs.msdos ~/floppy.img </screen>
</listitem>
<listitem>
<para> Mount the image to <emphasis role="strong">/media/floppy</emphasis>
</para>
<screen>># mkdir /media/floppy mount -o loop \
~/floppy.img /media/floppy </screen>
</listitem>
<listitem>
<para> Download <emphasis role="strong">autounattend.xml</emphasis> file
from <link
xlink:href="https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/files/ws-2012-std/autounattend.xml"
>
https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/files/ws-2012-std/autounattend.xml
</link>
</para>
<screen>># cd ~
># wget https://raw.github.com/stackforge/murano-deployment\
/master/image-builder/share/files/ws-2012-std/autounattend.xml </screen>
</listitem>
<listitem>
<para> Copy our <emphasis role="strong">autounattend.xml</emphasis> to
<emphasis role="strong">/media/floppy</emphasis>
</para>
<screen>># cp ~/autounattend.xml /media/floppy</screen>
</listitem>
<listitem>
<para> Unmount the image </para>
<screen>># umount /media/floppy</screen>
</listitem>
</orderedlist>
</section>
</section>
</chapter>
<chapter xml:id="_automated_build">
<title>Build Windows Image (Automatic Way)</title>
<orderedlist numeration="arabic">
<listitem>
<para> Clone <emphasis role="strong">murano-deployment</emphasis> repository </para>
<screen>># git clone git://github.com/stackforge/murano-deployment.git</screen>
</listitem>
<listitem>
<para> Change directory to <emphasis role="strong"
>murano-deployment/image-builder</emphasis> folder. </para>
</listitem>
<listitem>
<para> Create folder structure for image builder </para>
<screen>># make build-root</screen>
</listitem>
<listitem>
<para> Create shared resource </para>
<formalpara>
<title>Add to /etc/samba/smb.conf</title>
<para>
<screen>[image-builder-share]
comment = Image Builder Share
browsable = yes
path = /opt/image-builder/share
guest ok = yes
guest user = nobody
read only = no
create mask = 0755 </screen>
</para>
</formalpara>
<formalpara>
<title>Restart samba services</title>
<para>
<screen>># restart smbd &amp;&amp; restart nmbd</screen>
</para>
</formalpara>
</listitem>
<listitem>
<para> Test that all required files are in place </para>
<screen>># make test-build-files</screen>
</listitem>
<listitem>
<para> Get list of available images </para>
<screen>># make</screen>
</listitem>
<listitem>
<para> Run image build process </para>
<screen>># make ws-2012-std</screen>
</listitem>
<listitem>
<para> Wait until process finishes </para>
</listitem>
<listitem>
<para> The image file <emphasis role="strong">ws-2012-std.qcow2</emphasis> should be
stored under <emphasis role="strong">/opt/image-builder/share/images</emphasis>
folder. </para>
</listitem>
</orderedlist>
</chapter>
<chapter xml:id="_manual_build">
<title>Build Windows Image (Manual Way)</title>
<warning>
<para>Please note that the preferred way to build images is to use <emphasis
role="strong">Automated Build</emphasis> described later in this book. </para>
</warning>
<section xml:id="_get_windows_post_install_script">
<title>Get Windows Post Install script</title>
<para>All post-install actions are performed by script named <emphasis role="strong"
>wpi.ps1</emphasis>. You may download it using the link <link
xlink:href="https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/wpi.ps1"
>
https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/wpi.ps1
</link>
</para>
<para>To finish image preparation <emphasis role="strong">Start-Sysprep.ps1</emphasis>
script is used. You may download it using the link <link
xlink:href="https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/Start-Sysprep.ps1"
>
https://raw.github.com/stackforge/murano-deployment/master/image-builder/share/scripts/ws-2012-std/Start-Sysprep.ps1
</link>
</para>
<note>
<para>There are a few scripts named <emphasis role="strong">wpi.ps1</emphasis>, each
supports only one version of Windows image. The script above is intended to be
used to create Windows Server 2012 Standard. To build other version of Windows
please use appropriate script from <emphasis role="strong">scripts</emphasis>
folder. </para>
</note>
</section>
<section xml:id="_copy_scripts_to_the_shared_folder">
<title>Copy scripts to the shared folder</title>
<para>All scripts should be copied to the shared resource folder, subfolder<emphasis
role="strong"> Scripts</emphasis>. </para>
</section>
<section xml:id="_create_guest_vm">
<title>Create guest VM</title>
<section xml:id="_way_1_from_console">
<title>Way 1 - from console</title>
<para>Run all commands as root.</para>
<formalpara>
<title>Preallocate disk image</title>
<para>
<screen>># qemu-img create -f qcow2 -o preallocation=metadata \
/var/lib/libvirt/images/winserv_vio.qcow2 20G </screen>
</para>
</formalpara>
<formalpara>
<title>Start guest install</title>
<para>
<screen>># virt-install --connect qemu:///system --hvm --name WinServ \
--ram 2048 --vcpus 2 --cdrom /opt/samba/share/9200.16384.WIN8_RTM\
.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.ISO \
--disk path=/opt/samba/share/virtio-win-0.1-52.iso,device=cdrom \
--disk path=/opt/samba/share/flop.img,device=floppy \
--disk path=/var/lib/libvirt/images/winserv_vio.qcow2\
,format=qcow2,bus=virtio,cache=none \
--network network=default,model=virtio \
--memballoon model=virtio --vnc --os-type=windows \
--os-variant=win2k8 --noautoconsole \
--accelerate --noapic --keymap=en-us --video=cirrus --force </screen>
</para>
</formalpara>
</section>
<section xml:id="_way_2_from_virt_manager_ui">
<title>Way 2 - from virt-manager UI</title>
<itemizedlist>
<listitem>
<para> launch virt-manager from shell as root </para>
</listitem>
<listitem>
<para> set Guest VM name and Local install media </para>
</listitem>
<listitem>
<para> add 1 cdrom - Windows Server ISO image </para>
</listitem>
<listitem>
<para> set OS type: Windows and version: Windows Server 2008 </para>
</listitem>
<listitem>
<para> set CPU and RAM amount </para>
</listitem>
<listitem>
<para> deselect Enable storage for this virtual machine </para>
</listitem>
<listitem>
<para> select Customize configuration before install </para>
</listitem>
<listitem>
<para> add 2 cdrom - virtio ISO image </para>
</listitem>
<listitem>
<para> add floppy - our floppy image </para>
</listitem>
<listitem>
<para> add/or create HDD image with Disk bus: VirtIO and storage format:
QCOW2 </para>
</listitem>
<listitem>
<para> set network device model: VirtIO </para>
</listitem>
<listitem>
<para> If everything OK - start installation process, guest vm screen
accessible through Console button </para>
</listitem>
</itemizedlist>
</section>
</section>
<section xml:id="_finish_process">
<title>Finish process</title>
<para>After install process finished for reference image compression run as root</para>
<screen>># qemu-img convert -O qcow2 /var/lib/libvirt/images/winserv_vio.qcow2 \
/var/lib/libvirt/images/winserv_vio_ref.qcow2 </screen>
</section>
</chapter>
<chapter xml:id="_post_building_setup">
<title>Upload Image Into Glance</title>
<para>
Services deployed by Murano require specially prepared images, that can be created manually or via
automated scripts. Please refer to corresponding chapters of this book to create image. After images are
created they should be registered in Openstack Glance - image operation service.
</para>
<orderedlist>
<listitem>
<para> Use the glance image-create command to import your disk image to Glance:
<<<<<<< HEAD
<screen width="50">>$ glance image-create --name &lt;NAME> --is-public true \
--disk-format qcow2 --container-format bare --file &lt;IMAGE_FILE> \
--property &lt;IMAGE_METADATA></screen>
=======
<screen>>$ glance image-create --name &lt;NAME> --is-public true \
--disk-format qcow2 --container-format bare --file &lt;IMAGE_FILE> \
--property &lt;IMAGE_METADATA></screen>
>>>>>>> 33f5a6d52739bea6bc661c7b12c37b0b4dcb5b84
</para>
<para>
Replace the command line arguments to glance image-create with the
appropriate values for your environment and disk image:
</para>
<itemizedlist>
<listitem>
<para>Replace <emphasis role="bold">&lt;NAME></emphasis> with the name that
users will refer to the disk image by. E.g. '<emphasis role="bold"
>ws-2012-std</emphasis>'</para>
</listitem>
<listitem>
<para> Replace <emphasis role="bold">&lt;IMAGE_FILE></emphasis> with the
local path to the image file to upload. E.g. '<emphasis role="bold"
>ws-2012-std.qcow2</emphasis>'.</para>
</listitem>
<listitem>
<para> Replace IMAGE_METADATA with the following property string
<<<<<<< HEAD
<screen width="50">murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}</screen>where<itemizedlist>
=======
<screen>murano_image_info='{"title": "Windows 2012 Core Edition", "type": "ws-2012-core"}</screen>where<itemizedlist>
>>>>>>> 33f5a6d52739bea6bc661c7b12c37b0b4dcb5b84
<listitem>
<para>title - user-friendly description of the image</para>
</listitem>
<listitem>
<para>type - one of possible image types<itemizedlist>
<listitem>
<para>ws-2012-std - Windows Server 2012 Standart
Edition</para>
</listitem>
<listitem>
<para>ws-2012-core - Windows 2012 Core
Edition</para>
</listitem>
<listitem>
<para>ws-2008r2-std - Windows Server 2008R2 Standart
Edition</para>
</listitem>
<listitem>
<para>ws-2008r2 - Windows Server 2012R2</para>
</listitem>
</itemizedlist></para>
</listitem>
</itemizedlist><warning>
<para>Setting <emphasis>murano_image_info</emphasis> property is
required to pick up image from Murano Dashboard.</para>
</warning>
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>To update metadata of the existing image run the command:</para>
<screen>>$ glance image-update &lt;IMAGE-ID> --property &lt;IMAGE_MATADATA></screen>
<itemizedlist>
<listitem>
<para>Replace <emphasis role="bold">&lt;IMAGE-ID></emphasis> with image id
from the previous command output.</para>
</listitem>
<listitem>
<para> Replace <emphasis role="bold">&lt;IMAGE_METADATA></emphasis> with
murano_image_info property,
<<<<<<< HEAD
e.g.<screen width="50">murano_image_info='{"title": "Windows 2012 Core Edition","type": "ws-2012-core"}'</screen></para>
=======
e.g.<screen>murano_image_info='{"title": "Windows 2012 Core Edition","type": "ws-2012-core"}'</screen></para>
>>>>>>> 33f5a6d52739bea6bc661c7b12c37b0b4dcb5b84
</listitem>
</itemizedlist>
</listitem>
</orderedlist>
<para>After these steps desired image can be chosen in Murano dashboard and used for services platform.</para>
</chapter>
</book>

View File

@ -441,19 +441,13 @@ rabbitmqctl set_permissions -p muranovhost muranouser ".*" ".*" ".*"
</listitem>
<listitem>
<anchor xml:id="murano_api_endpoint"></anchor>
<para>Register murano-api service in Openstack. </para>
<para>Note: you need to be authorized in Openstack to run this commands. To do this, you can run something like (having changed variables to appropriate values)</para>
<para>Register murano-api service in Openstack. To do that perform the folowwing commands:</para>
<note><para>You need to be authorized in Openstack to run this commands</para></note>
<programlisting>
<![CDATA[
source $(YOUR_OPENSTACK_DIR)/openrc $(LOGIN) $(PASSWORD)
]]>
</programlisting>
<programlisting>
<![CDATA[
keystone service-create --name muranoapi --type murano --description "Murano-Api Service"
keystone endpoint-create
$ keystone service-create --name muranoapi --type murano --description "Murano-Api Service"
$ keystone endpoint-create
--region RegionOne
--service-id The ID field returned by the keystone service-create
--publicurl http://x.x.x.x:8082 (where x.x.x.x - host ip where murano-api installed)
@ -704,9 +698,8 @@ sudo su -
</programlisting>
</listitem>
<listitem>
<para>Make sure that additional repositories are installed.
See <link linkend="Appendix">the appendix</link>
for information about preparing a virtual machine for murano installation.
<para>Make sure that additional repositories are installed and your system is updated and upgraded.
Please check from with steps in the <link linked="Appendix">appendix</link>.
</para>
</listitem>
<listitem>