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

@ -17,232 +17,239 @@
--> -->
<chapter xmlns="http://docbook.org/ns/docbook" <chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd" 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"> version="5.0">
<title>Building Linux Image</title> <title>Building Linux Image</title>
<section> <section>
<title>Install Required Packages</title> <title>Install Required Packages</title>
<note> <note>
<para> <para>
Please check that hardware virtualization is supported and enabled in BIOS. Please check that hardware virtualization is supported and enabled in BIOS.
</para> </para>
</note> </note>
<para> <para>
The following packages should be installed on any host which will be used to build Linux Image: The following packages should be installed on any host which will be used to build Linux Image:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
ipxe-qemu ipxe-qemu
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
kvm-ipxe kvm-ipxe
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
qemu-kvm qemu-kvm
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
python-libvirt munin-libvirt-plugins
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
libvirt-bin python-libvirt
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
libvirt0 libvirt-bin
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
virt-goodies libvirt0
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
virt-manager munin-libvirt-plugins
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
virt-top python-libvirt
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
virt-what virt-goodies
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
virtinst virt-manager
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
python virt-top
</para> </para>
</listitem> </listitem>
<listitem>
<para>
virt-what
</para>
</listitem>
<listitem>
<para>
virtinst
</para>
</listitem>
<listitem>
<para>
python
</para>
</listitem>
</itemizedlist> </itemizedlist>
</para> </para>
<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 \
python python-libvirt \ munin-libvirt-plugins 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> <para>This section describes steps required to build an image of Linux Virtual Machine
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>
<note> <note>
<para>
Run all commands as root.
</para>
</note>
<para> <para>
<emphasis role="strong">Way 1: Using CLI Tools</emphasis> Run all commands as root.
</para>
<para>
This section describes the required step to launch a VM using CLI tools only.
</para> </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> <para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<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>
<para> <para>
<emphasis role="strong">Way 2: Using virt-manager UI</emphasis> <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>
</listitem>
<listitem>
<para>
Set a name for VM and select Local install media
</para>
</listitem>
<listitem>
<para>
Add one cdrom and attach your linux ISO image to it
</para>
</listitem>
<listitem>
<para>
Select OS type <emphasis role="bold">Linux</emphasis> and it's
version <emphasis role="bold">choose yours</emphasis>
</para> </para>
<para> </listitem>
A VM also could be lauched via GUI tools like virt-manager. <listitem>
<para>
Set CPU and RAM amount
</para>
</listitem>
<listitem>
<para>
Deselect option <emphasis role="bold">Enable storage for this
virtual machine</emphasis>
</para> </para>
<para> </listitem>
<orderedlist> <listitem>
<listitem> <para>
<para> Select option <emphasis role="bold">Customize configuration before
Launch <emphasis role="italic">virt-manager</emphasis> from shell as root install</emphasis>
</para>
</listitem>
<listitem>
<para>
Set a name for VM and select Local install media
</para>
</listitem>
<listitem>
<para>
Add one cdrom and attach your linux ISO image to it
</para>
</listitem>
<listitem>
<para>
Select OS type <emphasis role="bold">Linux</emphasis> and it's
version <emphasis role="bold">choose yours</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>
</listitem>
<listitem>
<para>
Select option <emphasis role="bold">Customize configuration before
install</emphasis>
</para>
</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>
</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> </para>
</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>
</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>
</section> </section>
<section> <section>
<title>Guest VM Linux OS preparation</title> <title>Guest VM Linux OS preparation</title>
<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>
># apt-get -y update; apt-get -y dist-upgrade ># for action in update upgrade dist-upgrade;do apt-get -y $action;done
># apt-get install -y git unzip make cmake gcc \ ># apt-get install -y git unzip make cmake gcc python-dev python-pip openssh-server sudo
python-dev python-pip openssh-server </screen>
</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 \ <para>
python-devel python-pip openssh-server openssh-clients sudo <emphasis role="strong">murano-agent installation steps</emphasis>
</screen> </para>
<para> <screen>
<emphasis role="strong">murano-agent installation steps</emphasis>
</para>
<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
@ -252,175 +259,170 @@ x86_64/epel-release-6-8.noarch.rpm
# To install Murano Agent on Ubuntu run: # 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>
<listitem> <listitem>
<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>
</note> </note>
</listitem> </listitem>
<listitem> <listitem>
<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:
</screen> user: ec2-user
<screen> disable_root: 1
user: ec2-user preserve_hostname: False
disable_root: 1 </screen>
preserve_hostname: False </listitem>
</screen> </itemizedlist>
</listitem> </para>
</itemizedlist> <para>
</para> <emphasis role="strong">Security setup</emphasis>
<para> </para>
<emphasis role="strong">Security setup</emphasis> <para>
</para> Create user and make it able to run commands through sudo without password prompt.
<para> <itemizedlist>
Create user and make it able to run commands through sudo without password prompt. <listitem>
<itemizedlist> <para>
<listitem> <emphasis role="strong">Ubuntu</emphasis>
<para> </para>
<emphasis role="strong">Ubuntu</emphasis> <screen>
</para>
<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>
<para> <para>
<emphasis role="strong">Network handling</emphasis> <emphasis role="strong">Network handling</emphasis>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>
<emphasis role="strong">Ubuntu</emphasis>
</para>
<screen>
># rm -f /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>
</listitem>
</itemizedlist>
</para>
<para>
<emphasis role="strong">Shutdown VM</emphasis>
</para>
<formalpara>
<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 imported into Glance. <emphasis role="strong">Ubuntu</emphasis>
</para> </para>
</formalpara> <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 -rf /etc/udev/rules.d/70-persistent-net.rules
</screen>
</listitem>
</itemizedlist>
</para>
<para>
<emphasis role="strong">Shutdown VM</emphasis>
</para>
<formalpara>
<title>Convert the image from RAW to QCOW2 format if you made it as RAW</title>
<para> <para>
<screen> The image must be converted from RAW format to QCOW2 before being imorted into Glance.
># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \
/var/lib/libvirt/images/cloud-linux.img.qcow2
</screen>
</para> </para>
</formalpara>
<para>
<screen>
># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \
/var/lib/libvirt/images/cloud-linux.img.qcow2
</screen>
</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. 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 \ ># glance image-create --disk-format=qcow2 --container-format=bare --is-public=true --file=cloud-linux.img --name=cloud-linux
--is-public=true --file=cloud-linux.img --name=cloud-linux </screen>
</screen> <note>
<note> <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>
<para> <para>
Image should be marked with an appropriate type. That could be done through the Horizon UI. <emphasis role="bold">Image</emphasis> - cloud-linux
Navigate to Project -&gt; Environments -&gt; Marked Images -&gt; Mark Image and fill up form:
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">Image</emphasis> - cloud-linux
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Title</emphasis> - My Cloud-ready Linux
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Type</emphasis> - Generic Linux
</para>
</listitem>
</itemizedlist>
</para> </para>
</note> </listitem>
<para> <listitem>
After these steps desired image can be chosen in Murano dashboard and used for services platform. <para>
<emphasis role="bold">Title</emphasis> - My Cloud-ready Linux
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Type</emphasis> - Generic Linux
</para>
</listitem>
</itemizedlist>
</para> </para>
</note>
<para>
After these steps desired image can be chosen in Murano dashboard and used for services platform.
</para>
</section> </section>
</chapter> </chapter>

