Cherry-pick from the release-0.4 branch

* Fix issues in admin guide

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

   Closes-Bug: 1268537

* Resolve documentation issues

   Fix comments that was not fixed in original
   Closes-bug: #1268537

* Update documentation for a release-0.4.1 release

   Closes-bug: #1268537

Change-Id: I5bf3f01500dc4023e5477e5173d4f6a9922bd034
This commit is contained in:
Dmitry Teselkin 2014-01-17 15:35:50 +04:00 committed by Ekaterina Fedorova
parent 094351ad46
commit 4cb3f3de6c
8 changed files with 1376 additions and 1221 deletions

View File

@ -656,7 +656,8 @@ initctl start murano-conductor
<section>
<title>Murano Repository Service</title>
<para>Murano Repository provides access to metadata for Murano Conductor and Murano Dashboard.
It also allows to manage metadata objects via API.</para>
It also allows to manage metadata objects via API.
Editing service definitions (and other data stored in Murano Repository) is made separately for each tenant.</para>
<para>This chapter describes the procedure of installation and configuration of Murano Repository.</para>
<section>
<title>Install</title>

View File

@ -47,6 +47,11 @@
qemu-kvm
</para>
</listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
@ -62,6 +67,16 @@
libvirt0
</para>
</listitem>
<listitem>
<para>
munin-libvirt-plugins
</para>
</listitem>
<listitem>
<para>
python-libvirt
</para>
</listitem>
<listitem>
<para>
virt-goodies
@ -97,22 +112,21 @@
<para>
On Ubuntu you could install them using the command below:
</para>
<screen>
<screen>
># apt-get install ipxe-qemu kvm-ipxe qemu-kvm virt-goodies \
virtinst virt-manager libvirt0 libvirt-bin \
python python-libvirt \
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>
</screen>
</section>
<section>
<title>Build Linux Image</title>
<para>
<emphasis role="strong">Create a VM</emphasis>
</para>
<para>
This section describes the steps required to build an image of Linux Virtual Machine
<para>This section describes 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>
@ -133,23 +147,23 @@
<para>
Preallocate disk image
</para>
<screen>
<screen>
># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G
</screen>
</screen>
</listitem>
<listitem>
<para>
Start the VM
</para>
<screen>
<screen>
># virt-install --connect qemu:///system --hvm --name cloud-linux \
--ram 2048 --vcpus 2 --cdrom /PATH_TO_YOUR_LINUX.ISO \
--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 \
--memballoon model=virtio --vnc --os-type=linux \
--accelerate --noapic --keymap=en-us --video=cirrus --force
</screen>
</screen>
</listitem>
</orderedlist>
</para>
@ -162,9 +176,8 @@ format=qcow2,bus=virtio,cache=none \
<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>
@ -201,18 +214,15 @@ format=qcow2,bus=virtio,cache=none \
</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>
@ -224,25 +234,22 @@ format=qcow2,bus=virtio,cache=none \
<para>
<emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis>
</para>
<screen>
># 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>
<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
</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
># yum -y update; yum -y upgrade
># yum install -y git unzip make cmake gcc \
python-devel python-pip openssh-server openssh-clients sudo
</screen>
<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
</screen>
<para>
<emphasis role="strong">murano-agent installation steps</emphasis>
</para>
<screen>
<screen>
># mkdir -p /opt/git
># cd /opt/git
># git clone https://github.com/stackforge/murano-agent.git
@ -252,10 +259,9 @@ x86_64/epel-release-6-8.noarch.rpm
# To install Murano Agent on Ubuntu run:
># ./setup.sh install
# To install Murano Agent on CentOS run:
or
># ./setup-centos.sh install
</screen>
</screen>
<para>
<emphasis role="strong">cloud-init installation steps</emphasis>
<itemizedlist>
@ -263,24 +269,24 @@ x86_64/epel-release-6-8.noarch.rpm
<para>
<emphasis role="bold">Ubuntu</emphasis>
</para>
<screen>
<screen>
># apt-get install -y cloud-init cloud-initramfs-growroot
</screen>
</screen>
</listitem>
<listitem>
<para>
<emphasis role="bold">CentOS</emphasis>
</para>
<screen>
<screen>
># yum install -y cloud-init
</screen>
</screen>
<note>
<para>
<emphasis role="bold">Ubuntu only</emphasis>
</para>
<screen>
<screen>
># dpkg-reconfigure cloud-init
</screen>
</screen>
<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
</para>
@ -290,14 +296,12 @@ x86_64/epel-release-6-8.noarch.rpm
<para>
<emphasis role="strong">Minimal cloud-init configuration options</emphasis>
</para>
<screen>
># vi /etc/cloud/cloud.cfg
</screen>
<screen>
user: ec2-user
disable_root: 1
preserve_hostname: False
</screen>
<screen>
># vi /etc/cloud/cloud.cfg:
user: ec2-user
disable_root: 1
preserve_hostname: False
</screen>
</listitem>
</itemizedlist>
</para>
@ -311,40 +315,40 @@ preserve_hostname: False
<para>
<emphasis role="strong">Ubuntu</emphasis>
</para>
<screen>
<screen>
># useradd -m -G sudo -s /bin/bash ec2-user
># passwd ec2-user
</screen>
</screen>
</listitem>
<listitem>
<para>
<emphasis role="strong">CentOS</emphasis>
</para>
<screen>
<screen>
># useradd -m -G wheel -s /bin/bash ec2-user
># passwd ec2-user
</screen>
</screen>
</listitem>
<listitem>
<para>
<emphasis role="strong">Sudo</emphasis>
</para>
<screen>
<screen>
># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user
># chmod 440 /etc/sudoers.d/ec2-user
</screen>
</screen>
</listitem>
<listitem>
<para>
<emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis>
</para>
<screen>
<screen>
...
GSSAPIAuthentication no
PasswordAuthentication no
PermitRootLogin no
...
</screen>
</screen>
</listitem>
</itemizedlist>
</para>
@ -355,18 +359,18 @@ PermitRootLogin no
<para>
<emphasis role="strong">Ubuntu</emphasis>
</para>
<screen>
># rm -f /etc/udev/rules.d/70-persistent-net.rules
</screen>
<screen>
># rm -rf /etc/udev/rules.d/70-persistent-net.rules
</screen>
</listitem>
<listitem>
<para>
<emphasis role="strong">CentOS</emphasis>
Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth*
</para>
<screen>
># rm -f /etc/udev/rules.d/70-persistent-net.rules
</screen>
<screen>
># rm -rf /etc/udev/rules.d/70-persistent-net.rules
</screen>
</listitem>
</itemizedlist>
</para>
@ -376,14 +380,14 @@ 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 imported into Glance.
The image must be converted from RAW format to QCOW2 before being imorted into Glance.
</para>
</formalpara>
<para>
<screen>
<screen>
># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \
/var/lib/libvirt/images/cloud-linux.img.qcow2
</screen>
/var/lib/libvirt/images/cloud-linux.img.qcow2
</screen>
</para>
</section>
<section>
@ -392,13 +396,11 @@ PermitRootLogin no
Services deployed by Murano require specially prepared images.
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
</screen>
<screen>
># 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

