Merge "Update Installation chapter" into release-0.1
This commit is contained in:
		@@ -3357,17 +3357,37 @@ http://docbook.org/ns/docbook "
 | 
				
			|||||||
    </chapter>
 | 
					    </chapter>
 | 
				
			||||||
    <chapter>
 | 
					    <chapter>
 | 
				
			||||||
        <title>Installation Guide</title>
 | 
					        <title>Installation Guide</title>
 | 
				
			||||||
 | 
					        <para> This chapter is about installation and configuration Murano services.</para>
 | 
				
			||||||
 | 
					        <para>Note that all Murano modules can be downloaded from
 | 
				
			||||||
 | 
					            <ulink url="https://launchpad.net/murano/"> our page </ulink> on launchpad.
 | 
				
			||||||
 | 
					        </para>
 | 
				
			||||||
 | 
					        <section>
 | 
				
			||||||
 | 
					            <title>Common Pre-Requirements</title>
 | 
				
			||||||
 | 
					            <para>Operation system:</para>
 | 
				
			||||||
 | 
					                <orderedlist>
 | 
				
			||||||
 | 
					                    <listitem>Ubuntu</listitem>
 | 
				
			||||||
 | 
					                    <listitem>RHEL/CentOS</listitem>
 | 
				
			||||||
 | 
					                </orderedlist>
 | 
				
			||||||
 | 
					            <para>Packages:</para>
 | 
				
			||||||
 | 
					            <orderedlist>
 | 
				
			||||||
 | 
					                <listitem>python-dev</listitem>
 | 
				
			||||||
 | 
					                <listitem>libxml2-dev  </listitem>
 | 
				
			||||||
 | 
					                <listitem>libxslt-dev</listitem>
 | 
				
			||||||
 | 
					            </orderedlist>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        </section>
 | 
				
			||||||
        <section>
 | 
					        <section>
 | 
				
			||||||
            <title>Murano API Service</title>
 | 
					            <title>Murano API Service</title>
 | 
				
			||||||
            <para>Murano API is a project that provides access to engine via API.</para>
 | 
					            <para>Murano API provides access to the Murano orchestration engine via API.</para>
 | 
				
			||||||
            <para>This document describes Murano API for contributors of the project, and assumes that you are already
 | 
					            <para>This chapter describes Murano API for contributors of the project, and assumes that you are already
 | 
				
			||||||
                familiar with Murano API from an end-user perspective.
 | 
					                familiar with Murano API from an end-user perspective.
 | 
				
			||||||
            </para>
 | 
					            </para>
 | 
				
			||||||
            <section>
 | 
					            <section>
 | 
				
			||||||
                <title>Install</title>
 | 
					                <title>Install</title>
 | 
				
			||||||
                <itemizedlist>
 | 
					                <itemizedlist>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Check out sources to some directory (<home>/murano):</para>
 | 
					                        <para>Project source can be checked out as git repository (see below) or downloaded from
 | 
				
			||||||
 | 
					                            <ulink url="http://tarballs.openstack.org/murano-api/"> here</ulink></para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/$ git clone https://github.com/stackforge/murano-api.git
 | 
					user@work:~/$ git clone https://github.com/stackforge/murano-api.git
 | 
				
			||||||
@@ -3375,10 +3395,18 @@ user@work:~/$ git clone https://github.com/stackforge/murano-api.git
 | 
				
			|||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Install Murano API:</para>
 | 
					                            <para>Switch to just created directory</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                        <![CDATA[
 | 
					                        <![CDATA[
 | 
				
			||||||
user@work:~/$ cd murano-api && sudo python setup.py install
 | 
					user@work:~/$ cd murano-api
 | 
				
			||||||
 | 
					                         ]]>
 | 
				
			||||||
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					                    </listitem>
 | 
				
			||||||
 | 
					                    <listitem>
 | 
				
			||||||
 | 
					                        <para>And them perform installation:</para>
 | 
				
			||||||
 | 
					                        <programlisting>
 | 
				
			||||||
 | 
					                            <![CDATA[
 | 
				
			||||||
 | 
					user@work:~/murano-api$ chmod +x setup.sh ; sudo ./setup.sh install
 | 
				
			||||||
                            ]]>
 | 
					                            ]]>
 | 
				
			||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