View File

@ -13,8 +13,7 @@
<chapter xmlns="http://docbook.org/ns/docbook" <chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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" 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">
version="5.0">
<title>Install Murano</title> <title>Install Murano</title>
<para>This chapter describes Murano services installation in virtual <para>This chapter describes Murano services installation in virtual
environment.</para> environment.</para>
@ -79,6 +78,9 @@
<para>Before installing any packages make sure that your system is <para>Before installing any packages make sure that your system is
updated and upgraded.</para> updated and upgraded.</para>
</note> </note>
<note>
To deploy web farm services Neutron LBaaS (Neutron extension package) should be installed in Openstack
</note>
</section> </section>
<section xml:id="venv"> <section xml:id="venv">
<title>Installing with virtual environment</title> <title>Installing with virtual environment</title>
@ -91,7 +93,7 @@
virtualenv package if you don&apos;t have one: virtualenv package if you don&apos;t have one:
<programlisting> <programlisting>
sudo pip install virtualenv sudo pip install virtualenv
</programlisting> </programlisting>
</para> </para>
<para> <para>
<emphasis role="bold">Murano Api</emphasis> <emphasis role="bold">Murano Api</emphasis>
@ -101,7 +103,7 @@ sudo pip install virtualenv
Check out git repository with murano component: Check out git repository with murano component:
<programlisting> <programlisting>
git clone https://github.com/stackforge/murano-api git clone https://github.com/stackforge/murano-api
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -111,21 +113,22 @@ git clone https://github.com/stackforge/murano-api
directory to create virtual environment automatically: directory to create virtual environment automatically:
<programlisting> <programlisting>
cd murano-api &amp;&amp; python ./tools/install_venv.py cd murano-api &amp;&amp; python ./tools/install_venv.py
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para>Config files are <filename>etc/murano-api.conf</filename> <para> Copy murano-api sample config file located at
where you just need to point out IP address where your RabbitMQ is <filename>etc/murano/murano-api.conf.sample</filename> to <filename>etc/murano/murano-api.conf</filename>.
running, and <filename>etc/murano-api-paste.ini</filename>, which In config file set up keystone endpoint in Openstack installation. Other settings are described in 'Murano Admin Guide'.
doesn&apos;t require any changes.</para> Config <filename>etc/murano/murano-api-paste.conf</filename>
doesn't require any modification.</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
And finally run Murano API: And finally run Murano API:
<programlisting> <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> </programlisting>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -138,41 +141,33 @@ cd murano-api &amp;&amp; python ./tools/install_venv.py
Check out git repository with murano component: Check out git repository with murano component:
<programlisting> <programlisting>
git clone https://github.com/stackforge/murano-conductor git clone https://github.com/stackforge/murano-conductor
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Execute a script located at the Execute the following script located at the
<filename>murano-conductor/tools</filename> <filename>murano-conductor/tools</filename>
directory to create virtual environment automatically: directory to create virtual environment automatically:
<programlisting> <programlisting>
cd murano-conductor &amp;&amp; python ./tools/install_venv.py cd murano-conductor &amp;&amp; python ./tools/install_venv.py
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Murano Conductor config file located at Copy Murano Conductor sample config file located at
<filename>etc/conductor.conf</filename> <filename>etc/murano/conductor.conf.sample</filename> to <filename>etc/murano/conductor.conf</filename>.
For a local development comment data_dir parameter in this file: In config file set up keystone endpoint in Openstack installation.
<programlisting> All other possible configuration described in the Murano Admin Guide.
# 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.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Run Murano Conductor: Run Murano Conductor:
<programlisting> <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> </programlisting>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -185,7 +180,7 @@ cd murano-conductor &amp;&amp; python ./tools/install_venv.py
Check out git repository with murano component: Check out git repository with murano component:
<programlisting> <programlisting>
git clone https://github.com/stackforge/murano-repository git clone https://github.com/stackforge/murano-repository
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -195,20 +190,20 @@ git clone https://github.com/stackforge/murano-repository
directory to create virtual environment automatically: directory to create virtual environment automatically:
<programlisting> <programlisting>
cd murano-repository &amp;&amp; python ./tools/install_venv.py cd murano-repository &amp;&amp; python ./tools/install_venv.py
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para>Copy a config file <filename> <para>Copy a config file <filename>
etc/murano-repository.conf.sample</filename> to <filename> etc/murano/murano-repository.conf.sample</filename> to <filename>
etc/murano-repository.conf</filename> and point out Keystone parameters.</para> etc/murano/murano-repository.conf</filename> and point out Keystone parameters.</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
And finally run Murano Repository: And finally run Murano Repository:
<programlisting> <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> </programlisting>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -220,7 +215,7 @@ cd murano-repository &amp;&amp; python ./tools/install_venv.py
Check out git repository with murano component: Check out git repository with murano component:
<programlisting> <programlisting>
git clone https://github.com/stackforge/murano-dashboard git clone https://github.com/stackforge/murano-dashboard
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -230,7 +225,7 @@ git clone https://github.com/stackforge/murano-dashboard
directory to create virtual environment automatically: directory to create virtual environment automatically:
<programlisting> <programlisting>
cd murano-dashboard &amp;&amp; python ./tools/install_venv.py cd murano-dashboard &amp;&amp; python ./tools/install_venv.py
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -242,15 +237,15 @@ cd murano-dashboard &amp;&amp; python ./tools/install_venv.py
<para> <para>
<programlisting> <programlisting>
# ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz # ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz
</programlisting> </programlisting>
<emphasis>Ubuntu</emphasis> <emphasis>Ubuntu</emphasis>
<programlisting> <programlisting>
# apt-get install nodejs # apt-get install nodejs
</programlisting> </programlisting>
<emphasis>CentOS</emphasis> <emphasis>CentOS</emphasis>
<programlisting> <programlisting>
# yum install nodejs # yum install nodejs
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -261,12 +256,33 @@ cd murano-dashboard &amp;&amp; python ./tools/install_venv.py
To configure Murano Dashboard copy example config file: To configure Murano Dashboard copy example config file:
<programlisting> <programlisting>
# cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py # cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py
</programlisting> </programlisting>
and set in just copied file the the actual IP address of the and set in just copied file the following parameters:
OpenStack end-point. If you haven&apos;t register murano-api <itemizedlist>
service in the keystone catalog you can set MURANO_API_URL in the <listitem>
same settings file. Note that local murano-api service will be <para>
using by default. <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> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -276,7 +292,7 @@ cd murano-dashboard &amp;&amp; python ./tools/install_venv.py
utility with the context of the virtual environment: utility with the context of the virtual environment:
<programlisting> <programlisting>
./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080 ./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080
</programlisting> </programlisting>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>

View File

@ -86,6 +86,18 @@
</itemizedlist> </itemizedlist>
</entry> </entry>
</row> </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> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>

View File

@ -52,6 +52,16 @@
<entry>0.3</entry> <entry>0.3</entry>
<entry>2013-11-25</entry> <entry>2013-11-25</entry>
</row> </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> </tbody>
</tgroup> </tgroup>
</table> </table>

View File

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

View File

@ -125,6 +125,17 @@
</itemizedlist> </itemizedlist>
</td> </td>
</tr> </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> </tbody>
</informaltable> </informaltable>
</section> </section>

View File

@ -217,5 +217,103 @@ SSL_KEY_FILE=''
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </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> </chapter>