Cherry pick from master branch

* Remove error code during creation existing directory

      Closes-bug: #1269319

    * Fix issues in admin guide

      * comments mentioned in https://review.openstack.org/#/c/65926/
      * document style (XML style, formatting issues)

      Closes-Bug: 1268537

Change-Id: I726d8b8849b2ccd44fdbf9d7b4ce65f3a62cf4aa
This commit is contained in:
Ekaterina Fedorova
2014-01-16 18:32:44 +04:00
parent 81a15d9ddf
commit 8c4643abc5
4 changed files with 1305 additions and 1138 deletions

View File

@@ -47,11 +47,6 @@
qemu-kvm qemu-kvm
</para> </para>
</listitem> </listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem> <listitem>
<para> <para>
python-libvirt python-libvirt
@@ -67,16 +62,6 @@
libvirt0 libvirt0
</para> </para>
</listitem> </listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
</para>
</listitem>
<listitem> <listitem>
<para> <para>
virt-goodies virt-goodies
@@ -112,21 +97,22 @@
<para> <para>
On Ubuntu you could install them using the command below: On Ubuntu you could install them using the command below:
</para> </para>
<screen> <screen>
># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \ ># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
virtinst virt-manager libvirt0 libvirt-bin \ virtinst virt-manager libvirt0 libvirt-bin \
munin-libvirt-plugins python python-libvirt \ python python-libvirt \
python-libxml2 python-minimal python-pycurl \ python-libxml2 python-minimal python-pycurl \
python-pyorbit python-requests python-six \ python-pyorbit python-requests python-six \
samba samba-common openssh-server virt-top virt-what samba samba-common openssh-server virt-top virt-what
</screen> </screen>
</section> </section>
<section> <section>
<title>Build Linux Image</title> <title>Build Linux Image</title>
<para> <para>
<emphasis role="strong">Create a VM</emphasis> <emphasis role="strong">Create a VM</emphasis>
</para> </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 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. CLI or using GUI tools. We describe both in this section.
</para> </para>
@@ -147,23 +133,23 @@
<para> <para>
Preallocate disk image Preallocate disk image
</para> </para>
<screen> <screen>
># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G ># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G
</screen> </screen>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Start the VM Start the VM
</para> </para>
<screen> <screen>
># virt-install --connect qemu:///system --hvm --name cloud-linux \ ># virt-install --connect qemu:///system --hvm --name cloud-linux \
--ram 2048 --vcpus 2 --cdrom /PATH_TO_YOUR_LINUX.ISO \ --ram 2048 --vcpus 2 --cdrom /PATH_TO_YOUR_LINUX.ISO \
--disk path=/var/lib/libvirt/images/cloud-linux.img, \ --disk path=/var/lib/libvirt/images/cloud-linux.img, \
format=qcow2,bus=virtio,cache=none \ format=qcow2,bus=virtio,cache=none \
--network network=default,model=virtio \ --network network=default,model=virtio \
--memballoon model=virtio --vnc --os-type=linux \ --memballoon model=virtio --vnc --os-type=linux \
--accelerate --noapic --keymap=en-us --video=cirrus --force --accelerate --noapic --keymap=en-us --video=cirrus --force
</screen> </screen>
</listitem> </listitem>
</orderedlist> </orderedlist>
</para> </para>
@@ -176,8 +162,9 @@
<para> <para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Launch <emphasis role="italic">virt-manager</emphasis> from shell <para>
as root </para> Launch <emphasis role="italic">virt-manager</emphasis> from shell as root
</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
@@ -214,15 +201,18 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <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> </para>
</listitem> </listitem>
<listitem> <listitem>
<para>Set network device model <emphasis role="bold">VirtIO</emphasis> <para>
Set network device model <emphasis role="bold">VirtIO</emphasis>
</para> </para>
</listitem> </listitem>
<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 <emphasis role="bold">Console</emphasis> button
</para> </para>
</listitem> </listitem>
@@ -234,32 +224,38 @@
<para> <para>
<emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis> <emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis>
</para> </para>
<screen> <screen>
># for action in update upgrade dist-upgrade;do apt-get -y $action;done ># apt-get -y update; apt-get -y dist-upgrade
># apt-get install -y git unzip make cmake gcc python-dev python-pip openssh-server sudo ># apt-get install -y git unzip make cmake gcc \
</screen> python-dev python-pip openssh-server
</screen>
<para> <para>
<emphasis role="strong">CentOS 6.4 x86_64</emphasis> <emphasis role="strong">CentOS 6.4 x86_64</emphasis>
</para> </para>
<screen> <screen>
># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm ># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/\
># for action in update upgrade;do yum -y $action; done x86_64/epel-release-6-8.noarch.rpm
># yum install -y git unzip make cmake gcc python-devel python-pip openssh-server openssh-clients sudo ># yum -y update; yum -y upgrade
</screen> ># yum install -y git unzip make cmake gcc \
python-devel python-pip openssh-server openssh-clients sudo
</screen>
<para> <para>
<emphasis role="strong">murano-agent installation steps</emphasis> <emphasis role="strong">murano-agent installation steps</emphasis>
</para> </para>
<screen> <screen>
># mkdir -p /opt/git ># mkdir -p /opt/git
># cd /opt/git ># cd /opt/git
># git clone https://github.com/stackforge/murano-agent.git ># git clone https://github.com/stackforge/murano-agent.git
># cd murano-agent/python-agent ># cd murano-agent/python-agent
># git checkout release-0.3 ># git checkout release-0.3
># chmod a+x setup*.sh ># chmod a+x setup*.sh
# To install Murano Agent on Ubuntu run:
># ./setup.sh install ># ./setup.sh install
or
# To install Murano Agent on CentOS run:
># ./setup-centos.sh install ># ./setup-centos.sh install
</screen> </screen>
<para> <para>
<emphasis role="strong">cloud-init installation steps</emphasis> <emphasis role="strong">cloud-init installation steps</emphasis>
<itemizedlist> <itemizedlist>
@@ -267,24 +263,24 @@ or
<para> <para>
<emphasis role="bold">Ubuntu</emphasis> <emphasis role="bold">Ubuntu</emphasis>
</para> </para>
<screen> <screen>
># apt-get install -y cloud-init cloud-initramfs-growroot ># apt-get install -y cloud-init cloud-initramfs-growroot
</screen> </screen>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis role="bold">CentOS</emphasis> <emphasis role="bold">CentOS</emphasis>
</para> </para>
<screen> <screen>
># yum install -y cloud-init ># yum install -y cloud-init
</screen> </screen>
<note> <note>
<para> <para>
<emphasis role="bold">Ubuntu only</emphasis> <emphasis role="bold">Ubuntu only</emphasis>
</para> </para>
<screen> <screen>
># dpkg-reconfigure cloud-init ># dpkg-reconfigure cloud-init
</screen> </screen>
<para> <para>
Mark <emphasis role="bold">EC2</emphasis> data source support, save and exit or add manualy <emphasis role="bold">Ec2</emphasis> to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg Mark <emphasis role="bold">EC2</emphasis> data source support, save and exit or add manualy <emphasis role="bold">Ec2</emphasis> to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg
</para> </para>
@@ -294,12 +290,14 @@ or
<para> <para>
<emphasis role="strong">Minimal cloud-init configuration options</emphasis> <emphasis role="strong">Minimal cloud-init configuration options</emphasis>
</para> </para>
<screen> <screen>
># vi /etc/cloud/cloud.cfg: ># vi /etc/cloud/cloud.cfg
user: ec2-user </screen>
disable_root: 1 <screen>
preserve_hostname: False user: ec2-user
</screen> disable_root: 1
preserve_hostname: False
</screen>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@@ -313,40 +311,40 @@ or
<para> <para>
<emphasis role="strong">Ubuntu</emphasis> <emphasis role="strong">Ubuntu</emphasis>
</para> </para>
<screen> <screen>
># useradd -m -G sudo -s /bin/bash ec2-user ># useradd -m -G sudo -s /bin/bash ec2-user
># passwd ec2-user ># passwd ec2-user
</screen> </screen>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis role="strong">CentOS</emphasis> <emphasis role="strong">CentOS</emphasis>
</para> </para>
<screen> <screen>
># useradd -m -G wheel -s /bin/bash ec2-user ># useradd -m -G wheel -s /bin/bash ec2-user
># passwd ec2-user ># passwd ec2-user
</screen> </screen>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis role="strong">Sudo</emphasis> <emphasis role="strong">Sudo</emphasis>
</para> </para>
<screen> <screen>
># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user ># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user
># chmod 440 /etc/sudoers.d/ec2-user ># chmod 440 /etc/sudoers.d/ec2-user
</screen> </screen>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis> <emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis>
</para> </para>
<screen> <screen>
... ...
GSSAPIAuthentication no GSSAPIAuthentication no
PasswordAuthentication no PasswordAuthentication no
PermitRootLogin no PermitRootLogin no
... ...
</screen> </screen>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@@ -357,18 +355,18 @@ PermitRootLogin no
<para> <para>
<emphasis role="strong">Ubuntu</emphasis> <emphasis role="strong">Ubuntu</emphasis>
</para> </para>
<screen> <screen>
># rm -rf /etc/udev/rules.d/70-persistent-net.rules ># rm -f /etc/udev/rules.d/70-persistent-net.rules
</screen> </screen>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<emphasis role="strong">CentOS</emphasis> <emphasis role="strong">CentOS</emphasis>
Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth* Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth*
</para> </para>
<screen> <screen>
># rm -rf /etc/udev/rules.d/70-persistent-net.rules ># rm -f /etc/udev/rules.d/70-persistent-net.rules
</screen> </screen>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@@ -378,14 +376,14 @@ PermitRootLogin no
<formalpara> <formalpara>
<title>Convert the image from RAW to QCOW2 format if you made it as RAW</title> <title>Convert the image from RAW to QCOW2 format if you made it as RAW</title>
<para> <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> </para>
</formalpara> </formalpara>
<para> <para>
<screen> <screen>
># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \ ># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \
/var/lib/libvirt/images/cloud-linux.img.qcow2 /var/lib/libvirt/images/cloud-linux.img.qcow2
</screen> </screen>
</para> </para>
</section> </section>
<section> <section>
@@ -394,11 +392,13 @@ PermitRootLogin no
Services deployed by Murano require specially prepared images. Services deployed by Murano require specially prepared images.
After images are created they should be registered in Openstack Glance - image operation service. After images are created they should be registered in Openstack Glance - image operation service.
</para> </para>
<screen> <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 \
</screen> --is-public=true --file=cloud-linux.img --name=cloud-linux
</screen>
<note> <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: Navigate to Project -&gt; Environments -&gt; Marked Images -&gt; Mark Image and fill up form:
<itemizedlist> <itemizedlist>
<listitem> <listitem>

View File

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

View File

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

View File

@@ -696,9 +696,7 @@
</row> </row>
<row> <row>
<entry>403</entry> <entry>403</entry>
<entry>The object specified by full_path_to_object is directory <entry>The object_type is &quot;manifest&quot;</entry>
and it is not empty or object_type is set to
&quot;manifest&quot;</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>