@@ -3388,7 +3416,18 @@ user@work:~/$ cd murano-api && sudo python setup.py install
 | 
				
			|||||||
                <title>Configure</title>
 | 
					                <title>Configure</title>
 | 
				
			||||||
                <itemizedlist>
 | 
					                <itemizedlist>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Open first configuration file for editing:</para>
 | 
					                        <para> First configure rabbitMQ by adding vhost and user with administrator rights:</para>
 | 
				
			||||||
 | 
					                        <programlisting>
 | 
				
			||||||
 | 
					                        <![CDATA[
 | 
				
			||||||
 | 
					sudo rabbitmqctl add_user murano murano
 | 
				
			||||||
 | 
					sudo rabbitmqctl set_user_tags murano administrator
 | 
				
			||||||
 | 
					sudo rabbitmqctl add_vhost murano
 | 
				
			||||||
 | 
					sudo rabbitmqctl set_permissions -p murano murano ".*" ".*" ".*"
 | 
				
			||||||
 | 
					                        ]]>
 | 
				
			||||||
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					                    </listitem>
 | 
				
			||||||
 | 
					                    <listitem>
 | 
				
			||||||
 | 
					                        <para>Edit configuration file:</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/murano-api$ nano ./etc/murano-api.conf
 | 
					user@work:~/murano-api$ nano ./etc/murano-api.conf
 | 
				
			||||||
@@ -3396,7 +3435,11 @@ user@work:~/murano-api$ nano ./etc/murano-api.conf
 | 
				
			|||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Configure according to your environment (please note rabbitmq section):</para>
 | 
					                        <para>Configure it according to your environment:
 | 
				
			||||||
 | 
					                            <para><emphasis>[DEFAULT]</emphasis> section sets up logging.</para>
 | 
				
			||||||
 | 
					                            <para> In <emphasis>[reports]</emphasis> section you can set names for new rabbitMQ queues.</para>
 | 
				
			||||||
 | 
					                            <para> <emphasis>[rabbitmq]</emphasis> section sets up host configuration where rabbitMQ with just created user and vhost is running.</para>
 | 
				
			||||||
 | 
					                        </para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
[DEFAULT]
 | 
					[DEFAULT]
 | 
				
			||||||
@@ -3430,7 +3473,7 @@ password = murano
 | 
				
			|||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Open second configuration file for editing:</para>
 | 
					                        <para>Edit one more configuration file:</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/murano-api$ nano ./etc/murano-api-paste.ini
 | 
					user@work:~/murano-api$ nano ./etc/murano-api-paste.ini
 | 
				
			||||||
@@ -3438,7 +3481,8 @@ user@work:~/murano-api$ nano ./etc/murano-api-paste.ini
 | 
				
			|||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Configure according to your environment (please note filter:authtoken section):</para>
 | 
					                        <para>Configure keystone auth_token in <emphasis>[filter:authtoken]</emphasis> section.
 | 
				
			||||||
 | 
					                            For more information see <ulink url="http://docs.openstack.org/developer/keystone/configuringservices.html"> Auth-Token Middleware with Username and Password</ulink></para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
[pipeline:murano-api]
 | 
					[pipeline:murano-api]
 | 
				
			||||||
@@ -3493,7 +3537,7 @@ user@work:~/$ murano-api --config-file=./murano/api/etc/murano-api.conf
 | 
				
			|||||||
        </section>
 | 
					        </section>
 | 
				
			||||||
        <section>
 | 
					        <section>
 | 
				
			||||||
            <title>Conductor Service</title>
 | 
					            <title>Conductor Service</title>
 | 
				
			||||||
            <para>Conductor is an Murano orchestration engine that transforms object model sent by REST API service into
 | 
					            <para>Conductor is a Murano orchestration engine that transforms object model sent by REST API service into
 | 
				
			||||||
                a series of Heat and Murano-Agent commands.
 | 
					                a series of Heat and Murano-Agent commands.
 | 
				
			||||||
            </para>
 | 
					            </para>
 | 
				
			||||||
            <para>This document describes Conductor for contributors of the project.</para>
 | 
					            <para>This document describes Conductor for contributors of the project.</para>
 | 
				
			||||||
