diff --git a/src/administrators-guide/src/docbkx/content/installation-guide.xml b/src/administrators-guide/src/docbkx/content/installation-guide.xml index 8d388dc..67e6404 100644 --- a/src/administrators-guide/src/docbkx/content/installation-guide.xml +++ b/src/administrators-guide/src/docbkx/content/installation-guide.xml @@ -17,46 +17,46 @@ --> <chapter xmlns="http://docbook.org/ns/docbook" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - 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" - version="5.0"> - <title>Install Murano Components</title> - <para>This chapter describes how to install Murano components on a - separate devbox. We strongly recommend to use a separate host (virtual machine or real - host) for Murano devbox as it prevents you from various dependency conflicts. - You can refer <link xlink:href="https://wiki.openstack.org/wiki/Murano/Requirements"> this link</link> to check supported version of all Murano dependencies. - </para> - <section> - <title>Automatic Installation</title> - <para>There is a script to automate Murano installation onto devbox. - <itemizedlist> - <listitem> - <para>Create a folder to hold cloned repositories - <programlisting> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + 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" + version="5.0"> + <title>Install Murano Components</title> + <para>This chapter describes how to install Murano components on a + separate devbox. We strongly recommend to use a separate host (virtual machine or real + host) for Murano devbox as it prevents you from various dependency conflicts. + You can refer <link xlink:href="https://wiki.openstack.org/wiki/Murano/Requirements"> this link</link> to check supported version of all Murano dependencies. + </para> + <section> + <title>Automatic Installation</title> + <para>There is a script to automate Murano installation onto devbox. + <itemizedlist> + <listitem> + <para>Create a folder to hold cloned repositories + <programlisting> ># mkdir -p /opt/git - </programlisting> - </para> - </listitem> - <listitem> - <para>Clone murano-deployment repository - <programlisting> + </programlisting> + </para> + </listitem> + <listitem> + <para>Clone murano-deployment repository + <programlisting> ># cd /opt/git ># git clone git://github.com/stackforge/murano-deployment.git - </programlisting> - </para> - </listitem> - <listitem> - <para>Set configuration and install prerequisites - <programlisting> + </programlisting> + </para> + </listitem> + <listitem> + <para>Set configuration and install prerequisites + <programlisting> ># cd /opt/git/murano-deployment/devbox-scripts ># ./murano-git-install.sh prerequisites - </programlisting> - </para> - <para>Press Enter to edit <filename>/etc/murano-deployment/lab-binding.rc</filename>, - then 'i' to enter INSERT mode. After editing press ESC and type :wq to write and exit from VI. - <programlisting> + </programlisting> + </para> + <para>Press Enter to edit <filename>/etc/murano-deployment/lab-binding.rc</filename>, + then 'i' to enter INSERT mode. After editing press ESC and type :wq to write and exit from VI. + <programlisting> LAB_HOST='' ADMIN_USER='' @@ -84,417 +84,417 @@ SSL_KEY_FILE='' #BRANCH_MURANO_CLIENT='' #BRANCH_MURANO_CONDUCTOR='' #BRANCH_MURANO_REPOSITORY='' - </programlisting> - <itemizedlist> - <listitem> - <para><emphasis role="bold">LAB_HOST</emphasis> - IP or hostname of the lab. - This address/hostname should point to the host where Keystone is installed.</para> - </listitem> - <listitem> - <para><emphasis role="bold">ADMIN_USER</emphasis> - OpenStack admin user.</para> - </listitem> - <listitem> - <para><emphasis role="bold">ADMIN_PASSWORD</emphasis> - A password for OpenStack admin user.</para> - </listitem> - <listitem> - <para><emphasis role="bold">RABBITMQ_USER</emphasis> - User to connect to RabbitMQ host.</para> - </listitem> - <listitem> - <para><emphasis role="bold">RABBITMQ_PASSWORD</emphasis> - Password for that user.</para> - </listitem> - <listitem> - <para><emphasis role="bold">RABBITMQ_VHOST</emphasis> - vHost which will be used by Murano - components. Provides additional layer of isolation from other devboxes.</para> - </listitem> - <listitem> - <para><emphasis role="bold">RABBITMQ_PORT</emphasis> - Port number for Murano components interconnection. - It should be different from general RabbitMQ port to provide SSL opportunity.</para> - </listitem> - <listitem> - <para><emphasis role="bold">RABBITMQ_HOST</emphasis> - (optional) IP address or hostname of - the host where RabbitMQ is installed IF it is not the same host as LAB_HOST points to. - This parameter can be skipped and in this case LAB_HOST will be used.</para> - </listitem> - <listitem> - <para><emphasis role="bold">RABBITMQ_HOST_ALT</emphasis> - (optional) IP address or hostname of - the RabbitMQ host to connect from inside the instance. In some cases the - addresses like LAB_HOST or RABBITMQ_HOST are inaccessible from instances, and they must use - different address.</para> - </listitem> - <listitem> - <para><emphasis role="bold">FILE_SHARE_HOST</emphasis> - (optional) IP address or hostname of - the host where file share with prerequisites is located if it is not the same host as - LAB_HOST points to.</para> - </listitem> - <listitem> - <para><emphasis role="bold">BRANCH_MURANO_*</emphasis> - (optional) code from specified branch name for a selected Murano - component will be installed. By default code from 'master' branch will be fetched.</para> - </listitem> - <listitem> - <para><emphasis role="bold">SSL_ENABLED</emphasis> - Set <emphasis role="bold">'true'</emphasis> if - OpenStack is configured with SSL support and <emphasis role="bold">'false'</emphasis> otherwise.</para> - </listitem> - <listitem> - <para><emphasis role="bold">SSL_CA_FILE</emphasis> - Path to CA certificate for certificate validation - on client side. Leave it empty when used self-signed certificates.</para> - </listitem> - <listitem> - <para><emphasis role="bold">SSL_CERT_FILE</emphasis> - Path to the valid SSL certificate. </para> - </listitem> - <listitem> - <para><emphasis role="bold">SSL_KEY_FILE</emphasis> - Path to the valid key file.</para> - </listitem> - </itemizedlist> - </para> - </listitem> - <listitem> - <para>Install Murano components - <programlisting> + </programlisting> + <itemizedlist> + <listitem> + <para><emphasis role="bold">LAB_HOST</emphasis> - IP or hostname of the lab. + This address/hostname should point to the host where Keystone is installed.</para> + </listitem> + <listitem> + <para><emphasis role="bold">ADMIN_USER</emphasis> - OpenStack admin user.</para> + </listitem> + <listitem> + <para><emphasis role="bold">ADMIN_PASSWORD</emphasis> - A password for OpenStack admin user.</para> + </listitem> + <listitem> + <para><emphasis role="bold">RABBITMQ_USER</emphasis> - User to connect to RabbitMQ host.</para> + </listitem> + <listitem> + <para><emphasis role="bold">RABBITMQ_PASSWORD</emphasis> - Password for that user.</para> + </listitem> + <listitem> + <para><emphasis role="bold">RABBITMQ_VHOST</emphasis> - vHost which will be used by Murano + components. Provides additional layer of isolation from other devboxes.</para> + </listitem> + <listitem> + <para><emphasis role="bold">RABBITMQ_PORT</emphasis> - Port number for Murano components interconnection. + It should be different from general RabbitMQ port to provide SSL opportunity.</para> + </listitem> + <listitem> + <para><emphasis role="bold">RABBITMQ_HOST</emphasis> - (optional) IP address or hostname of + the host where RabbitMQ is installed IF it is not the same host as LAB_HOST points to. + This parameter can be skipped and in this case LAB_HOST will be used.</para> + </listitem> + <listitem> + <para><emphasis role="bold">RABBITMQ_HOST_ALT</emphasis> - (optional) IP address or hostname of + the RabbitMQ host to connect from inside the instance. In some cases the + addresses like LAB_HOST or RABBITMQ_HOST are inaccessible from instances, and they must use + different address.</para> + </listitem> + <listitem> + <para><emphasis role="bold">FILE_SHARE_HOST</emphasis> - (optional) IP address or hostname of + the host where file share with prerequisites is located if it is not the same host as + LAB_HOST points to.</para> + </listitem> + <listitem> + <para><emphasis role="bold">BRANCH_MURANO_*</emphasis> - (optional) code from specified branch name for a selected Murano + component will be installed. By default code from 'master' branch will be fetched.</para> + </listitem> + <listitem> + <para><emphasis role="bold">SSL_ENABLED</emphasis> - Set <emphasis role="bold">'true'</emphasis> if + OpenStack is configured with SSL support and <emphasis role="bold">'false'</emphasis> otherwise.</para> + </listitem> + <listitem> + <para><emphasis role="bold">SSL_CA_FILE</emphasis> - Path to CA certificate for certificate validation + on client side. Leave it empty when used self-signed certificates.</para> + </listitem> + <listitem> + <para><emphasis role="bold">SSL_CERT_FILE</emphasis> - Path to the valid SSL certificate. </para> + </listitem> + <listitem> + <para><emphasis role="bold">SSL_KEY_FILE</emphasis> - Path to the valid key file.</para> + </listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <para>Install Murano components + <programlisting> ># ./murano-git-install.sh install - </programlisting> - </para> - </listitem> - <listitem> - <para>Login to the Dashboard using URL <emphasis role="bold">http://your_VM_IP/horizon</emphasis> - on Ubuntu or <emphasis role="bold">http://your_VM_IP/dashboard</emphasis> on CentOS.</para> - </listitem> - </itemizedlist> - </para> - </section> - <section> - <title>Manual Installation</title> - <para>This chapter describes manual installation and configuration of Murano services.</para> - <para>Note that all Murano modules can be downloaded from - <link xlink:href="https://launchpad.net/murano/">our page</link> - on launchpad. - </para> - <para> - <note> - <title>Automatic installation</title> - <para> - Murano can be installed in automatic way. Script will install all - necessary packages to your system. Find out more about this in - <link xlink:href='http://murano-docs.github.io/0.4/getting-started/content/ch04s02.html'> - Getting Started Guide</link> - </para> - </note> - </para> - <section xml:id="prerequisites"> - <title>Pre-Requisites</title> - <para>Murano supports the following operating systems:</para> - <orderedlist> - <listitem> - <para>Ubuntu 12.04</para> - </listitem> - <listitem> - <para>RHEL/CentOS 6.4</para> - </listitem> - </orderedlist> - <para>These system packages are required for Murano:</para> - <para><emphasis>Ubuntu</emphasis></para> - <orderedlist> - <listitem> - <para>gcc</para> - </listitem> - <listitem> - <para>python-pip</para> - </listitem> - <listitem> - <para>python-dev</para> - </listitem> - <listitem> - <para>libxml2-dev</para> - </listitem> - <listitem> - <para>libxslt-dev</para> - </listitem> - <listitem> - <para>libffi-dev</para> - </listitem> - </orderedlist> - <para> - <emphasis>CentOS</emphasis> - </para> - <orderedlist> - <listitem> - <para>gcc</para> - </listitem> - <listitem> - <para>python-pip</para> - </listitem> - <listitem> - <para>python-devel</para> - </listitem> - <listitem> - <para>libxml2-devel</para> - </listitem> - <listitem> - <para>libxslt-devel</para> - </listitem> - <listitem> - <para>libffi-devel</para> - </listitem> - </orderedlist> - <para> - All these packages will be installed in murano-installation scripts. In addition to these packages some repositories are required. - Please follow the instructions in <link linkend="Appendix">the appendix</link> to prepare your environment for murano installation. - </para> + </programlisting> + </para> + </listitem> + <listitem> + <para>Login to the Dashboard using URL <emphasis role="bold">http://your_VM_IP/horizon</emphasis> + on Ubuntu or <emphasis role="bold">http://your_VM_IP/dashboard</emphasis> on CentOS.</para> + </listitem> + </itemizedlist> + </para> + </section> + <section> + <title>Manual Installation</title> + <para>This chapter describes manual installation and configuration of Murano services.</para> + <para>Note that all Murano modules can be downloaded from + <link xlink:href="https://launchpad.net/murano/">our page</link> + on launchpad. + </para> + <para> + <note> + <title>Automatic installation</title> + <para> + Murano can be installed in automatic way. Script will install all + necessary packages to your system. Find out more about this in + <link xlink:href='http://murano-docs.github.io/0.4/getting-started/content/ch04s02.html'> + Getting Started Guide</link> + </para> + </note> + </para> + <section xml:id="prerequisites"> + <title>Pre-Requisites</title> + <para>Murano supports the following operating systems:</para> + <orderedlist> + <listitem> + <para>Ubuntu 12.04</para> + </listitem> + <listitem> + <para>RHEL/CentOS 6.4</para> + </listitem> + </orderedlist> + <para>These system packages are required for Murano:</para> + <para><emphasis>Ubuntu</emphasis></para> + <orderedlist> + <listitem> + <para>gcc</para> + </listitem> + <listitem> + <para>python-pip</para> + </listitem> + <listitem> + <para>python-dev</para> + </listitem> + <listitem> + <para>libxml2-dev</para> + </listitem> + <listitem> + <para>libxslt-dev</para> + </listitem> + <listitem> + <para>libffi-dev</para> + </listitem> + </orderedlist> + <para> + <emphasis>CentOS</emphasis> + </para> + <orderedlist> + <listitem> + <para>gcc</para> + </listitem> + <listitem> + <para>python-pip</para> + </listitem> + <listitem> + <para>python-devel</para> + </listitem> + <listitem> + <para>libxml2-devel</para> + </listitem> + <listitem> + <para>libxslt-devel</para> + </listitem> + <listitem> + <para>libffi-devel</para> + </listitem> + </orderedlist> + <para> + All these packages will be installed in murano-installation scripts. In addition to these packages some repositories are required. + Please follow the instructions in <link linkend="Appendix">the appendix</link> to prepare your environment for murano installation. + </para> - </section> - <section> - <title>Murano API Service</title> - <para>Murano API provides access to the Murano orchestration engine via API.</para> - <para>This chapter describes the procedure of installation and configuration of Murano API. </para> - <section> - <title>Install</title> - <itemizedlist spacing="compact"> - <listitem> - <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> - <programlisting> - <![CDATA[ + </section> + <section> + <title>Murano API Service</title> + <para>Murano API provides access to the Murano orchestration engine via API.</para> + <para>This chapter describes the procedure of installation and configuration of Murano API. </para> + <section> + <title>Install</title> + <itemizedlist spacing="compact"> + <listitem> + <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> + <programlisting> + <![CDATA[ sudo su - - ]]> - </programlisting> - </listitem> - <listitem> - <para>Make sure that additional linux repositories are installed. See <link linkend="Appendix">the appendix</link> for information about preparing a virtual machine for murano installation. - </para> - </listitem> - <listitem> - <para>Clone Murano API git repository:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Make sure that additional linux repositories are installed. See <link linkend="Appendix">the appendix</link> for information about preparing a virtual machine for murano installation. + </para> + </listitem> + <listitem> + <para>Clone Murano API git repository:</para> + <programlisting> + <![CDATA[ git clone https://github.com/stackforge/murano-api - ]]> - </programlisting> - <para>Stable version one of our releases can be checked by the tag:</para> - <programlisting> + ]]> + </programlisting> + <para>Stable version one of our releases can be checked by the tag:</para> + <programlisting> cd murano-api && git checkout 0.4 - </programlisting> - </listitem> - <listitem> - <para>And perform installation:</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + </programlisting> + </listitem> + <listitem> + <para>And perform installation:</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup.sh install - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup-centos.sh install - ]]> - </programlisting> - </listitem> - <listitem> - <para>Successful installation ends with message like this:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Successful installation ends with message like this:</para> + <programlisting> + <![CDATA[ Successfully installed muranoapi Cleaning up... LOG:> Making sample configuration files at "/etc/murano" LOG:> Reloading initctl LOG:> Please, make proper configuration,located at "/etc/murano", before starting the "murano-api" daemon! - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - <section xml:id="configure_api"> - <title>Configure</title> - <itemizedlist spacing="compact"> - <listitem> - <para>Copy and edit configuration files:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + <section xml:id="configure_api"> + <title>Configure</title> + <itemizedlist spacing="compact"> + <listitem> + <para>Copy and edit configuration files:</para> + <programlisting> + <![CDATA[ cd /etc/murano cp murano-api.conf.sample murano-api.conf cp murano-api-paste.ini.sample murano-api-paste.ini - ]]> - </programlisting> - </listitem> - <listitem> - <para>Configure <filename>murano-api.conf</filename> according to your environment: - <itemizedlist> - <listitem> - <para><emphasis>[DEFAULT]</emphasis> section sets up logging. - </para> - </listitem> - <listitem> - <para><emphasis>[database]</emphasis>sets database connection. - </para> - </listitem> - <listitem> - <para><emphasis>[reports]</emphasis> section defines names of RabbitMQ queues. - This naming should correspond to a similar parameter in conductor config file. - </para> - </listitem> - <listitem> - <para>In <emphasis>[rabbitmq]</emphasis> - section you can set up host configuration where rabbitMQ - with just created user and vhost is running. If you consider to use Murano in production it's better to use separate vhosts in RabbitMQ. - To add new vhost and user with administrator rights perform: - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Configure <filename>murano-api.conf</filename> according to your environment: + <itemizedlist> + <listitem> + <para><emphasis>[DEFAULT]</emphasis> section sets up logging. + </para> + </listitem> + <listitem> + <para><emphasis>[database]</emphasis>sets database connection. + </para> + </listitem> + <listitem> + <para><emphasis>[reports]</emphasis> section defines names of RabbitMQ queues. + This naming should correspond to a similar parameter in conductor config file. + </para> + </listitem> + <listitem> + <para>In <emphasis>[rabbitmq]</emphasis> + section you can set up host configuration where rabbitMQ + with just created user and vhost is running. If you consider to use Murano in production it's better to use separate vhosts in RabbitMQ. + To add new vhost and user with administrator rights perform: + </para> + <programlisting> + <![CDATA[ rabbitmqctl add_user muranouser murano rabbitmqctl set_user_tags muranouser administrator rabbitmqctl add_vhost muranovhost rabbitmqctl set_permissions -p muranovhost muranouser ".*" ".*" ".*" - ]]> - </programlisting> - </listitem> - <listitem> - <para><emphasis>[ssl]</emphasis> sets up SSL parameters - paths to required files in case of ssl connection. - For more information how to configure SSL take a look at <link linkend="ssl"> SSL configuration chapter </link> - </para> - </listitem> - <listitem> - <para>In <emphasis>[keystone_authtoken]</emphasis> - configure parameters of Openstack Keystone service. For more information see - <link xlink:href="http://docs.openstack.org/developer/keystone/configuringservices.html"> - Auth-Token Middleware with Username and Password - </link> - </para> - </listitem> - <listitem> - <para> - Another murano-api configuration file located at - <filename>/etc/murano/murano-api-paste.ini</filename> and does - not require any changes. - </para> - </listitem> - </itemizedlist> - </para> - </listitem> - <listitem> - <anchor xml:id="murano_api_endpoint"></anchor> - <para>Register murano-api service in Openstack. To do that perform the following commands:</para> - <note><para>You need to be authorized in Openstack to run this commands</para></note> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para><emphasis>[ssl]</emphasis> sets up SSL parameters - paths to required files in case of ssl connection. + For more information how to configure SSL take a look at <link linkend="ssl"> SSL configuration chapter </link> + </para> + </listitem> + <listitem> + <para>In <emphasis>[keystone_authtoken]</emphasis> + configure parameters of Openstack Keystone service. For more information see + <link xlink:href="http://docs.openstack.org/developer/keystone/configuringservices.html"> + Auth-Token Middleware with Username and Password + </link> + </para> + </listitem> + <listitem> + <para> + Another murano-api configuration file located at + <filename>/etc/murano/murano-api-paste.ini</filename> and does + not require any changes. + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <anchor xml:id="murano_api_endpoint"></anchor> + <para>Register murano-api service in Openstack. To do that perform the following commands:</para> + <note><para>You need to be authorized in Openstack to run this commands</para></note> + <programlisting> + <![CDATA[ $ keystone service-create --name muranoapi --type murano --description "Murano-Api Service" $ keystone endpoint-create - --region RegionOne - --service-id The ID field returned by the keystone service-create - --publicurl http://x.x.x.x:8082 (where x.x.x.x - host ip where murano-api installed) - --internalurl the same as publicurl - --adminurl the same as publicurl - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - <section> - <title>Run</title> - <itemizedlist> - <listitem> - <para>Run Murano API service:</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + --region RegionOne + --service-id The ID field returned by the keystone service-create + --publicurl http://x.x.x.x:8082 (where x.x.x.x - host ip where murano-api installed) + --internalurl the same as publicurl + --adminurl the same as publicurl + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + <section> + <title>Run</title> + <itemizedlist> + <listitem> + <para>Run Murano API service:</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ service murano-api start - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ initctl start murano-api - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - </section> - <section> - <title>Conductor Service</title> - <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. - </para> - <para>This chapter describes Conductor for contributors of the project.</para> - <section> - <title>Install</title> - <itemizedlist spacing="compact"> - <listitem> - <para>Murano Conductor uses OpenStack Heat for new virtual machines creation, therefore Heat should - been installed and configured. Some services require the Internet access for virtual machines to - successful deployment. - </para> - <para>The detailed information about Heat configuration is described - <link xlink:href="http://docs.openstack.org/developer/heat/getting_started/index.html">here. - </link> - </para> - </listitem> - <listitem> - <para>OpenStack Heat requires Key Pair for Load Balancer instances. - Murano Conductor uses LoadBalancer for IIS Farms and ASP.NET Farms. - </para> - </listitem> - <listitem> - <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + </section> + <section> + <title>Conductor Service</title> + <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. + </para> + <para>This chapter describes Conductor for contributors of the project.</para> + <section> + <title>Install</title> + <itemizedlist spacing="compact"> + <listitem> + <para>Murano Conductor uses OpenStack Heat for new virtual machines creation, therefore Heat should + been installed and configured. Some services require the Internet access for virtual machines to + successful deployment. + </para> + <para>The detailed information about Heat configuration is described + <link xlink:href="http://docs.openstack.org/developer/heat/getting_started/index.html">here. + </link> + </para> + </listitem> + <listitem> + <para>OpenStack Heat requires Key Pair for Load Balancer instances. + Murano Conductor uses LoadBalancer for IIS Farms and ASP.NET Farms. + </para> + </listitem> + <listitem> + <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> + <programlisting> + <![CDATA[ sudo su - - ]]> - </programlisting> - </listitem> - <listitem> - <para>Make sure that additional repositories are installed. - See - <link linkend="Appendix">the appendix</link> - for information about preparing a virtual machine for murano installation. - </para> - </listitem> - <listitem> - <para>Clone Murano Conductor repository from the github.</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Make sure that additional repositories are installed. + See + <link linkend="Appendix">the appendix</link> + for information about preparing a virtual machine for murano installation. + </para> + </listitem> + <listitem> + <para>Clone Murano Conductor repository from the github.</para> + <programlisting> + <![CDATA[ git clone https://github.com/stackforge/murano-conductor - ]]> - </programlisting> - <para>Stable version one of our releases can be checked out by tag: </para> - <programlisting> + ]]> + </programlisting> + <para>Stable version one of our releases can be checked out by tag: </para> + <programlisting> cd murano-conductor && git checkout 0.4 - </programlisting> - </listitem> - <listitem> - <para>And then perform installation</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + </programlisting> + </listitem> + <listitem> + <para>And then perform installation</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup.sh install - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup-centos.sh install - ]]> - </programlisting> - </listitem> - </itemizedlist > - </section> - <section xml:id="configure_conductor"> - <title>Configure</title> - <itemizedlist spacing="compact"> - <listitem> - <para>Copy example of the configuration file:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + </itemizedlist > + </section> + <section xml:id="configure_conductor"> + <title>Configure</title> + <itemizedlist spacing="compact"> + <listitem> + <para>Copy example of the configuration file:</para> + <programlisting> + <![CDATA[ cd /etc/murano cp conductor.conf.sample conductor.conf ]]> @@ -623,472 +623,473 @@ password = guest # RabbitMQ virtual host (vhost). Fresh RabbitMQ installation has "/" vhost preconfigured. # It is recommended to create dedicated vhost for Murano using RabbitMQ web console or command line utility virtual_host = / - - </programlisting> - </listitem> - </itemizedlist> - </section> - <section> - <title>Run</title> - <itemizedlist> - <listitem> - <para>Run Murano Conductor service:</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + + </programlisting> + </listitem> + </itemizedlist> + </section> + <section> + <title>Run</title> + <itemizedlist> + <listitem> + <para>Run Murano Conductor service:</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ service murano-conductor start - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ initctl start murano-conductor - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - </section> - <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> - <para>This chapter describes the procedure of installation and configuration of Murano Repository.</para> - <section> - <title>Install</title> - <itemizedlist spacing="compact"> - <listitem> - <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + </section> + <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. + 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> + <itemizedlist spacing="compact"> + <listitem> + <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> + <programlisting> + <![CDATA[ sudo su - - ]]> - </programlisting> - </listitem> - <listitem> - <para>Make sure that additional linux repositories are installed. See <link linkend="Appendix">the appendix</link> for information about preparing a virtual machine for murano installation. - </para> - </listitem> - <listitem> - <para>Clone Murano Repository from git:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Make sure that additional linux repositories are installed. See <link linkend="Appendix">the appendix</link> for information about preparing a virtual machine for murano installation. + </para> + </listitem> + <listitem> + <para>Clone Murano Repository from git:</para> + <programlisting> + <![CDATA[ git clone https://github.com/stackforge/murano-repository - ]]> - </programlisting> - <para>Stable version one of our releases can be checked by the tag:</para> - <programlisting> + ]]> + </programlisting> + <para>Stable version one of our releases can be checked by the tag:</para> + <programlisting> cd murano-repository && git checkout 0.4 - </programlisting> - </listitem> - <listitem> - <para>And perform installation:</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + </programlisting> + </listitem> + <listitem> + <para>And perform installation:</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup.sh install - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup-centos.sh install - ]]> - </programlisting> - </listitem> - <listitem> - <para>Successful installation ends with message like this:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Successful installation ends with message like this:</para> + <programlisting> + <![CDATA[ Successfully installed muranorepository Cleaning up... LOG:> Making sample configuration files at "/etc/murano" LOG:> Reloading initctl LOG:> Please, make proper configuration,located at "/etc/murano", before starting the "murano-repository" daemon! - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - <section xml:id="configure_repository"> - <title>Configure</title> - <itemizedlist spacing="compact"> - <listitem> - <para>Copy and edit configuration files:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + <section xml:id="configure_repository"> + <title>Configure</title> + <itemizedlist spacing="compact"> + <listitem> + <para>Copy and edit configuration files:</para> + <programlisting> + <![CDATA[ cd /etc/murano cp murano-repository.conf.sample murano-repository.conf - ]]> - </programlisting> - </listitem> - <listitem> - <para>Configure <filename>murano-repository.conf</filename> according to your environment: - <itemizedlist> - <listitem> - <para><emphasis>[DEFAULT]</emphasis> section sets up main server parameters: port and address. - Folder to store cache and logging parameters also defines in this section. - <itemizedlist> - <listitem> - <para><emphasis>manifests</emphasis> parameter points out to directory with metadata objects: manifests should be on the first level. - All other objects are kept in a separates folders. This folders are configured in the parameters described below:</para> - </listitem> - <listitem><para><emphasis>ui</emphasis> sets up directory name for keeping Murano dashboard ui definitions</para></listitem> - <listitem><para><emphasis>workflows</emphasis> sets up directory name for keeping Murano Conductor workflows</para> </listitem> - <listitem><para><emphasis>heat</emphasis> sets up directory name for keeping Heat templates</para></listitem> - <listitem><para><emphasis>agent</emphasis>sets up directory name for keeping Murano Agent templates</para></listitem> - <listitem><para><emphasis>scripts</emphasis> sets up directory name for keeping Murano Execution Plans</para></listitem> - </itemizedlist> - </para> - </listitem> - <listitem> - <para><emphasis>[output]</emphasis> defines result archive structure. - This parameters applies to archive structure that clients (Murano Conductor) request from Metadata Repository. - </para> - </listitem> - <listitem> - <para>In <emphasis>[keystone]</emphasis> - configure parameters of Openstack Keystone service. For more information see - <link xlink:href="http://docs.openstack.org/developer/keystone/configuringservices.html"> - Auth-Token Middleware with Username and Password - </link> - </para> - </listitem> - </itemizedlist> - </para> - </listitem> - <listitem> - <anchor xml:id="murano_repository_endpoint"></anchor> - <para>Register murano-repository service in Openstack. To do that perform the following commands:</para> - <note><para>You need to be authorized in Openstack to run this commands</para></note> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + <listitem> + <para>Configure <filename>murano-repository.conf</filename> according to your environment: + <itemizedlist> + <listitem> + <para><emphasis>[DEFAULT]</emphasis> section sets up main server parameters: port and address. + Folder to store cache and logging parameters also defines in this section. + <itemizedlist> + <listitem> + <para><emphasis>manifests</emphasis> parameter points out to directory with metadata objects: manifests should be on the first level. + All other objects are kept in a separates folders. This folders are configured in the parameters described below:</para> + </listitem> + <listitem><para><emphasis>ui</emphasis> sets up directory name for keeping Murano dashboard ui definitions</para></listitem> + <listitem><para><emphasis>workflows</emphasis> sets up directory name for keeping Murano Conductor workflows</para> </listitem> + <listitem><para><emphasis>heat</emphasis> sets up directory name for keeping Heat templates</para></listitem> + <listitem><para><emphasis>agent</emphasis>sets up directory name for keeping Murano Agent templates</para></listitem> + <listitem><para><emphasis>scripts</emphasis> sets up directory name for keeping Murano Execution Plans</para></listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <para><emphasis>[output]</emphasis> defines result archive structure. + This parameters applies to archive structure that clients (Murano Conductor) request from Metadata Repository. + </para> + </listitem> + <listitem> + <para>In <emphasis>[keystone]</emphasis> + configure parameters of Openstack Keystone service. For more information see + <link xlink:href="http://docs.openstack.org/developer/keystone/configuringservices.html"> + Auth-Token Middleware with Username and Password + </link> + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <anchor xml:id="murano_repository_endpoint"></anchor> + <para>Register murano-repository service in Openstack. To do that perform the following commands:</para> + <note><para>You need to be authorized in Openstack to run this commands</para></note> + <programlisting> + <![CDATA[ $ keystone service-create --name murano-metadata --type murano-metadata --description "Murano-Repository Service" $ keystone endpoint-create - --region RegionOne - --service-id The ID field returned by the keystone service-create - --publicurl http://x.x.x.x:8084/v1 (where x.x.x.x - host ip where murano-api installed, - 8084 - port number, also can be changed, - v1 - metadata API version) - --internalurl the same as publicurl - --adminurl the same as publicurl - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - <section> - <title>Run</title> - <itemizedlist> - <listitem> - <para>Run Murano Repository service:</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + --region RegionOne + --service-id The ID field returned by the keystone service-create + --publicurl http://x.x.x.x:8084/v1 (where x.x.x.x - host ip where murano-api installed, + 8084 - port number, also can be changed, + v1 - metadata API version) + --internalurl the same as publicurl + --adminurl the same as publicurl + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + <section> + <title>Run</title> + <itemizedlist> + <listitem> + <para>Run Murano Repository service:</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ service murano-repository start - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ initctl start murano-repository - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - </section> - <section> - <title>Murano Dashboard</title> - <para>Murano Dashboard provides Web UI for Murano Project.</para> - <warning> - <para>This installation is not capable with Horizon installed by devstack</para> - </warning> - <section> - <title>Install</title> - <itemizedlist> - <listitem> - <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + </section> + <section> + <title>Murano Dashboard</title> + <para>Murano Dashboard provides Web UI for Murano Project.</para> + <warning> + <para>This installation is not capable with Horizon installed by devstack</para> + </warning> + <section> + <title>Install</title> + <itemizedlist> + <listitem> + <para>Superuser privileges is required to install and configure system packages. Let's switch to root account:</para> + <programlisting> + <![CDATA[ sudo su - - ]]> - </programlisting> - </listitem> - <listitem> - <para>Make sure that additional repositories are installed and your system is updated and upgraded. - Please check from with steps in the <link linkend="Appendix">appendix</link>. - </para> - </listitem> - <listitem> - <para>If there is no openstack dashboard package in your environment install it now with all dependencies. - Deleting an Ubuntu theme is an optional step but recommended. In Centos open up the firewall ports for HTTP.</para> - <note> - <para> - Horizon installed by devstack is not capable for a murano installation. - </para> - </note> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> + ]]> + </programlisting> + </listitem> + <listitem> + <para>Make sure that additional repositories are installed and your system is updated and upgraded. + Please check from with steps in the <link linkend="Appendix">appendix</link>. + </para> + </listitem> + <listitem> + <para>If there is no openstack dashboard package in your environment install it now with all dependencies. + Deleting an Ubuntu theme is an optional step but recommended. In Centos open up the firewall ports for HTTP.</para> + <note> + <para> + Horizon installed by devstack is not capable for a murano installation. + </para> + </note> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> apt-get install memcached libapache2-mod-wsgi openstack-dashboard dpkg --purge openstack-dashboard-ubuntu-theme - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> yum install make gcc memcached python-memcached \ mod_wsgi openstack-dashboard python-netaddr.noarch #> lokkit -p http:tcp #> lokkit -p https:tcp - </programlisting> + </programlisting> - </listitem> - <listitem> - <para>Clone Murano Dashboard repository from the github:</para> - <programlisting> - <![CDATA[ + </listitem> + <listitem> + <para>Clone Murano Dashboard repository from the github:</para> + <programlisting> + <![CDATA[ git clone https://github.com/stackforge/murano-dashboard - ]]> - </programlisting> - </listitem> - <listitem> - <para>Stable version one of our releases can be checked out by tag: - </para> - <programlisting> + ]]> + </programlisting> + </listitem> + <listitem> + <para>Stable version one of our releases can be checked out by tag: + </para> + <programlisting> cd murano-dashboard && git checkout 0.4 - </programlisting> - </listitem> - <listitem> - <para>Switch to just created directory and run installation script</para> - <para> - <emphasis>Ubuntu</emphasis> - </para> - <programlisting> - <![CDATA[ + </programlisting> + </listitem> + <listitem> + <para>Switch to just created directory and run installation script</para> + <para> + <emphasis>Ubuntu</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup.sh install - ]]> - </programlisting> - <para> - <emphasis>CentOS</emphasis> - </para> - <programlisting> - <![CDATA[ + ]]> + </programlisting> + <para> + <emphasis>CentOS</emphasis> + </para> + <programlisting> + <![CDATA[ sh setup-centos.sh install - ]]> - </programlisting> - </listitem> - </itemizedlist> - </section> - <section xml:id="configure_dashboard"> - <title>Configure</title> - <itemizedlist spacing="compact"> - <listitem> - <para> - Murano installation script makes all needed changes in horizon (openstack dashboard) configs. - All you have to do is to configure horizon in appropriate way. Set OPENSTACK_HOST in your - horizon local settings which located in - <filename>/etc/openstack-dashboard/local_settings.py.</filename>. - <link xlink:href="http://docs.openstack.org/developer/horizon/"> - For more information visit official horizon documentation. </link> - </para> - </listitem> - </itemizedlist> - </section> - <section> - <title>Run</title> - <para> - Since all required settings are made Apache service need to be restarted to apply all changes. - </para> - <itemizedlist> - <listitem> - <para> - <emphasis>Ubuntu</emphasis> - <programlisting> + ]]> + </programlisting> + </listitem> + </itemizedlist> + </section> + <section xml:id="configure_dashboard"> + <title>Configure</title> + <itemizedlist spacing="compact"> + <listitem> + <para> + Murano installation script makes all needed changes in horizon (openstack dashboard) configs. + All you have to do is to configure horizon in appropriate way. Set OPENSTACK_HOST in your + horizon local settings which located in + <filename>/etc/openstack-dashboard/local_settings.py.</filename>. + <link xlink:href="http://docs.openstack.org/developer/horizon/"> + For more information visit official horizon documentation. </link> + </para> + </listitem> + </itemizedlist> + </section> + <section> + <title>Run</title> + <para> + Since all required settings are made Apache service need to be restarted to apply all changes. + </para> + <itemizedlist> + <listitem> + <para> + <emphasis>Ubuntu</emphasis> + <programlisting> # service apache2 restart - </programlisting> - </para> - </listitem> - <listitem> - <para> - <emphasis>CentOS</emphasis> - <programlisting> + </programlisting> + </para> + </listitem> + <listitem> + <para> + <emphasis>CentOS</emphasis> + <programlisting> # service httpd restart - </programlisting> - </para> - </listitem> - <listitem> - <para> - Check that "Environments" panel appears at the horizon "Project" tab. - To see how to operate with Murano dashboard plugin check out - <link xlink:href="http://murano-docs.github.io/latest/user-guide/content/ch01.html"> - Murano User Guide. - </link> - </para> - </listitem> - </itemizedlist> - </section> - </section> - <section xml:id="ssl"> - <title>SSL configuration</title> - <para> - Murano components are able to work with SSL. This chapter will - help your to make proper settings with SSL configuration. - </para> - <section> - <title>HTTPS for Murano API</title> - <para> - SSL for Murano API service can be configured in <emphasis>ssl</emphasis> section in - <filename>/etc/murano/murano-api.conf</filename>. Just point to a valid SSL certificate. - See the example below: - </para> - <programlisting> - <![CDATA[ + </programlisting> + </para> + </listitem> + <listitem> + <para> + Check that "Environments" panel appears at the horizon "Project" tab. + To see how to operate with Murano dashboard plugin check out + <link xlink:href="http://murano-docs.github.io/latest/user-guide/content/ch01.html"> + Murano User Guide. + </link> + </para> + </listitem> + </itemizedlist> + </section> + </section> + <section xml:id="ssl"> + <title>SSL configuration</title> + <para> + Murano components are able to work with SSL. This chapter will + help your to make proper settings with SSL configuration. + </para> + <section> + <title>HTTPS for Murano API</title> + <para> + SSL for Murano API service can be configured in <emphasis>ssl</emphasis> section in + <filename>/etc/murano/murano-api.conf</filename>. Just point to a valid SSL certificate. + See the example below: + </para> + <programlisting> + <![CDATA[ [ssl] cert_file = PATH key_file = PATH ca_file = PATH - ]]> - </programlisting> - <itemizedlist> - <listitem> - <para> - <emphasis>cert_file=PATH:</emphasis> - Path to the certificate file the server should use when binding to an SSL-wrapped socket. - </para> - </listitem> - <listitem> - <para> - <emphasis>key_file=PATH:</emphasis> Path to the private key file the server should - use when binding to an SSL-wrapped socket. - </para> - </listitem> - <listitem> - <para> - <emphasis>ca_file=PATH:</emphasis> - Path to the CA certificate file the server should use to validate - client certificates provided during an SSL handshake. This is - ignored if cert_file and "key_file" are not set. - </para> - </listitem> - </itemizedlist> - <para> - The use of SSL is automatically started after point to HTTPS protocol instead of HTTP during registration Murano API service in endpoints - (Change publicurl argument to start with https://). See <link linkend="murano_api_endpoint">here</link> - how to register Murano API in Openstack Keystone. - </para> - <simpara> - SSL for Murano API is implemented like in any other Openstack component. - This realization is based on ssl python module so more information about it can be found - <link xlink:href="http://docs.python.org/2/library/ssl.html"> here.</link> - </simpara> - </section> - <section> - <title>SSL for RabbitMQ</title> - <para> - All Murano components communicate with each other - by RabbitMQ. This interaction can be encrypted with SSL. By - default all messages in Rabbit MQ are not encrypted. - Each RabbitMQ Exchange should be configured separately. - </para> - <para><emphasis role="bold">Murano API -> Rabbit MQ exchange</emphasis></para> - <para> - Edit <emphasis>rabbitmq</emphasis> section in <filename>/etc/murano/murano-api.conf</filename> - and set ssl option to True to enable SSL. Specify the path to the - SSL CA certificate in regular format: /path/to/file without quotes or leave it empty to allow - self-signed certificates. - </para> - <programlisting> - <![CDATA[ - [rabbitmq] + ]]> + </programlisting> + <itemizedlist> + <listitem> + <para> + <emphasis>cert_file=PATH:</emphasis> + Path to the certificate file the server should use when binding to an SSL-wrapped socket. + </para> + </listitem> + <listitem> + <para> + <emphasis>key_file=PATH:</emphasis> Path to the private key file the server should + use when binding to an SSL-wrapped socket. + </para> + </listitem> + <listitem> + <para> + <emphasis>ca_file=PATH:</emphasis> + Path to the CA certificate file the server should use to validate + client certificates provided during an SSL handshake. This is + ignored if cert_file and "key_file" are not set. + </para> + </listitem> + </itemizedlist> + <para> + The use of SSL is automatically started after point to HTTPS protocol instead of HTTP during registration Murano API service in endpoints + (Change publicurl argument to start with https://). See <link linkend="murano_api_endpoint">here</link> + how to register Murano API in Openstack Keystone. + </para> + <simpara> + SSL for Murano API is implemented like in any other Openstack component. + This realization is based on ssl python module so more information about it can be found + <link xlink:href="http://docs.python.org/2/library/ssl.html"> here.</link> + </simpara> + </section> + <section> + <title>SSL for RabbitMQ</title> + <para> + All Murano components communicate with each other + by RabbitMQ. This interaction can be encrypted with SSL. By + default all messages in Rabbit MQ are not encrypted. + Each RabbitMQ Exchange should be configured separately. + </para> + <para><emphasis role="bold">Murano API -> Rabbit MQ exchange</emphasis></para> + <para> + Edit <emphasis>rabbitmq</emphasis> section in <filename>/etc/murano/murano-api.conf</filename> + and set ssl option to True to enable SSL. Specify the path to the + SSL CA certificate in regular format: /path/to/file without quotes or leave it empty to allow + self-signed certificates. + </para> + <programlisting> + <![CDATA[ + [rabbitmq] # Use SSL for RabbitMQ connections (True or False) ssl = True # Path to SSL CA certificate or empty to allow self signed server certificate ca_certs = - ]]> - </programlisting> - <para><emphasis role="bold">Rabbit MQ -> Murano Conductor exchange</emphasis></para> - <para> - Open <emphasis>/etc/murano/conductor.conf</emphasis> - and configure <emphasis>rabbitmq</emphasis> section in the same way: - enable ssl option to True and set CA certificate path or leave it empty to allow - self-signed certificates. - </para> - <programlisting> - <![CDATA[ - [rabbitmq] + ]]> + </programlisting> + <para><emphasis role="bold">Rabbit MQ -> Murano Conductor exchange</emphasis></para> + <para> + Open <emphasis>/etc/murano/conductor.conf</emphasis> + and configure <emphasis>rabbitmq</emphasis> section in the same way: + enable ssl option to True and set CA certificate path or leave it empty to allow + self-signed certificates. + </para> + <programlisting> + <![CDATA[ + [rabbitmq] # Use SSL for RabbitMQ connections (True or False) ssl = True # Path to SSL CA certificate or empty to allow self signed server certificate ca_certs = /home/user/certificates/example.crt - ]]> - </programlisting> - <para><emphasis role="bold"> - Murano Agent -> Rabbit MQ exchange</emphasis> - </para> - <para> - By default all Murano Conductor configuration settings apply to Murano Agent. - If you want to configure Murano Agent in a different way change the default template. It can be found - here:<emphasis>/etc/murano/data/templates/agent-config/Default.template.</emphasis> - Take a look at appSettings section: - </para> - <programlisting> - <![CDATA[ - <appSettings> - <add key="rabbitmq.host" value="%RABBITMQ_HOST%"/> - <add key="rabbitmq.port" value="%RABBITMQ_PORT%"/> - <add key="rabbitmq.user" value="%RABBITMQ_USER%"/> - <add key="rabbitmq.password" - value="%RABBITMQ_PASSWORD%"/> - <add key="rabbitmq.vhost" value="%RABBITMQ_VHOST%"/> - <add key="rabbitmq.inputQueue" - value="%RABBITMQ_INPUT_QUEUE%"/> - <add key="rabbitmq.resultExchange" value=""/> - <add key="rabbitmq.resultRoutingKey" - value="%RESULT_QUEUE%"/> - <add key="rabbitmq.durableMessages" value="true"/> + ]]> + </programlisting> + <para><emphasis role="bold"> + Murano Agent -> Rabbit MQ exchange</emphasis> + </para> + <para> + By default all Murano Conductor configuration settings apply to Murano Agent. + If you want to configure Murano Agent in a different way change the default template. It can be found + here:<emphasis>/etc/murano/data/templates/agent-config/Default.template.</emphasis> + Take a look at appSettings section: + </para> + <programlisting> + <![CDATA[ + <appSettings> + <add key="rabbitmq.host" value="%RABBITMQ_HOST%"/> + <add key="rabbitmq.port" value="%RABBITMQ_PORT%"/> + <add key="rabbitmq.user" value="%RABBITMQ_USER%"/> + <add key="rabbitmq.password" + value="%RABBITMQ_PASSWORD%"/> + <add key="rabbitmq.vhost" value="%RABBITMQ_VHOST%"/> + <add key="rabbitmq.inputQueue" + value="%RABBITMQ_INPUT_QUEUE%"/> + <add key="rabbitmq.resultExchange" value=""/> + <add key="rabbitmq.resultRoutingKey" + value="%RESULT_QUEUE%"/> + <add key="rabbitmq.durableMessages" value="true"/> - <add key="rabbitmq.ssl" value="%RABBITMQ_SSL%"/> - <add key="rabbitmq.allowInvalidCA" value="true"/> - <add key="rabbitmq.sslServerName" value=""/> - </appSettings> - ]]> - </programlisting> - <para> - Desired parameter should be set directly to the value of the key - that you want to change. Quotes are need to be kept. - Thus you can change "rabbitmq.ssl" and "rabbitmq.port" values to - make Rabbit MQ work with this exchange in a different from - Murano-Conductor way. - </para> - </section> - <section> - <title>SSL for Murano Dashboard</title> - <para> - If you are going not to use self-signed certificates additional configuration do not need to be done. - Just point https in the URL. Otherwise, set <emphasis>MURANO_API_INSECURE = True</emphasis> on horizon config. - You can find it in <filename>/etc/openstack-dashboard/local_settings.py.</filename>. - </para> - </section> - </section> + <add key="rabbitmq.ssl" value="%RABBITMQ_SSL%"/> + <add key="rabbitmq.allowInvalidCA" value="true"/> + <add key="rabbitmq.sslServerName" value=""/> + </appSettings> + ]]> + </programlisting> + <para> + Desired parameter should be set directly to the value of the key + that you want to change. Quotes are need to be kept. + Thus you can change "rabbitmq.ssl" and "rabbitmq.port" values to + make Rabbit MQ work with this exchange in a different from + Murano-Conductor way. + </para> + </section> + <section> + <title>SSL for Murano Dashboard</title> + <para> + If you are going not to use self-signed certificates additional configuration do not need to be done. + Just point https in the URL. Otherwise, set <emphasis>MURANO_API_INSECURE = True</emphasis> on horizon config. + You can find it in <filename>/etc/openstack-dashboard/local_settings.py.</filename>. + </para> + </section> + </section> </section> </chapter> diff --git a/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml b/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml index d3ee49c..6b2d20c 100644 --- a/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml +++ b/src/administrators-guide/src/docbkx/content/linux-image-bulder.xml @@ -17,232 +17,239 @@ --> <chapter xmlns="http://docbook.org/ns/docbook" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - 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" - version="5.0"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + 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" + version="5.0"> <title>Building Linux Image</title> <section> <title>Install Required Packages</title> <note> <para> - Please check that hardware virtualization is supported and enabled in BIOS. + Please check that hardware virtualization is supported and enabled in BIOS. </para> </note> <para> The following packages should be installed on any host which will be used to build Linux Image: <itemizedlist> - <listitem> - <para> - ipxe-qemu - </para> - </listitem> - <listitem> - <para> - kvm-ipxe - </para> - </listitem> - <listitem> - <para> - qemu-kvm - </para> - </listitem> - <listitem> - <para> - python-libvirt - </para> - </listitem> - <listitem> - <para> - libvirt-bin - </para> - </listitem> - <listitem> - <para> - libvirt0 - </para> - </listitem> - <listitem> - <para> - virt-goodies - </para> - </listitem> - <listitem> - <para> - virt-manager - </para> - </listitem> - <listitem> - <para> - virt-top - </para> - </listitem> - <listitem> - <para> - virt-what - </para> - </listitem> - <listitem> - <para> - virtinst - </para> - </listitem> - <listitem> - <para> - python - </para> - </listitem> + <listitem> + <para> + ipxe-qemu + </para> + </listitem> + <listitem> + <para> + kvm-ipxe + </para> + </listitem> + <listitem> + <para> + qemu-kvm + </para> + </listitem> + <listitem> + <para> + munin-libvirt-plugins + </para> + </listitem> + <listitem> + <para> + python-libvirt + </para> + </listitem> + <listitem> + <para> + libvirt-bin + </para> + </listitem> + <listitem> + <para> + libvirt0 + </para> + </listitem> + <listitem> + <para> + munin-libvirt-plugins + </para> + </listitem> + <listitem> + <para> + python-libvirt + </para> + </listitem> + <listitem> + <para> + virt-goodies + </para> + </listitem> + <listitem> + <para> + virt-manager + </para> + </listitem> + <listitem> + <para> + virt-top + </para> + </listitem> + <listitem> + <para> + virt-what + </para> + </listitem> + <listitem> + <para> + virtinst + </para> + </listitem> + <listitem> + <para> + python + </para> + </listitem> </itemizedlist> </para> <para> - On Ubuntu you could install them using the command below: + 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 \ - python-libxml2 python-minimal python-pycurl \ - python-pyorbit python-requests python-six \ - samba samba-common openssh-server virt-top virt-what -</screen> + virtinst virt-manager libvirt0 libvirt-bin \ + 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> </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 + <title>Build Linux Image</title> + <para> + <emphasis role="strong">Create a VM</emphasis> + </para> + <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> - <note> - <para> - Run all commands as root. - </para> - </note> + </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. + Run all commands as root. </para> + </note> + <para> + <emphasis role="strong">Way 1: Using CLI Tools</emphasis> + </para> + <para> + This section describes the required step to launch a VM using CLI tools only. + </para> <para> <orderedlist> - <listitem> - <para> - Preallocate disk image - </para> -<screen> + <listitem> + <para> + Preallocate disk image + </para> + <screen> ># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G -</screen> - </listitem> - <listitem> - <para> - Start the VM - </para> -<screen> + </screen> + </listitem> + <listitem> + <para> + Start the VM + </para> + <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 \ - --network network=default,model=virtio \ - --memballoon model=virtio --vnc --os-type=linux \ - --accelerate --noapic --keymap=en-us --video=cirrus --force -</screen> - </listitem> + --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 \ + --network network=default,model=virtio \ + --memballoon model=virtio --vnc --os-type=linux \ + --accelerate --noapic --keymap=en-us --video=cirrus --force + </screen> + </listitem> </orderedlist> </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> + <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> - A VM also could be lauched via GUI tools like virt-manager. + </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> - <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> - </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> + </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> </section> <section> - <title>Guest VM Linux OS preparation</title> - <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> - <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> - <para> - <emphasis role="strong">murano-agent installation steps</emphasis> - </para> -<screen> + <title>Guest VM Linux OS preparation</title> + <para> + <emphasis role="strong">Ubuntu 12.04 LTS x86_64</emphasis> + </para> + <screen> +># for action in update upgrade dist-upgrade;do apt-get -y $action;done +># apt-get install -y git unzip make cmake gcc python-dev python-pip openssh-server sudo + </screen> + <para> + <emphasis role="strong">CentOS 6.4 x86_64</emphasis> + </para> + <screen> +># rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm +># for action in update upgrade;do yum -y $action; done +># yum install -y git unzip make cmake gcc python-devel python-pip openssh-server openssh-clients sudo + </screen> + <para> + <emphasis role="strong">murano-agent installation steps</emphasis> + </para> + <screen> ># mkdir -p /opt/git ># cd /opt/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: ># ./setup.sh install - -# To install Murano Agent on CentOS run: +or ># ./setup-centos.sh install -</screen> - <para> - <emphasis role="strong">cloud-init installation steps</emphasis> - <itemizedlist> - <listitem> - <para> - <emphasis role="bold">Ubuntu</emphasis> - </para> -<screen> + </screen> + <para> + <emphasis role="strong">cloud-init installation steps</emphasis> + <itemizedlist> + <listitem> + <para> + <emphasis role="bold">Ubuntu</emphasis> + </para> + <screen> ># apt-get install -y cloud-init cloud-initramfs-growroot -</screen> - </listitem> - <listitem> - <para> - <emphasis role="bold">CentOS</emphasis> - </para> -<screen> + </screen> + </listitem> + <listitem> + <para> + <emphasis role="bold">CentOS</emphasis> + </para> + <screen> ># yum install -y cloud-init -</screen> - <note> - <para> - <emphasis role="bold">Ubuntu only</emphasis> - </para> -<screen> + </screen> + <note> + <para> + <emphasis role="bold">Ubuntu only</emphasis> + </para> + <screen> ># dpkg-reconfigure cloud-init -</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> - </note> - </listitem> - <listitem> - <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> - </listitem> - </itemizedlist> - </para> - <para> - <emphasis role="strong">Security setup</emphasis> - </para> - <para> - Create user and make it able to run commands through sudo without password prompt. - <itemizedlist> - <listitem> - <para> - <emphasis role="strong">Ubuntu</emphasis> - </para> -<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> + </note> + </listitem> + <listitem> + <para> + <emphasis role="strong">Minimal cloud-init configuration options</emphasis> + </para> + <screen> +># vi /etc/cloud/cloud.cfg: + user: ec2-user + disable_root: 1 + preserve_hostname: False + </screen> + </listitem> + </itemizedlist> + </para> + <para> + <emphasis role="strong">Security setup</emphasis> + </para> + <para> + Create user and make it able to run commands through sudo without password prompt. + <itemizedlist> + <listitem> + <para> + <emphasis role="strong">Ubuntu</emphasis> + </para> + <screen> ># useradd -m -G sudo -s /bin/bash ec2-user ># passwd ec2-user -</screen> - </listitem> - <listitem> - <para> - <emphasis role="strong">CentOS</emphasis> - </para> -<screen> + </screen> + </listitem> + <listitem> + <para> + <emphasis role="strong">CentOS</emphasis> + </para> + <screen> ># useradd -m -G wheel -s /bin/bash ec2-user ># passwd ec2-user -</screen> - </listitem> - <listitem> - <para> - <emphasis role="strong">Sudo</emphasis> - </para> -<screen> + </screen> + </listitem> + <listitem> + <para> + <emphasis role="strong">Sudo</emphasis> + </para> + <screen> ># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user ># chmod 440 /etc/sudoers.d/ec2-user -</screen> - </listitem> - <listitem> - <para> - <emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis> - </para> -<screen> + </screen> + </listitem> + <listitem> + <para> + <emphasis role="strong">Disable SSH password-based logins in the /etc/ssh/sshd_config.</emphasis> + </para> + <screen> ... GSSAPIAuthentication no PasswordAuthentication no PermitRootLogin no ... -</screen> - </listitem> - </itemizedlist> - </para> - <para> - <emphasis role="strong">Network handling</emphasis> - <itemizedlist> - <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> + </screen> + </listitem> + </itemizedlist> + </para> + <para> + <emphasis role="strong">Network handling</emphasis> + <itemizedlist> + <listitem> <para> - The image must be converted from RAW format to QCOW2 before being imported into Glance. + <emphasis role="strong">Ubuntu</emphasis> </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> -<screen> -># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \ - /var/lib/libvirt/images/cloud-linux.img.qcow2 -</screen> + The image must be converted from RAW format to QCOW2 before being imorted into Glance. </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> - <title>Upload Image Into Glance</title> - <para> - 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> - <note> + <title>Upload Image Into Glance</title> + <para> + 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> + <note> + <para>Image should be marked with an appropriate type. That could be done through the Horizon UI. + Navigate to Project -> Environments -> Marked Images -> Mark Image and fill up form: + <itemizedlist> + <listitem> <para> - Image should be marked with an appropriate type. That could be done through the Horizon UI. - Navigate to Project -> Environments -> Marked Images -> 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> + <emphasis role="bold">Image</emphasis> - cloud-linux </para> - </note> - <para> - After these steps desired image can be chosen in Murano dashboard and used for services platform. + </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> + </note> + <para> + After these steps desired image can be chosen in Murano dashboard and used for services platform. + </para> </section> </chapter> diff --git a/src/developers-guide/src/docbkx/content/installation-guide.xml b/src/developers-guide/src/docbkx/content/installation-guide.xml index 4ee7e25..836a433 100644 --- a/src/developers-guide/src/docbkx/content/installation-guide.xml +++ b/src/developers-guide/src/docbkx/content/installation-guide.xml @@ -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> @@ -91,7 +93,7 @@ virtualenv package if you don't have one: <programlisting> sudo pip install virtualenv - </programlisting> + </programlisting> </para> <para> <emphasis role="bold">Murano Api</emphasis> @@ -101,7 +103,7 @@ sudo pip install virtualenv Check out git repository with murano component: <programlisting> git clone https://github.com/stackforge/murano-api - </programlisting> + </programlisting> </para> </listitem> <listitem> @@ -111,21 +113,22 @@ git clone https://github.com/stackforge/murano-api directory to create virtual environment automatically: <programlisting> cd murano-api && python ./tools/install_venv.py - </programlisting> + </programlisting> </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'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 - </programlisting> +./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano/murano-api.conf + </programlisting> </para> </listitem> </itemizedlist> @@ -138,41 +141,33 @@ cd murano-api && python ./tools/install_venv.py Check out git repository with murano component: <programlisting> git clone https://github.com/stackforge/murano-conductor - </programlisting> + </programlisting> </para> </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> cd murano-conductor && python ./tools/install_venv.py - </programlisting> + </programlisting> </para> </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's data directory located. -# "data" 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 - </programlisting> +./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/murano/conductor.conf + </programlisting> </para> </listitem> </itemizedlist> @@ -185,7 +180,7 @@ cd murano-conductor && python ./tools/install_venv.py Check out git repository with murano component: <programlisting> git clone https://github.com/stackforge/murano-repository - </programlisting> + </programlisting> </para> </listitem> <listitem> @@ -195,20 +190,20 @@ git clone https://github.com/stackforge/murano-repository directory to create virtual environment automatically: <programlisting> cd murano-repository && python ./tools/install_venv.py - </programlisting> + </programlisting> </para> </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 - </programlisting> +./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano/murano-repository.conf + </programlisting> </para> </listitem> </itemizedlist> @@ -220,7 +215,7 @@ cd murano-repository && python ./tools/install_venv.py Check out git repository with murano component: <programlisting> git clone https://github.com/stackforge/murano-dashboard - </programlisting> + </programlisting> </para> </listitem> <listitem> @@ -230,7 +225,7 @@ git clone https://github.com/stackforge/murano-dashboard directory to create virtual environment automatically: <programlisting> cd murano-dashboard && python ./tools/install_venv.py - </programlisting> + </programlisting> </para> </listitem> <listitem> @@ -242,15 +237,15 @@ cd murano-dashboard && python ./tools/install_venv.py <para> <programlisting> # ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz - </programlisting> + </programlisting> <emphasis>Ubuntu</emphasis> <programlisting> # apt-get install nodejs - </programlisting> + </programlisting> <emphasis>CentOS</emphasis> <programlisting> # yum install nodejs - </programlisting> + </programlisting> </para> </listitem> </itemizedlist> @@ -261,12 +256,33 @@ cd murano-dashboard && python ./tools/install_venv.py To configure Murano Dashboard copy example config file: <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'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. + </programlisting> + 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> @@ -276,7 +292,7 @@ cd murano-dashboard && python ./tools/install_venv.py utility with the context of the virtual environment: <programlisting> ./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080 - </programlisting> + </programlisting> </para> </listitem> </itemizedlist> diff --git a/src/developers-guide/src/docbkx/content/overview.xml b/src/developers-guide/src/docbkx/content/overview.xml index 26dccc1..82d4bde 100644 --- a/src/developers-guide/src/docbkx/content/overview.xml +++ b/src/developers-guide/src/docbkx/content/overview.xml @@ -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> diff --git a/src/developers-guide/src/docbkx/content/releases.xml b/src/developers-guide/src/docbkx/content/releases.xml index 8550904..f6ade38 100644 --- a/src/developers-guide/src/docbkx/content/releases.xml +++ b/src/developers-guide/src/docbkx/content/releases.xml @@ -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> diff --git a/src/getting-started/src/docbkx/content/before_you_begin.xml b/src/getting-started/src/docbkx/content/before_you_begin.xml index 68dcda1..9d642da 100644 --- a/src/getting-started/src/docbkx/content/before_you_begin.xml +++ b/src/getting-started/src/docbkx/content/before_you_begin.xml @@ -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> diff --git a/src/getting-started/src/docbkx/content/overview.xml b/src/getting-started/src/docbkx/content/overview.xml index 2a8081e..bab0385 100644 --- a/src/getting-started/src/docbkx/content/overview.xml +++ b/src/getting-started/src/docbkx/content/overview.xml @@ -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> diff --git a/src/getting-started/src/docbkx/content/setup_devbox.xml b/src/getting-started/src/docbkx/content/setup_devbox.xml index 8917aed..a467891 100644 --- a/src/getting-started/src/docbkx/content/setup_devbox.xml +++ b/src/getting-started/src/docbkx/content/setup_devbox.xml @@ -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://‹your hostname› in web browser and login with your credentials. Open Murano tab and enjoy. + </para> + </section> </chapter>