Merge "Fix issues in admin guide"

This commit is contained in:
Jenkins 2014-01-20 12:32:48 +00:00 committed by Gerrit Code Review
commit 094351ad46
3 changed files with 1304 additions and 1135 deletions

View File

@ -47,11 +47,6 @@
qemu-kvm
</para>
</listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
@ -67,16 +62,6 @@
libvirt0
</para>
</listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
</para>
</listitem>
<listitem>
<para>
virt-goodies
@ -115,7 +100,7 @@
<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 python-libvirt \
python-libxml2 python-minimal python-pycurl \
python-pyorbit python-requests python-six \
samba samba-common openssh-server virt-top virt-what
@ -126,7 +111,8 @@
<para>
<emphasis role="strong">Create a VM</emphasis>
</para>
<para>This section describes steps required to build an image of Linux Virtual Machine
<para>
This section describes the steps required to build an image of Linux Virtual Machine
which could be used with Murano. There are two possible ways to create it - from
CLI or using GUI tools. We describe both in this section.
</para>
@ -176,8 +162,9 @@
<para>
<orderedlist>
<listitem>
<para>Launch <emphasis role="italic">virt-manager</emphasis> from shell
as root </para>
<para>
Launch <emphasis role="italic">virt-manager</emphasis> from shell as root
</para>
</listitem>
<listitem>
<para>
@ -214,15 +201,18 @@
</listitem>
<listitem>
<para>
Add (or create new) HDD image with Disk bus <emphasis role="bold">VirtIO</emphasis> and storage format <emphasis role="bold">QCOW2</emphasis>
Add (or create new) HDD image with Disk bus <emphasis role="bold">VirtIO</emphasis>
and storage format <emphasis role="bold">QCOW2</emphasis>
</para>
</listitem>
<listitem>
<para>Set network device model <emphasis role="bold">VirtIO</emphasis>
<para>
Set network device model <emphasis role="bold">VirtIO</emphasis>
</para>
</listitem>
<listitem>
<para>Start installation process and open guest vm screen through
<para>
Start installation process and open guest vm screen through
<emphasis role="bold">Console</emphasis> button
</para>
</listitem>
@ -235,16 +225,19 @@
<emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis>
</para>
<screen>
># for action in update upgrade dist-upgrade;do apt-get -y $action;done
># apt-get install -y git unzip make cmake gcc python-dev python-pip openssh-server sudo
># apt-get -y update; apt-get -y dist-upgrade
># apt-get install -y git unzip make cmake gcc \
python-dev python-pip openssh-server
</screen>
<para>
<emphasis role="strong">CentOS 6.4 x86_64</emphasis>
</para>
<screen>
># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
># for action in update upgrade;do yum -y $action; done
># yum install -y git unzip make cmake gcc python-devel python-pip openssh-server openssh-clients sudo
># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/\
x86_64/epel-release-6-8.noarch.rpm
># yum -y update; yum -y upgrade
># yum install -y git unzip make cmake gcc \
python-devel python-pip openssh-server openssh-clients sudo
</screen>
<para>
<emphasis role="strong">murano-agent installation steps</emphasis>
@ -256,8 +249,11 @@
># cd murano-agent/python-agent
># git checkout release-0.3
># chmod a+x setup*.sh
# To install Murano Agent on Ubuntu run:
># ./setup.sh install
or
# To install Murano Agent on CentOS run:
># ./setup-centos.sh install
</screen>
<para>
@ -295,7 +291,9 @@ or
<emphasis role="strong">Minimal cloud-init configuration options</emphasis>
</para>
<screen>
># vi /etc/cloud/cloud.cfg:
># vi /etc/cloud/cloud.cfg
</screen>
<screen>
user: ec2-user
disable_root: 1
preserve_hostname: False
@ -358,7 +356,7 @@ PermitRootLogin no
<emphasis role="strong">Ubuntu</emphasis>
</para>
<screen>
># rm -rf /etc/udev/rules.d/70-persistent-net.rules
># rm -f /etc/udev/rules.d/70-persistent-net.rules
</screen>
</listitem>
<listitem>
@ -367,7 +365,7 @@ PermitRootLogin no
Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth*
</para>
<screen>
># rm -rf /etc/udev/rules.d/70-persistent-net.rules
># rm -f /etc/udev/rules.d/70-persistent-net.rules
</screen>
</listitem>
</itemizedlist>
@ -378,7 +376,7 @@ PermitRootLogin no
<formalpara>
<title>Convert the image from RAW to QCOW2 format if you made it as RAW</title>
<para>
The image must be converted from RAW format to QCOW2 before being imorted into Glance.
The image must be converted from RAW format to QCOW2 before being imported into Glance.
</para>
</formalpara>
<para>
@ -395,10 +393,12 @@ PermitRootLogin no
After images are created they should be registered in Openstack Glance - image operation service.
</para>
<screen>
># glance image-create --disk-format=qcow2 --container-format=bare --is-public=true --file=cloud-linux.img --name=cloud-linux
># glance image-create --disk-format=qcow2 --container-format=bare \
--is-public=true --file=cloud-linux.img --name=cloud-linux
</screen>
<note>
<para>Image should be marked with an appropriate type. That could be done through the Horizon UI.
<para>
Image should be marked with an appropriate type. That could be done through the Horizon UI.
Navigate to Project -&gt; Environments -&gt; Marked Images -&gt; Mark Image and fill up form:
<itemizedlist>
<listitem>