@ -13,8 +13,7 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
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">
<title>Install Murano</title>
<para>This chapter describes Murano services installation in virtual
environment.</para>
@ -79,6 +78,9 @@
<para>Before installing any packages make sure that your system is
updated and upgraded.</para>
</note>
<note>
To deploy web farm services Neutron LBaaS (Neutron extension package) should be installed in Openstack
</note>
</section>
<section xml:id="venv">
<title>Installing with virtual environment</title>
@ -115,16 +117,17 @@ cd murano-api &amp;&amp; python ./tools/install_venv.py
</para>
</listitem>
<listitem>
<para>Config files are <filename>etc/murano-api.conf</filename>
where you just need to point out IP address where your RabbitMQ is
running, and <filename>etc/murano-api-paste.ini</filename>, which
doesn&apos;t require any changes.</para>
<para> Copy murano-api sample config file located at
<filename>etc/murano/murano-api.conf.sample</filename> to <filename>etc/murano/murano-api.conf</filename>.
In config file set up keystone endpoint in Openstack installation. Other settings are described in 'Murano Admin Guide'.
Config <filename>etc/murano/murano-api-paste.conf</filename>
doesn't require any modification.</para>
</listitem>
<listitem>
<para>
And finally run Murano API:
<programlisting>
./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano-api.conf
./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano/murano-api.conf
</programlisting>
</para>
</listitem>
@ -143,7 +146,7 @@ git clone https://github.com/stackforge/murano-conductor
</listitem>
<listitem>
<para>
Execute a script located at the
Execute the following script located at the
<filename>murano-conductor/tools</filename>
directory to create virtual environment automatically:
<programlisting>
@ -153,25 +156,17 @@ cd murano-conductor &amp;&amp; python ./tools/install_venv.py
</listitem>
<listitem>
<para>
Murano Conductor config file located at
<filename>etc/conductor.conf</filename>
For a local development comment data_dir parameter in this file:
<programlisting>
# Directory where conductor&apos;s data directory located.
# &quot;data&quot; must be subdirectory to this.
# data_dir = /etc/murano-conductor
</programlisting>
After that local
<filename>data</filename>
directory, which contain all necessary files will be used. All
other possible configuration described in the Murano Admin Guide.
Copy Murano Conductor sample config file located at
<filename>etc/murano/conductor.conf.sample</filename> to <filename>etc/murano/conductor.conf</filename>.
In config file set up keystone endpoint in Openstack installation.
All other possible configuration described in the Murano Admin Guide.
</para>
</listitem>
<listitem>
<para>
Run Murano Conductor:
<programlisting>
./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/conductor.conf
./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/murano/conductor.conf
</programlisting>
</para>
</listitem>
@ -200,14 +195,14 @@ cd murano-repository &amp;&amp; python ./tools/install_venv.py
</listitem>
<listitem>
<para>Copy a config file <filename>
etc/murano-repository.conf.sample</filename> to <filename>
etc/murano-repository.conf</filename> and point out Keystone parameters.</para>
etc/murano/murano-repository.conf.sample</filename> to <filename>
etc/murano/murano-repository.conf</filename> and point out Keystone parameters.</para>
</listitem>
<listitem>
<para>
And finally run Murano Repository:
<programlisting>
./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano-repository.conf
./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano/murano-repository.conf
</programlisting>
</para>
</listitem>
@ -262,11 +257,32 @@ cd murano-dashboard &amp;&amp; python ./tools/install_venv.py
<programlisting>
# cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py
</programlisting>
and set in just copied file the the actual IP address of the
OpenStack end-point. If you haven&apos;t register murano-api
service in the keystone catalog you can set MURANO_API_URL in the
same settings file. Note that local murano-api service will be
using by default.
and set in just copied file the following parameters:
<itemizedlist>
<listitem>
<para>
<emphasis>MURANO_API_URL</emphasis> Required if murano-api service is not registered in keystone.
Provide valid URL where Murano API is running
</para>
</listitem>
<listitem>
<para>
<emphasis>MURANO_METADATA_URL</emphasis>
Required if murano-repository service is not registered in keystone.
Provide valid URL where Murano Repository service is running
</para>
</listitem>
<listitem>
<para><emphasis>NETWORK_TOPOLOGY</emphasis></para> - network configuration.
Duplicates murano-conductor setting (routed - default, flat, nova).
</listitem>
</itemizedlist>
Since all UI forms are described in Metadata Repository and kept in Django sessions - default Memcached as a session backend is not
suitable for a dynamic UI and we need to use Database backend. (It's already set up in murano settings file).
But this requires to synchronize database with the specified settings:
<programlisting>
./tools/with_venv.sh ./manage.py syncdb
</programlisting>
</para>
</listitem>
<listitem>

View File

@ -86,6 +86,18 @@
</itemizedlist>
</entry>
</row>
<row>
<entry>
February. 5, 2013
</entry>
<entry>
<itemizedlist spacing="compact">
<listitem>
<para>Update for Release-0.4.1</para>
</listitem>
</itemizedlist>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View File

@ -52,6 +52,16 @@
<entry>0.3</entry>
<entry>2013-11-25</entry>
</row>
<row>
<entry>Release-0.4</entry>
<entry>0.3</entry>
<entry>2013-12-20</entry>
</row>
<row>
<entry>Release-0.4.1</entry>
<entry>0.3</entry>
<entry>2014-02-05</entry>
</row>
</tbody>
</tgroup>
</table>

View File

@ -117,6 +117,11 @@ some_key2 = some_value2
RabbitMQ
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://wiki.openstack.org/wiki/Neutron/LBaaS/HowToRun"> Neutron LBaaS (Neutron extension package)</link>
</para>
</listitem>
<listitem>
<para>Windows Server 2012 Standard image imported into Glance.
See <link linkend="Build Windows Image">Build Windows Image</link> chapter.
@ -126,7 +131,7 @@ some_key2 = some_value2
<para>Samba share with prerequisites. See <link linkend="Samba">Install Samba</link></para>
</listitem>
<listitem>
<para>OpenStack metadata service.</para>
<para>OpenStack metadata service</para>
</listitem>
</itemizedlist>
</listitem>

View File

@ -125,6 +125,17 @@
</itemizedlist>
</td>
</tr>
<tr>
<td colspan="1" align="center"> February. 6, 2014 </td>
<td colspan="3" align="center"> Release-0.4.1 </td>
<td colspan="4">
<itemizedlist>
<listitem>
<para>Update with Release-0.4.1 information</para>
</listitem>
</itemizedlist>
</td>
</tr>
</tbody>
</informaltable>
</section>

View File

@ -217,5 +217,103 @@ SSL_KEY_FILE=''
</listitem>
</itemizedlist>
</section>
<section>
<title>Custom devstack script</title>
<para>
It's just like regular devstack installation, but included all Murano services!
Follow the steps below:
</para>
<para><emphasis role="bold">System preparation</emphasis></para>
<para>
<itemizedlist>
<listitem>
<para><emphasis>Create user stack</emphasis></para>
<programlisting>
># adduser stack
</programlisting>
</listitem>
<listitem>
<para>Add user stack to sudoers rules</para>
<programlisting>
># echo 'stack ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/stack
># chmod 440 /etc/sudoers.d/stack
</programlisting>
</listitem>
</itemizedlist>
</para>
<para><emphasis role="bold"></emphasis>Installation</para>
<itemizedlist>
<listitem>
<para>Create folders where devstack will install all the files</para>
<programlisting>
># mkdir -p /opt/stack
># chown stack:stack /opt/stack
</programlisting>
</listitem>
<listitem>
<para>Change current user to "stack" and change directory to home</para>
<programlisting>
># su stack
>stack$ cd ~
</programlisting>
</listitem>
<listitem>
<para>Clone devstack repository and checkout havana branch</para>
<programlisting>
>stack$ cd
>stack$ git clone https://github.com/openstack-dev/devstack.git
>stack$ cd devstack
>stack$ git checkout stable/havana
</programlisting>
</listitem>
<listitem>
<para>Clone murano-deployment repository</para>
<programlisting>>stack$ cd
>stack$ git clone https://github.com/stackforge/murano-deployment.git</programlisting>
</listitem>
<listitem>
<para>Copy required files from murano-deployment to devstack, then configure local.conf.
You should set at least one configuration parameter there - HOST_IP address.</para>
<programlisting>
>stack$ cd
>stack$ cp -r murano-deployment/devstack-integration/* devstack/
</programlisting>
</listitem>
<listitem>
<para>Replace (or merge settings with) <filename>local.conf</filename> with another config file, if you need a different type of installation.
Available config files and installation types are:
<itemizedlist>
<listitem>
<para>
<filename>single-node.local.conf</filename> - single-node all-in-one installation. OpenStack + Murano will be installed on your node together.
</para>
</listitem>
<listitem>
<para>
<filename>devbox.local.conf</filename> - install Murano only. OpenStack must be installed on another node, and your node will be configured to use it.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>Edit devstack's configuration file</para>
<programlisting>
>stack$ vim devstack/local.conf
</programlisting>
</listitem>
<listitem>
<para>From devstack directory, launch stack.sh</para>
<programlisting>
>stack$ ./stack.sh
</programlisting>
</listitem>
</itemizedlist>
<para>
Now you can operate with Openstack and Murano. Murano Dashboard panel should appears in horizon dashboard.
Just open URL http://&lsaquo;your hostname&rsaquo; in web browser and login with your credentials. Open Murano tab and enjoy.
</para>
</section>
</chapter>