@@ -3501,18 +3545,31 @@ user@work:~/$ murano-api --config-file=./murano/api/etc/murano-api.conf
 | 
				
			|||||||
                <title>Install</title>
 | 
					                <title>Install</title>
 | 
				
			||||||
                <itemizedlist>
 | 
					                <itemizedlist>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Check out sources to some directory (<home>/murano):</para>
 | 
					                        <para>Project source code can be checked out from git repository (see below) or downloaded from
 | 
				
			||||||
 | 
					                            <ulink url="http://tarballs.openstack.org/murano-conductor/"> here.</ulink>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/$ git clone https://github.com/stackforge/murano-conductor.git
 | 
					user@work:~/$ git clone https://github.com/stackforge/murano-conductor.git
 | 
				
			||||||
                            ]]>
 | 
					                            ]]>
 | 
				
			||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Install Conductor:</para>
 | 
					                        <para>Switch to just created directory</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/cd murano-conductor && sudo python setup.py install
 | 
					user@work:~/cd murano-conductor
 | 
				
			||||||
 | 
					                            ]]>
 | 
				
			||||||
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					                    </listitem>
 | 
				
			||||||
 | 
					                    <listitem>
 | 
				
			||||||
 | 
					                        <para>And install Conductor Service to the system:</para>
 | 
				
			||||||
 | 
					                        <programlisting>
 | 
				
			||||||
 | 
					                            <![CDATA[
 | 
				
			||||||
 | 
					user@work:~/murano-conductor$ chmod +x setup.sh ; sudo ./setup.sh install
 | 
				
			||||||
                            ]]>
 | 
					                            ]]>
 | 
				
			||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
@@ -3522,7 +3579,7 @@ user@work:~/cd murano-conductor && sudo python setup.py install
 | 
				
			|||||||
                <title>Configure</title>
 | 
					                <title>Configure</title>
 | 
				
			||||||
                <itemizedlist>
 | 
					                <itemizedlist>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Open configuration file for editing:</para>
 | 
					                        <para>Edit configuration file:</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/murano-conductor$ nano ./etc/conductor.conf
 | 
					user@work:~/murano-conductor$ nano ./etc/conductor.conf
 | 
				
			||||||
@@ -3530,7 +3587,12 @@ user@work:~/murano-conductor$ nano ./etc/conductor.conf
 | 
				
			|||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Configure according to your environment (please note rabbitmq section):</para>
 | 
					                        <para>
 | 
				
			||||||
 | 
					                            Change it according to your environment.
 | 
				
			||||||
 | 
					                            <para><emphasis>[DEFAULT]</emphasis> section is responsible for logging.</para>
 | 
				
			||||||
 | 
					                            <para><emphasis>[heat]</emphasis> points where heat is running.</para>
 | 
				
			||||||
 | 
					                            <para><emphasis>[rabbitmq]</emphasis> section points where your rabbitMQ installed and configured. </para>
 | 
				
			||||||
 | 
					                        </para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
[DEFAULT]
 | 
					[DEFAULT]
 | 
				
			||||||
@@ -3539,10 +3601,10 @@ debug=True
 | 
				
			|||||||
verbose=True
 | 
					verbose=True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[heat]
 | 
					[heat]
 | 
				
			||||||
auth_url = http://172.18.124.101:5000/v2.0
 | 
					auth_url = http://localhost:5000/v2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[rabbitmq]
 | 
					[rabbitmq]
 | 
				
			||||||
host = 172.18.124.101
 | 
					host = localhost
 | 
				
			||||||
port = 5672
 | 
					port = 5672
 | 
				
			||||||
virtual_host = murano
 | 
					virtual_host = murano
 | 
				
			||||||
login = murano
 | 
					login = murano
 | 
				
			||||||