View File

@ -25,115 +25,169 @@
<title>Troubleshooting</title>
<formalpara>
<title>General Notes</title>
<para>The following debug sequence should be used when you have no idea about why the
system isn't working. If you have one, you may skip unnecessary sections.</para>
<para>
The following debug sequence should be used when you have no idea about why the
system isn't working. If you have one, you may skip unnecessary sections.
</para>
</formalpara>
<para>Set debug options to "True" in the following Murano configuration files:<itemizedlist>
<para>
Set debug options to "True" in the following Murano configuration files:
<itemizedlist>
<listitem>
<para>/etc/murano-api/murano-api.conf</para>
<para>
/etc/murano-api/murano-api.conf
</para>
</listitem>
<listitem>
<para>/etc/murano-conductor/conductor.conf</para>
<para>
/etc/murano-conductor/conductor.conf
</para>
</listitem>
</itemizedlist></para>
<para>Stop both <emphasis role="bold">murano-api</emphasis> and <emphasis role="bold"
>murano-conductor</emphasis> services. We will start them one by one from the
console.</para>
</itemizedlist>
</para>
<para>
Stop both <emphasis role="bold">murano-api</emphasis> and
<emphasis role="bold">murano-conductor</emphasis> services.
We will start them one by one from the console.
</para>
<formalpara>
<title>murano-api</title>
<para>First, the murano-api must be started.</para>
<para>
First, the murano-api must be started.
</para>
</formalpara>
<para>
<itemizedlist>
<listitem>
<para>Open new console</para>
<para>
Open new console
</para>
</listitem>
<listitem>
<para>Start <emphasis role="bold">murano-api</emphasis> service
manually<screen>># murano-api --config-dir /etc/murano-api 2>&amp;1 \
> /var/log/murano-api-live.log &amp;
># tailf /var/log/murano-api-live.log</screen></para>
<para>
Start <emphasis role="bold">murano-api</emphasis> service manually
<screen>
># murano-api --config-dir /etc/murano-api 2>&amp;1 >\
/var/log/murano-api-live.log &amp;
># tailf /var/log/murano-api-live.log
</screen>
</para>
</listitem>
<listitem>
<para>Open dashboard, create and send to deploy some simple
environment.</para>
<para>
Open dashboard, create and send to deploy some simple environment.
</para>
</listitem>
<listitem>
<para>Open RabbitMQ web console, open your vhost and ensure that queues were
created and there is at least one message.</para>
<para>
Open RabbitMQ web console, open your vhost and ensure that queues
were created and there is at least one message.
</para>
</listitem>
<listitem>
<para>Check log for errors - there shouldn't be any</para>
<para>
Check log for errors - there shouldn't be any
</para>
</listitem>
<listitem>
<para>Keep <emphasis role="bold">murano-api</emphasis> service
running</para>
<para>
Keep <emphasis role="bold">murano-api</emphasis> service running
</para>
</listitem>
</itemizedlist>
</para>
<formalpara>
<title>murano-conductor</title>
<para>Next to the <emphasis role="bold">murano-api</emphasis> the <emphasis role="bold"
>murano-conductor</emphasis> should be started
<para>
Next to the <emphasis role="bold">murano-api</emphasis> the
<emphasis role="bold">murano-conductor</emphasis> should be started
</para>
</formalpara>
<para>
<itemizedlist>
<listitem>
<para>Open new console</para>
<para>
Open new console
</para>
</listitem>
<listitem>
<para>Start conductor from
console<screen>># muranoconductor --config-dir /etc/murano-conductor \
> /var/log/murano-conductor-live.log &amp;
># tailf /var/log/murano-conductor-live.log</screen></para>
<para>
Start conductor from console
<screen>
># muranoconductor --config-dir /etc/murano-conductor >\
/var/log/murano-conductor-live.log &amp;
># tailf /var/log/murano-conductor-live.log
</screen>
</para>
</listitem>
<listitem>
<para>Check that there is no python exceptions in the log. Some errors like
404 are ok, as conductor tries to delete environment that doesn't
exist</para>
<para>
Check that there is no python exceptions in the log. Some errors like
404 are ok, as conductor tries to delete environment that doesn't exist
</para>
</listitem>
<listitem>
<para>Check heat stack status. It should not be in FAILED state. If it is -
check heat and nova error log to find the cause.</para>
<para>
Check heat stack status. It should not be in FAILED state.
If it is - check heat and nova error log to find the cause.
</para>
</listitem>
<listitem>
<para>Keep murano-conductor service running.</para>
<para>
Keep murano-conductor service running.
</para>
</listitem>
</itemizedlist>
</para>
<formalpara>
<title>Log Files</title>
<para>There are various log files which will help you to debug the system.</para>
<para>
There are various log files which will help you to debug the system.
</para>
</formalpara>
<para><emphasis role="bold">Murano Log Files</emphasis>
<para>
<emphasis role="bold">Murano Log Files</emphasis>
<itemizedlist>
<listitem>
<para>/var/log/murano-api.log</para>
<para>
/var/log/murano-api.log
</para>
</listitem>
<listitem>
<para>/var/log/murano-conductor.log</para>
<para>
/var/log/murano-conductor.log
</para>
</listitem>
<listitem>
<para>/var/log/apache2/errors.log</para>
<para>
/var/log/apache2/errors.log
</para>
</listitem>
<listitem>
<para>/var/log/httpd/errors.log</para>
<para>
/var/log/httpd/errors.log
</para>
</listitem>
</itemizedlist>
</para>
<para><emphasis role="bold">Windows Log Files</emphasis>
<para>
<emphasis role="bold">Windows Log Files</emphasis>
<itemizedlist>
<listitem>
<para>C:\Program Files (x86)\CloudBase Solutions\logs\log.txt</para>
<para>
C:\Program Files (x86)\CloudBase Solutions\logs\log.txt
</para>
</listitem>
<listitem>
<para>C:\Murano\Agent\log.txt</para>
<para>
C:\Murano\Agent\log.txt
</para>
</listitem>
<listitem>
<para>C:\Murano\PowerShell.log</para>
<para>
C:\Murano\PowerShell.log
</para>
</listitem>
</itemizedlist>
</para>
</chapter>

View File

@ -54,11 +54,6 @@
qemu-kvm
</para>
</listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
@ -74,16 +69,6 @@
libvirt0
</para>
</listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
</para>
</listitem>
<listitem>
<para>
virt-goodies
@ -122,7 +107,7 @@
<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 python-libvirt \
python-libxml2 python-minimal python-pycurl \
python-pyorbit python-requests python-six \
samba samba-common openssh-server virt-top virt-what
@ -172,14 +157,19 @@
</section>
<section>
<title>Prerequisites</title>
<para>Download the files below and copy them into their places in your <emphasis
role="bold">${SHARE_PATH}</emphasis> folder (we usually use <emphasis
role="bold">/opt/samba/share</emphasis> as <emphasis role="bold"
>${SHARE_PATH}</emphasis>):<itemizedlist>
<para>
Download the files below and copy them into their places in your
<emphasis role="bold">${SHARE_PATH}</emphasis> folder (we usually use
<emphasis role="bold">/opt/samba/share</emphasis> as <emphasis role="bold">${SHARE_PATH}</emphasis>):
<itemizedlist>
<listitem>
<para>Windows 2012 Server ISO evaluation version<itemizedlist>
<para>
Windows 2012 Server ISO evaluation version
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/libvirt/images/ws-2012-eval.iso</para>
<para>
${SHARE_PATH}/libvirt/images/ws-2012-eval.iso
</para>
</listitem>
<listitem>
<para>
@ -188,12 +178,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>VirtIO drivers for Windows<itemizedlist>
<para>
VirtIO drivers for Windows
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/libvirt/images/virtio-win-0.1-52.iso</para>
<para>
${SHARE_PATH}/libvirt/images/virtio-win-0.1-52.iso
</para>
</listitem>
<listitem>
<para>
@ -202,12 +197,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>CloudBase-Init for Windows<itemizedlist>
<para>
CloudBase-Init for Windows
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/CloudbaseInitSetup_Beta.msi</para>
<para>
${SHARE_PATH}/share/files/CloudbaseInitSetup_Beta.msi
</para>
</listitem>
<listitem>
<para>
@ -216,12 +216,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>Far Manager<itemizedlist>
<para>
Far Manager
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/Far30b3367.x64.20130426.msi</para>
<para>
${SHARE_PATH}/share/files/Far30b3367.x64.20130426.msi
</para>
</listitem>
<listitem>
<para>
@ -230,12 +235,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>Git client<itemizedlist>
<para>
Git client
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/Git-1.8.1.2-preview20130201.exe</para>
<para>
${SHARE_PATH}/share/files/Git-1.8.1.2-preview20130201.exe
</para>
</listitem>
<listitem>
<para>
@ -244,12 +254,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>Sysinternals Suite<itemizedlist>
<para>
Sysinternals Suite
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/SysinternalsSuite.zip</para>
<para>
${SHARE_PATH}/share/files/SysinternalsSuite.zip
</para>
</listitem>
<listitem>
<para>
@ -258,12 +273,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>unzip.exe tool<itemizedlist>
<para>
unzip.exe tool
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/unzip.exe</para>
<para>
${SHARE_PATH}/share/files/unzip.exe
</para>
</listitem>
<listitem>
<para>
@ -272,12 +292,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>PowerShell v3<itemizedlist>
<para>
PowerShell v3
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/Windows6.1-KB2506143-x64.msu</para>
<para>
${SHARE_PATH}/share/files/Windows6.1-KB2506143-x64.msu
</para>
</listitem>
<listitem>
<para>
@ -286,12 +311,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>.NET 4.0<itemizedlist>
<para>
.NET 4.0
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/dotNetFx40_Full_x86_x64.exe</para>
<para>
${SHARE_PATH}/share/files/dotNetFx40_Full_x86_x64.exe
</para>
</listitem>
<listitem>
<para>
@ -300,12 +330,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>.NET 4.5<itemizedlist>
<para>
.NET 4.5
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/dotNetFx45_Full_setup.exe</para>
<para>
${SHARE_PATH}/share/files/dotNetFx45_Full_setup.exe
</para>
</listitem>
<listitem>
<para>
@ -314,12 +349,17 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>Murano Agent<itemizedlist>
<para>
Murano Agent
<itemizedlist>
<listitem>
<para>${SHARE_PATH}/share/files/MuranoAgent.zip</para>
<para>
${SHARE_PATH}/share/files/MuranoAgent.zip
</para>
</listitem>
<listitem>
<para>
@ -328,89 +368,102 @@
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</section>
<section>
<title>Additional Software</title>
<para> This section describes additional software which is required to build an Windows
Image.</para>
<para><emphasis role="bold">Windows ADK</emphasis></para>
<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>
This section describes additional software which is required to build a Windows Image.
</para>
<para>
<emphasis role="bold">Windows ADK</emphasis>
</para>
<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>
<para><emphasis role="bold">PuTTY</emphasis></para>
<para>PuTTY is a useful tool to manage your Linux boxes via SSH.</para>
<para>
<emphasis role="bold">PuTTY</emphasis>
</para>
<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>
<para><emphasis role="bold">Windows Server 2012 ISO image</emphasis></para>
<para>We use the following Windows installation images:<itemizedlist>
<para>
<emphasis role="bold">Windows Server 2012 ISO image</emphasis>
</para>
<para>
We use the following Windows installation images:
<itemizedlist>
<listitem>
<para>Windows Server 2008 R2<itemizedlist>
<para>
Windows Server 2008 R2
<itemizedlist>
<listitem>
<para>Image Name:
7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso</para>
<para>
Image Name: 7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
</para>
</listitem>
<listitem>
<para>URL: <link
xlink:href="http://www.microsoft.com/en-us/download/details.aspx?id=11093"
>
<para>
URL: <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>
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>Windows Server 2012<itemizedlist>
<para>
Windows Server 2012
<itemizedlist>
<listitem>
<para>Image Name:
9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.iso</para>
<para>
Image Name: 9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_EN-US-HRM_SSS_X64FREE_EN-US_DV5.iso
</para>
</listitem>
<listitem>
<para>URL: <link
xlink:href="http://technet.microsoft.com/en-US/evalcenter/hh670538.aspx?ocid=&amp;wt.mc_id=TEC_108_1_33"
>
<para>
URL: <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>
</link>
</para>
</listitem>
</itemizedlist></para>
</itemizedlist>
</para>
</listitem>
</itemizedlist></para>
<para><emphasis role="bold">VirtIO Red Hat drivers ISO image</emphasis></para>
</itemizedlist>
</para>
<para>
<emphasis role="bold">VirtIO Red Hat drivers ISO image</emphasis>
</para>
<warning>
<para>
Please, choose stable version instead of latest, We&#8217;ve got errors with unstable drivers during guest unattended install.
</para>
</warning>
<para>Download drivers from <link xlink:href="http://alt.fedoraproject.org/pub/alt/virtio-win/stable/">
<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><emphasis role="bold">Floppy Image With Unattended File</emphasis></para>
<para>
<emphasis role="bold">Floppy Image With Unattended File</emphasis>
</para>
<para>
Run following commands as root:
</para>
<orderedlist numeration="arabic">
<listitem>
<para>
@ -446,7 +499,8 @@
</listitem>
<listitem>
<para>
Copy our <emphasis role="strong">autounattend.xml</emphasis> to <emphasis role="strong">/media/floppy</emphasis>
Copy our <emphasis role="strong">autounattend.xml</emphasis> to
<emphasis role="strong">/media/floppy</emphasis>
</para>
<screen>
># cp ~/autounattend.xml /media/floppy
@ -466,23 +520,30 @@
<title>Build Windows Image (Automatic Way)</title>
<orderedlist numeration="arabic">
<listitem>
<para>Clone <emphasis role="strong">murano-deployment</emphasis> repository </para>
<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>
<para>
Change directory to <emphasis role="strong">murano-deployment/image-builder</emphasis> folder.
</para>
</listitem>
<listitem>
<para>Create folder structure for image builder </para>
<para>
Create folder structure for image builder
</para>
<screen>
># make build-root
</screen>
</listitem>
<listitem>
<para>Create shared resource </para>
<para>
Create shared resource
</para>
<formalpara>
<title>Add to /etc/samba/smb.conf</title>
<para>
@ -508,84 +569,108 @@
</formalpara>
</listitem>
<listitem>
<para>Test that all required files are in place </para>
<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>
<para>
Get list of available images
</para>
<screen>
># make
</screen>
</listitem>
<listitem>
<para>Run image build process </para>
<para>
Run image build process
</para>
<screen>
># make ws-2012-std
</screen>
</listitem>
<listitem>
<para>Wait until process finishes </para>
<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>
<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>
</section>
<section>
<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 in the previous chapter. </para>
<para>
Please note that the preferred way to build images is to use
<emphasis role="strong">Automated Build</emphasis> described in the previous chapter.
</para>
</warning>
<para><emphasis role="strong">Get Post-Install Scripts</emphasis></para>
<para>There are a few scripts which perform all the required post-installation tasks. </para>
<para>Package installation tasks are performed by script named <emphasis role="strong"
>wpi.ps1</emphasis>. </para>
<para>Download it from <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>
<emphasis role="strong">Get Post-Install Scripts</emphasis>
</para>
<para>
There are a few scripts which perform all the required post-installation tasks.
</para>
<para>
Package installation tasks are performed by script named
<emphasis role="strong">wpi.ps1</emphasis>.
</para>
<para>
Download it from
<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>
<note>
<para>There are a few scripts named <emphasis role="strong">wpi.ps1</emphasis>, each
<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>
<para>Clean-up actions to finish image preparation are performed by <emphasis role="strong">Start-Sysprep.ps1</emphasis>
script.</para>
<para>Download it from <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>
folder.
</para>
<para>These scripts should be copied to the shared resource folder, subfolder <emphasis
role="strong">Scripts</emphasis>.</para>
<para><emphasis role="strong">Create a VM</emphasis></para>
<para>This section describes steps required to build an image of Windows Virtual Machine
</note>
<para>
Clean-up actions to finish image preparation are performed by
<emphasis role="strong">Start-Sysprep.ps1</emphasis> script.
</para>
<para>
Download it from
<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>
<para>
These scripts should be copied to the shared resource folder, subfolder
<emphasis role="strong">Scripts</emphasis>.
</para>
<para>
<emphasis role="strong">Create a VM</emphasis>
</para>
<para>
This section describes steps required to build an image of Windows Virtual Machine
which could be used with Murano. There are two possible ways to create it - from
CLI or using GUI tools. We describe both in this section. </para>
CLI or using GUI tools. We describe both in this section.
</para>
<note>
<para>
Run all commands as root.
</para>
</note>
<para><emphasis role="strong">Way 1: Using CLI Tools</emphasis></para>
<para>This section describes the required step to launch a VM using CLI tools only. </para>
<para>
<emphasis role="strong">Way 1: Using CLI Tools</emphasis>
</para>
<para>
This section describes the required step to launch a VM using CLI tools only.
</para>
<para>
<orderedlist>
<listitem>
@ -616,68 +701,87 @@
</listitem>
</orderedlist>
</para>
<para><emphasis role="strong">Way 2: Using virt-manager UI</emphasis></para>
<para>A VM also could be lauched via GUI tools like virt-manager. </para>
<para>
<emphasis role="strong">Way 2: Using virt-manager UI</emphasis>
</para>
<para>
A VM also could be lauched via GUI tools like virt-manager.
</para>
<para>
<orderedlist>
<listitem>
<para>Launch <emphasis role="italic">virt-manager</emphasis> from shell
as root </para>
<para>
Launch <emphasis role="italic">virt-manager</emphasis> from shell as root
</para>
</listitem>
<listitem>
<para>Set a name for VM and select Local install media</para>
<para>
Set a name for VM and select Local install media
</para>
</listitem>
<listitem>
<para>Add one cdrom and attach Windows Server ISO image to it</para>
<para>
Add one cdrom and attach Windows Server ISO image to it
</para>
</listitem>
<listitem>
<para>Select OS type <emphasis role="bold">Windows</emphasis> and it's
<para>
Select OS type <emphasis role="bold">Windows</emphasis> and it's
version <emphasis role="bold">Windows Server 2008</emphasis>
</para>
</listitem>
<listitem>
<para>Set CPU and RAM amount </para>
</listitem>
<listitem>
<para>Deselect option <emphasis role="bold">Enable storage for this
virtual machine</emphasis>
<para>
Set CPU and RAM amount
</para>
</listitem>
<listitem>
<para>Select option <emphasis role="bold">Customize configuration before
install</emphasis>
<para>
Deselect option <emphasis role="bold">Enable storage for this virtual machine
</emphasis>
</para>
</listitem>
<listitem>
<para>Add second cdrom for ISO image with virtio drivers</para>
</listitem>
<listitem>
<para>Add a floppy drive and attach our floppy image to it</para>
</listitem>
<listitem>
<para>Add (or create new) HDD image with Disk bus <emphasis role="bold"
>VirtIO</emphasis> and storage format <emphasis role="bold"
>RAW</emphasis>
<para>
Select option <emphasis role="bold">Customize configuration before install
</emphasis>
</para>
</listitem>
<listitem>
<para>Set network device model <emphasis role="bold">VirtIO</emphasis>
<para>
Add second cdrom for ISO image with virtio drivers
</para>
</listitem>
<listitem>
<para>Start installation process and open guest vm screen through
<emphasis role="bold">Console</emphasis> button </para>
<para>
Add a floppy drive and attach our floppy image to it
</para>
</listitem>
<listitem>
<para>
Add (or create new) HDD image with Disk bus
<emphasis role="bold">VirtIO</emphasis> and storage format
<emphasis role="bold">RAW</emphasis>
</para>
</listitem>
<listitem>
<para>
Set network device model <emphasis role="bold">VirtIO</emphasis>
</para>
</listitem>
<listitem>
<para>
Start installation process and open guest vm screen through
<emphasis role="bold">Console</emphasis> button
</para>
</listitem>
</orderedlist>
</para>
<formalpara>
<title>Convert the image from RAW to QCOW2 format</title>
<para>The image must be converted from RAW format to QCOW2 before being imorted into
Glance. </para>
<para>
The image must be converted from RAW format to QCOW2 before being imorted into Glance.
</para>
</formalpara>
<para>
<screen>
@ -685,13 +789,14 @@
/var/lib/libvirt/images/ws-2012-ref.qcow2
</screen>
</para>
</section>
<section>
<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.
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>
@ -706,7 +811,8 @@
</screen>
</para>
<para>
Replace the command line arguments to glance image-create with the appropriate values for your environment and disk image:
Replace the command line arguments to <emphasis role="italic">glance image-create</emphasis>
with the appropriate values for your environment and disk image:
</para>
<itemizedlist>
<listitem>
@ -722,17 +828,24 @@
</para>
</listitem>
<listitem>
<para> Replace <emphasis role="bold">&lt;IMAGE_METADATA></emphasis> with the
following property string
<para>
Replace <emphasis role="bold">&lt;IMAGE_METADATA></emphasis> with the following property string
(It <emphasis role="bold">MUST</emphasis> be one-line string!)
<screen>
murano_image_info='{"title": "Windows 2012 Standart Edition", "type": "windows.2012"}'
murano_image_info='{"title": "Windows 2012 Standart Edition",
"type": "windows.2012"}'
</screen>
where <itemizedlist>
where
<itemizedlist>
<listitem>
<para>title - user-friendly description of the image</para>
<para>
<emphasis role="bold">title</emphasis> - user-friendly description of the image
</para>
</listitem>
<listitem>
<para>type - is a image type, for example 'windows.2012'</para>
<para>
<emphasis role="bold">type</emphasis> - an image type, for example 'windows.2012'
</para>
</listitem>
</itemizedlist>
</para>
@ -740,7 +853,9 @@ murano_image_info='{"title": "Windows 2012 Standart Edition", "type": "windows.2
</itemizedlist>
</listitem>
<listitem>
<para> To update metadata of the existing image run the command:</para>
<para>
To update metadata of the existing image run the command:
</para>
<screen>
>$ glance image-update &lt;IMAGE-ID> --property &lt;IMAGE_MATADATA>
</screen>
@ -751,10 +866,10 @@ murano_image_info='{"title": "Windows 2012 Standart Edition", "type": "windows.2
</para>
</listitem>
<listitem>
<para> Replace <emphasis role="bold">&lt;IMAGE_METADATA></emphasis> with
murano_image_info property, e.g.
<para>
Replace <emphasis role="bold">&lt;IMAGE_METADATA></emphasis> with murano_image_info property, e.g.
<screen>
murano_image_info='{"title": "Windows 2012 Standart Edition", "type": "windows.2012"}'
murano_image_info='{"title": "Windows 2012 Std", "type": "windows.2012"}'
</screen>
</para>
</listitem>
@ -762,11 +877,11 @@ murano_image_info='{"title": "Windows 2012 Standart Edition", "type": "windows.2
</listitem>
</orderedlist>
<warning>
<para>The value of the <emphasis role="bold"
>--property</emphasis> argument named <emphasis
role="bold">murano_image_info</emphasis> is a JSON
string. Only double quotes are valid in JSON, so please type
the string exactly as in the example above. </para>
<para>
The value of the <emphasis role="bold">--property</emphasis> argument named
<emphasis role="bold">murano_image_info</emphasis> is a JSON string.
Only double quotes are valid in JSON, so please type the string exactly as in the example above.
</para>
</warning>
<para>
After these steps desired image can be chosen in Murano dashboard and used for services platform.