@@ -3557,46 +3619,38 @@ password = murano
 | 
				
			|||||||
                <para>Run Conductor and supply valid configuration file:</para>
 | 
					                <para>Run Conductor and supply valid configuration file:</para>
 | 
				
			||||||
                <programlisting>
 | 
					                <programlisting>
 | 
				
			||||||
                    <![CDATA[
 | 
					                    <![CDATA[
 | 
				
			||||||
user@work:~/cd murano-conductor && conductor --config-file=./murano/conductor/etc/conductor.conf
 | 
					user@work:~/murano-conductor$ conductor --config-file=./etc/conductor.conf
 | 
				
			||||||
                    ]]>
 | 
					                    ]]>
 | 
				
			||||||
                </programlisting>
 | 
					                </programlisting>
 | 
				
			||||||
            </section>
 | 
					            </section>
 | 
				
			||||||
        </section>
 | 
					        </section>
 | 
				
			||||||
        <section>
 | 
					        <section>
 | 
				
			||||||
            <title>Murano Dashboard</title>
 | 
					            <title>Murano Dashboard</title>
 | 
				
			||||||
            <para>Murano Dashboard is a project that provides Web UI to Murano Project.</para>
 | 
					            <para>Murano Dashboard provides Web UI for Murano Project.</para>
 | 
				
			||||||
            <section>
 | 
					            <section>
 | 
				
			||||||
                <title>Dependencies</title>
 | 
					                <title>Pre-Requirements</title>
 | 
				
			||||||
                <para>
 | 
					 | 
				
			||||||
                <itemizedlist>
 | 
					                <itemizedlist>
 | 
				
			||||||
                <listitem>
 | 
					                <listitem>
 | 
				
			||||||
                            <para>Horizon</para>
 | 
					                    <para>To setup Murano Dashboard on a host with Openstack Dashbord already installed you just need to install <emphasis>
 | 
				
			||||||
                        </listitem>
 | 
					                        the python-muranoclient</emphasis>. You can download it from <ulink url="http://tarballs.openstack.org/python-muranoclient/"> here.</ulink></para>
 | 
				
			||||||
                        <listitem>
 | 
					                        And then perform installation with pip:
 | 
				
			||||||
                            <para>NodeJs</para>
 | 
					 | 
				
			||||||
                        </listitem>
 | 
					 | 
				
			||||||
                        <listitem>
 | 
					 | 
				
			||||||
                            <para>python-muranoclient</para>
 | 
					 | 
				
			||||||
                        </listitem>
 | 
					 | 
				
			||||||
                    </itemizedlist>
 | 
					 | 
				
			||||||
                    First two dependencies is already satisfied if you install Murano Dashboard on machine with
 | 
					 | 
				
			||||||
                    OpenStack
 | 
					 | 
				
			||||||
                    Horizon installed. Otherwise, please run:
 | 
					 | 
				
			||||||
                    <programlisting>
 | 
					                    <programlisting>
 | 
				
			||||||
                        <![CDATA[
 | 
					                        <![CDATA[
 | 
				
			||||||
user@work:~/$ sudo apt-get install nodejs
 | 
					user@work:~/$ sudo pip install ]]> <emphasis>just_downloaded</emphasis>.tar.gz
 | 
				
			||||||
user@work:~/$ sudo pip install http://tarballs.openstack.org/horizon/horizon-master.tar.gz
 | 
					 | 
				
			||||||
user@work:~/$ sudo pip install http://tarballs.openstack.org/python-muranoclient/python-muranoclient-master.tar.gz
 | 
					 | 
				
			||||||
                        ]]>
 | 
					 | 
				
			||||||
                    </programlisting>
 | 
					                    </programlisting>
 | 
				
			||||||
                </para>
 | 
					                </listitem>
 | 
				
			||||||
                <para>Also, this two packages (horizon and python-muranoclient) can be installed to venv.</para>
 | 
					                <listitem>
 | 
				
			||||||
 | 
					                    <para>If there is no OpenStack Dashboard (horizon) you'll need to install it. See <ulink url="http://docs.openstack.org/trunk/openstack-compute/install/yum/content/ch_install-dashboard.html"> here</ulink> how to do that.</para>
 | 
				
			||||||
 | 
					                </listitem>
 | 
				
			||||||
 | 
					                </itemizedlist>
 | 
				
			||||||
            </section>
 | 
					            </section>
 | 
				
			||||||
            <section>
 | 
					            <section>
 | 
				
			||||||
                <title>Install</title>
 | 
					                <title>Install</title>
 | 
				
			||||||
                <itemizedlist>
 | 
					                <itemizedlist>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Check out sources to some directory (<home>/murano-dashboard):</para>
 | 
					                        <para>Project source code can be checked out from git repository (see below) or downloaded from
 | 
				
			||||||
 | 
					                            <ulink url="http://tarballs.openstack.org/murano-dashboard/"> here.</ulink>
 | 
				
			||||||
 | 
					                        </para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/$ git clone https://github.com/stackforge/murano-dashboard.git
 | 
					user@work:~/$ git clone https://github.com/stackforge/murano-dashboard.git
 | 
				
			||||||
@@ -3604,13 +3658,19 @@ user@work:~/$ git clone https://github.com/stackforge/murano-dashboard.git
 | 
				
			|||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Install:</para>
 | 
					                        <para>Switch to just created directory</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/$ cd murano-dashboard && sudo python setup.py install
 | 
					user@work:~/$ cd murano-dashboard  ]]>
 | 
				
			||||||
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					                    </listitem>
 | 
				
			||||||
 | 
					                    <listitem>
 | 
				
			||||||
 | 
					                        <para>And perform installation</para>
 | 
				
			||||||
 | 
					                        <programlisting>
 | 
				
			||||||
 | 
					                            <![CDATA[
 | 
				
			||||||
 | 
					user@work:~/murano-dashboard$ sudo python setup.py install
 | 
				
			||||||
                            ]]>
 | 
					                            ]]>
 | 
				
			||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                        <para>Make sure that horizon and python-muranoclient is already installed.</para>
 | 
					 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                </itemizedlist>
 | 
					                </itemizedlist>
 | 
				
			||||||
            </section>
 | 
					            </section>
 | 
				
			||||||
@@ -3621,18 +3681,50 @@ user@work:~/$ cd murano-dashboard && sudo python setup.py install
 | 
				
			|||||||
                        <para>Open Django configuration file:</para>
 | 
					                        <para>Open Django configuration file:</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
user@work:~/$ cd <Horizon Install Dir> && nano settings.py
 | 
					user@work:~/$ cd <Horizon Installation Dir> && nano settings.py
 | 
				
			||||||
                            ]]>
 | 
					                            ]]>
 | 
				
			||||||
                        </programlisting>
 | 
					                        </programlisting>
 | 
				
			||||||
                        <para>Please, make sure that no local/local_settings.py file exists.</para>
 | 
					                        <para>Please, make sure that no local/local_settings.py file exists.</para>
 | 
				
			||||||
                    </listitem>
 | 
					                    </listitem>
 | 
				
			||||||
                    <listitem>
 | 
					                    <listitem>
 | 
				
			||||||
                        <para>Configure:</para>
 | 
					                        <para>Add to import section</para>
 | 
				
			||||||
                        <programlisting>
 | 
					                        <programlisting>
 | 
				
			||||||
                            <![CDATA[
 | 
					                            <![CDATA[
 | 
				
			||||||
 | 
					from muranoclient.common import exceptions as muranoclient
 | 
				
			||||||
 | 
					                            ]]>
 | 
				
			||||||
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					                    </listitem>
 | 
				
			||||||
 | 
					                    <listitem>
 | 
				
			||||||
 | 
					                        <para>And this so muranoclient exceptions can be safely handle by horizon:</para>
 | 
				
			||||||
 | 
					                        <programlisting>
 | 
				
			||||||
 | 
					                            <![CDATA[
 | 
				
			||||||
 | 
					RECOVERABLE_EXC = (muranoclient.HTTPException,
 | 
				
			||||||
 | 
					                   muranoclient.CommunicationError,
 | 
				
			||||||
 | 
					                   muranoclient.Forbidden)
 | 
				
			||||||
 | 
					EXTENDED_RECOVERABLE_EXCEPTIONS = tuple(
 | 
				
			||||||
 | 
					    exceptions.RECOVERABLE + RECOVERABLE_EXC)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NOT_FOUND_EXC = (muranoclient.HTTPNotFound, muranoclient.EndpointNotFound)
 | 
				
			||||||
 | 
					EXTENDED_NOT_FOUND_EXCEPTIONS = tuple(exceptions.NOT_FOUND + NOT_FOUND_EXC)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					UNAUTHORIZED_EXC = (muranoclient.HTTPUnauthorized, )
 | 
				
			||||||
 | 
					EXTENDED_UNAUTHORIZED_EXCEPTIONS = tuple(
 | 
				
			||||||
 | 
					    exceptions.UNAUTHORIZED + UNAUTHORIZED_EXC)
 | 
				
			||||||
 | 
					            ]]>
 | 
				
			||||||
 | 
					                        </programlisting>
 | 
				
			||||||
 | 
					                    </listitem>
 | 
				
			||||||
 | 
					                    <listitem>
 | 
				
			||||||
 | 
					                        <para>And finally edit HORIZON_CONFIG and INSTALLED_APPS sections</para>
 | 
				
			||||||
 | 
					                        <programlisting>
 | 
				
			||||||
 | 
					                        <![CDATA[
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HORIZON_CONFIG = {
 | 
					HORIZON_CONFIG = {
 | 
				
			||||||
...
 | 
					...
 | 
				
			||||||
 | 
					    'exceptions': {'recoverable': EXTENDED_RECOVERABLE_EXCEPTIONS,
 | 
				
			||||||
 | 
					                   'not_found': EXTENDED_NOT_FOUND_EXCEPTIONS,
 | 
				
			||||||
 | 
					                   'unauthorized': EXTENDED_UNAUTHORIZED_EXCEPTIONS},
 | 
				
			||||||
    'customization_module': 'muranodashboard.panel.overrides'
 | 
					    'customization_module': 'muranodashboard.panel.overrides'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
...
 | 
					...
 | 
				
			||||||
INSTALLED_APPS = (
 | 
					INSTALLED_APPS = (
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user