From 4cb3f3de6c84d89e8b93bd9a05ebc4e0d0d96794 Mon Sep 17 00:00:00 2001 From: Dmitry Teselkin Date: Fri, 17 Jan 2014 15:35:50 +0400 Subject: [PATCH] Cherry-pick from the release-0.4 branch * Fix issues in admin guide comments mentioned in https://review.openstack.org/#/c/65926/ document style (XML style, formatting issues) Closes-Bug: 1268537 * Resolve documentation issues Fix comments that was not fixed in original Closes-bug: #1268537 * Update documentation for a release-0.4.1 release Closes-bug: #1268537 Change-Id: I5bf3f01500dc4023e5477e5173d4f6a9922bd034 --- .../src/docbkx/content/installation-guide.xml | 1669 +++++++++-------- .../src/docbkx/content/linux-image-bulder.xml | 682 +++---- .../src/docbkx/content/installation-guide.xml | 108 +- .../src/docbkx/content/overview.xml | 12 + .../src/docbkx/content/releases.xml | 10 + .../src/docbkx/content/before_you_begin.xml | 7 +- .../src/docbkx/content/overview.xml | 11 + .../src/docbkx/content/setup_devbox.xml | 98 + 8 files changed, 1376 insertions(+), 1221 deletions(-) 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 @@ --> - Install Murano Components - 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 this link to check supported version of all Murano dependencies. - -
- Automatic Installation - There is a script to automate Murano installation onto devbox. - - - Create a folder to hold cloned repositories - + 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"> + Install Murano Components + 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 this link to check supported version of all Murano dependencies. + +
+ Automatic Installation + There is a script to automate Murano installation onto devbox. + + + Create a folder to hold cloned repositories + ># mkdir -p /opt/git - - - - - Clone murano-deployment repository - + + + + + Clone murano-deployment repository + ># cd /opt/git ># git clone git://github.com/stackforge/murano-deployment.git - - - - - Set configuration and install prerequisites - + + + + + Set configuration and install prerequisites + ># cd /opt/git/murano-deployment/devbox-scripts ># ./murano-git-install.sh prerequisites - - - Press Enter to edit /etc/murano-deployment/lab-binding.rc, - then 'i' to enter INSERT mode. After editing press ESC and type :wq to write and exit from VI. - + + + Press Enter to edit /etc/murano-deployment/lab-binding.rc, + then 'i' to enter INSERT mode. After editing press ESC and type :wq to write and exit from VI. + LAB_HOST='' ADMIN_USER='' @@ -84,417 +84,417 @@ SSL_KEY_FILE='' #BRANCH_MURANO_CLIENT='' #BRANCH_MURANO_CONDUCTOR='' #BRANCH_MURANO_REPOSITORY='' - - - - LAB_HOST - IP or hostname of the lab. - This address/hostname should point to the host where Keystone is installed. - - - ADMIN_USER - OpenStack admin user. - - - ADMIN_PASSWORD - A password for OpenStack admin user. - - - RABBITMQ_USER - User to connect to RabbitMQ host. - - - RABBITMQ_PASSWORD - Password for that user. - - - RABBITMQ_VHOST - vHost which will be used by Murano - components. Provides additional layer of isolation from other devboxes. - - - RABBITMQ_PORT - Port number for Murano components interconnection. - It should be different from general RabbitMQ port to provide SSL opportunity. - - - RABBITMQ_HOST - (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. - - - RABBITMQ_HOST_ALT - (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. - - - FILE_SHARE_HOST - (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. - - - BRANCH_MURANO_* - (optional) code from specified branch name for a selected Murano - component will be installed. By default code from 'master' branch will be fetched. - - - SSL_ENABLED - Set 'true' if - OpenStack is configured with SSL support and 'false' otherwise. - - - SSL_CA_FILE - Path to CA certificate for certificate validation - on client side. Leave it empty when used self-signed certificates. - - - SSL_CERT_FILE - Path to the valid SSL certificate. - - - SSL_KEY_FILE - Path to the valid key file. - - - - - - Install Murano components - + + + + LAB_HOST - IP or hostname of the lab. + This address/hostname should point to the host where Keystone is installed. + + + ADMIN_USER - OpenStack admin user. + + + ADMIN_PASSWORD - A password for OpenStack admin user. + + + RABBITMQ_USER - User to connect to RabbitMQ host. + + + RABBITMQ_PASSWORD - Password for that user. + + + RABBITMQ_VHOST - vHost which will be used by Murano + components. Provides additional layer of isolation from other devboxes. + + + RABBITMQ_PORT - Port number for Murano components interconnection. + It should be different from general RabbitMQ port to provide SSL opportunity. + + + RABBITMQ_HOST - (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. + + + RABBITMQ_HOST_ALT - (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. + + + FILE_SHARE_HOST - (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. + + + BRANCH_MURANO_* - (optional) code from specified branch name for a selected Murano + component will be installed. By default code from 'master' branch will be fetched. + + + SSL_ENABLED - Set 'true' if + OpenStack is configured with SSL support and 'false' otherwise. + + + SSL_CA_FILE - Path to CA certificate for certificate validation + on client side. Leave it empty when used self-signed certificates. + + + SSL_CERT_FILE - Path to the valid SSL certificate. + + + SSL_KEY_FILE - Path to the valid key file. + + + + + + Install Murano components + ># ./murano-git-install.sh install - - - - - Login to the Dashboard using URL http://your_VM_IP/horizon - on Ubuntu or http://your_VM_IP/dashboard on CentOS. - - - -
-
- Manual Installation - This chapter describes manual installation and configuration of Murano services. - Note that all Murano modules can be downloaded from - our page - on launchpad. - - - - Automatic installation - - Murano can be installed in automatic way. Script will install all - necessary packages to your system. Find out more about this in - - Getting Started Guide - - - -
- Pre-Requisites - Murano supports the following operating systems: - - - Ubuntu 12.04 - - - RHEL/CentOS 6.4 - - - These system packages are required for Murano: - Ubuntu - - - gcc - - - python-pip - - - python-dev - - - libxml2-dev - - - libxslt-dev - - - libffi-dev - - - - CentOS - - - - gcc - - - python-pip - - - python-devel - - - libxml2-devel - - - libxslt-devel - - - libffi-devel - - - - All these packages will be installed in murano-installation scripts. In addition to these packages some repositories are required. - Please follow the instructions in the appendix to prepare your environment for murano installation. - + + + + + Login to the Dashboard using URL http://your_VM_IP/horizon + on Ubuntu or http://your_VM_IP/dashboard on CentOS. + + + +
+
+ Manual Installation + This chapter describes manual installation and configuration of Murano services. + Note that all Murano modules can be downloaded from + our page + on launchpad. + + + + Automatic installation + + Murano can be installed in automatic way. Script will install all + necessary packages to your system. Find out more about this in + + Getting Started Guide + + + +
+ Pre-Requisites + Murano supports the following operating systems: + + + Ubuntu 12.04 + + + RHEL/CentOS 6.4 + + + These system packages are required for Murano: + Ubuntu + + + gcc + + + python-pip + + + python-dev + + + libxml2-dev + + + libxslt-dev + + + libffi-dev + + + + CentOS + + + + gcc + + + python-pip + + + python-devel + + + libxml2-devel + + + libxslt-devel + + + libffi-devel + + + + All these packages will be installed in murano-installation scripts. In addition to these packages some repositories are required. + Please follow the instructions in the appendix to prepare your environment for murano installation. + -
-
- Murano API Service - Murano API provides access to the Murano orchestration engine via API. - This chapter describes the procedure of installation and configuration of Murano API. -
- Install - - - Superuser privileges is required to install and configure system packages. Let's switch to root account: - - +
+ Murano API Service + Murano API provides access to the Murano orchestration engine via API. + This chapter describes the procedure of installation and configuration of Murano API. +
+ Install + + + Superuser privileges is required to install and configure system packages. Let's switch to root account: + + - - - - Make sure that additional linux repositories are installed. See the appendix for information about preparing a virtual machine for murano installation. - - - - Clone Murano API git repository: - - + + + + Make sure that additional linux repositories are installed. See the appendix for information about preparing a virtual machine for murano installation. + + + + Clone Murano API git repository: + + - - Stable version one of our releases can be checked by the tag: - + ]]> + + Stable version one of our releases can be checked by the tag: + cd murano-api && git checkout 0.4 - - - - And perform installation: - - Ubuntu - - - + + + And perform installation: + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - - Successful installation ends with message like this: - - + + + + Successful installation ends with message like this: + + 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! - ]]> - - - -
-
- Configure - - - Copy and edit configuration files: - - + + + +
+
+ Configure + + + Copy and edit configuration files: + + - - - - Configure murano-api.conf according to your environment: - - - [DEFAULT] section sets up logging. - - - - [database]sets database connection. - - - - [reports] section defines names of RabbitMQ queues. - This naming should correspond to a similar parameter in conductor config file. - - - - In [rabbitmq] - 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: - - - + + + + Configure murano-api.conf according to your environment: + + + [DEFAULT] section sets up logging. + + + + [database]sets database connection. + + + + [reports] section defines names of RabbitMQ queues. + This naming should correspond to a similar parameter in conductor config file. + + + + In [rabbitmq] + 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: + + + - - - - [ssl] sets up SSL parameters - paths to required files in case of ssl connection. - For more information how to configure SSL take a look at SSL configuration chapter - - - - In [keystone_authtoken] - configure parameters of Openstack Keystone service. For more information see - - Auth-Token Middleware with Username and Password - - - - - - Another murano-api configuration file located at - /etc/murano/murano-api-paste.ini and does - not require any changes. - - - - - - - - Register murano-api service in Openstack. To do that perform the following commands: - You need to be authorized in Openstack to run this commands - - + + + + [ssl] sets up SSL parameters - paths to required files in case of ssl connection. + For more information how to configure SSL take a look at SSL configuration chapter + + + + In [keystone_authtoken] + configure parameters of Openstack Keystone service. For more information see + + Auth-Token Middleware with Username and Password + + + + + + Another murano-api configuration file located at + /etc/murano/murano-api-paste.ini and does + not require any changes. + + + + + + + + Register murano-api service in Openstack. To do that perform the following commands: + You need to be authorized in Openstack to run this commands + + - - - -
-
- Run - - - Run Murano API service: - - Ubuntu - - - + + + +
+
+ Run + + + Run Murano API service: + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - -
-
-
- Conductor Service - Conductor is a Murano orchestration engine that transforms object model sent by REST API service into - a series of Heat and Murano-Agent commands. - - This chapter describes Conductor for contributors of the project. -
- Install - - - 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. - - The detailed information about Heat configuration is described - here. - - - - - OpenStack Heat requires Key Pair for Load Balancer instances. - Murano Conductor uses LoadBalancer for IIS Farms and ASP.NET Farms. - - - - Superuser privileges is required to install and configure system packages. Let's switch to root account: - - + + + +
+
+
+ Conductor Service + Conductor is a Murano orchestration engine that transforms object model sent by REST API service into + a series of Heat and Murano-Agent commands. + + This chapter describes Conductor for contributors of the project. +
+ Install + + + 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. + + The detailed information about Heat configuration is described + here. + + + + + OpenStack Heat requires Key Pair for Load Balancer instances. + Murano Conductor uses LoadBalancer for IIS Farms and ASP.NET Farms. + + + + Superuser privileges is required to install and configure system packages. Let's switch to root account: + + - - - - Make sure that additional repositories are installed. - See - the appendix - for information about preparing a virtual machine for murano installation. - - - - Clone Murano Conductor repository from the github. - - + + + + Make sure that additional repositories are installed. + See + the appendix + for information about preparing a virtual machine for murano installation. + + + + Clone Murano Conductor repository from the github. + + - - Stable version one of our releases can be checked out by tag: - + ]]> + + Stable version one of our releases can be checked out by tag: + cd murano-conductor && git checkout 0.4 - - - - And then perform installation - - Ubuntu - - - + + + And then perform installation + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - -
-
- Configure - - - Copy example of the configuration file: - - + + + +
+
+ Configure + + + Copy example of the configuration file: + + @@ -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 = / - - - - -
-
- Run - - - Run Murano Conductor service: - - Ubuntu - - - + + +
+
+ Run + + + Run Murano Conductor service: + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - -
-
-
- Murano Repository Service - Murano Repository provides access to metadata for Murano Conductor and Murano Dashboard. - It also allows to manage metadata objects via API. - This chapter describes the procedure of installation and configuration of Murano Repository. -
- Install - - - Superuser privileges is required to install and configure system packages. Let's switch to root account: - - + + + +
+
+
+ Murano Repository Service + 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. + This chapter describes the procedure of installation and configuration of Murano Repository. +
+ Install + + + Superuser privileges is required to install and configure system packages. Let's switch to root account: + + - - - - Make sure that additional linux repositories are installed. See the appendix for information about preparing a virtual machine for murano installation. - - - - Clone Murano Repository from git: - - + + + + Make sure that additional linux repositories are installed. See the appendix for information about preparing a virtual machine for murano installation. + + + + Clone Murano Repository from git: + + - - Stable version one of our releases can be checked by the tag: - + ]]> + + Stable version one of our releases can be checked by the tag: + cd murano-repository && git checkout 0.4 - - - - And perform installation: - - Ubuntu - - - + + + And perform installation: + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - - Successful installation ends with message like this: - - + + + + Successful installation ends with message like this: + + 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! - ]]> - - - -
-
- Configure - - - Copy and edit configuration files: - - + + + +
+
+ Configure + + + Copy and edit configuration files: + + - - - - Configure murano-repository.conf according to your environment: - - - [DEFAULT] section sets up main server parameters: port and address. - Folder to store cache and logging parameters also defines in this section. - - - manifests 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: - - ui sets up directory name for keeping Murano dashboard ui definitions - workflows sets up directory name for keeping Murano Conductor workflows - heat sets up directory name for keeping Heat templates - agentsets up directory name for keeping Murano Agent templates - scripts sets up directory name for keeping Murano Execution Plans - - - - - [output] defines result archive structure. - This parameters applies to archive structure that clients (Murano Conductor) request from Metadata Repository. - - - - In [keystone] - configure parameters of Openstack Keystone service. For more information see - - Auth-Token Middleware with Username and Password - - - - - - - - - Register murano-repository service in Openstack. To do that perform the following commands: - You need to be authorized in Openstack to run this commands - - + + + + Configure murano-repository.conf according to your environment: + + + [DEFAULT] section sets up main server parameters: port and address. + Folder to store cache and logging parameters also defines in this section. + + + manifests 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: + + ui sets up directory name for keeping Murano dashboard ui definitions + workflows sets up directory name for keeping Murano Conductor workflows + heat sets up directory name for keeping Heat templates + agentsets up directory name for keeping Murano Agent templates + scripts sets up directory name for keeping Murano Execution Plans + + + + + [output] defines result archive structure. + This parameters applies to archive structure that clients (Murano Conductor) request from Metadata Repository. + + + + In [keystone] + configure parameters of Openstack Keystone service. For more information see + + Auth-Token Middleware with Username and Password + + + + + + + + + Register murano-repository service in Openstack. To do that perform the following commands: + You need to be authorized in Openstack to run this commands + + - - - -
-
- Run - - - Run Murano Repository service: - - Ubuntu - - - + + + +
+
+ Run + + + Run Murano Repository service: + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - -
-
-
- Murano Dashboard - Murano Dashboard provides Web UI for Murano Project. - - This installation is not capable with Horizon installed by devstack - -
- Install - - - Superuser privileges is required to install and configure system packages. Let's switch to root account: - - + + + +
+
+
+ Murano Dashboard + Murano Dashboard provides Web UI for Murano Project. + + This installation is not capable with Horizon installed by devstack + +
+ Install + + + Superuser privileges is required to install and configure system packages. Let's switch to root account: + + - - - - Make sure that additional repositories are installed and your system is updated and upgraded. - Please check from with steps in the appendix. - - - - 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. - - - Horizon installed by devstack is not capable for a murano installation. - - - - Ubuntu - - + ]]> + + + + Make sure that additional repositories are installed and your system is updated and upgraded. + Please check from with steps in the appendix. + + + + 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. + + + Horizon installed by devstack is not capable for a murano installation. + + + + Ubuntu + + apt-get install memcached libapache2-mod-wsgi openstack-dashboard dpkg --purge openstack-dashboard-ubuntu-theme - - - CentOS - - + + + CentOS + + yum install make gcc memcached python-memcached \ mod_wsgi openstack-dashboard python-netaddr.noarch #> lokkit -p http:tcp #> lokkit -p https:tcp - + - - - Clone Murano Dashboard repository from the github: - - + + Clone Murano Dashboard repository from the github: + + - - - - Stable version one of our releases can be checked out by tag: - - + ]]> + + + + Stable version one of our releases can be checked out by tag: + + cd murano-dashboard && git checkout 0.4 - - - - Switch to just created directory and run installation script - - Ubuntu - - - + + + Switch to just created directory and run installation script + + Ubuntu + + + - - - CentOS - - - + + + CentOS + + + - - - -
-
- Configure - - - - 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 - /etc/openstack-dashboard/local_settings.py.. - - For more information visit official horizon documentation. - - - -
-
- Run - - Since all required settings are made Apache service need to be restarted to apply all changes. - - - - - Ubuntu - + ]]> + + + +
+
+ Configure + + + + 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 + /etc/openstack-dashboard/local_settings.py.. + + For more information visit official horizon documentation. + + + +
+
+ Run + + Since all required settings are made Apache service need to be restarted to apply all changes. + + + + + Ubuntu + # service apache2 restart - - - - - - CentOS - + + + + + + CentOS + # service httpd restart - - - - - - Check that "Environments" panel appears at the horizon "Project" tab. - To see how to operate with Murano dashboard plugin check out - - Murano User Guide. - - - - -
-
-
- SSL configuration - - Murano components are able to work with SSL. This chapter will - help your to make proper settings with SSL configuration. - -
- HTTPS for Murano API - - SSL for Murano API service can be configured in ssl section in - /etc/murano/murano-api.conf. Just point to a valid SSL certificate. - See the example below: - - - + + + + + Check that "Environments" panel appears at the horizon "Project" tab. + To see how to operate with Murano dashboard plugin check out + + Murano User Guide. + + + + +
+
+
+ SSL configuration + + Murano components are able to work with SSL. This chapter will + help your to make proper settings with SSL configuration. + +
+ HTTPS for Murano API + + SSL for Murano API service can be configured in ssl section in + /etc/murano/murano-api.conf. Just point to a valid SSL certificate. + See the example below: + + + - - - - - cert_file=PATH: - Path to the certificate file the server should use when binding to an SSL-wrapped socket. - - - - - key_file=PATH: Path to the private key file the server should - use when binding to an SSL-wrapped socket. - - - - - ca_file=PATH: - 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. - - - - - 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 here - how to register Murano API in Openstack Keystone. - - - 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 - here. - -
-
- SSL for RabbitMQ - - 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. - - Murano API -> Rabbit MQ exchange - - Edit rabbitmq section in /etc/murano/murano-api.conf - 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. - - - + + + + + cert_file=PATH: + Path to the certificate file the server should use when binding to an SSL-wrapped socket. + + + + + key_file=PATH: Path to the private key file the server should + use when binding to an SSL-wrapped socket. + + + + + ca_file=PATH: + 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. + + + + + 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 here + how to register Murano API in Openstack Keystone. + + + 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 + here. + +
+
+ SSL for RabbitMQ + + 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. + + Murano API -> Rabbit MQ exchange + + Edit rabbitmq section in /etc/murano/murano-api.conf + 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. + + + - - Rabbit MQ -> Murano Conductor exchange - - Open /etc/murano/conductor.conf - and configure rabbitmq section in the same way: - enable ssl option to True and set CA certificate path or leave it empty to allow - self-signed certificates. - - - + + Rabbit MQ -> Murano Conductor exchange + + Open /etc/murano/conductor.conf + and configure rabbitmq section in the same way: + enable ssl option to True and set CA certificate path or leave it empty to allow + self-signed certificates. + + + - - - Murano Agent -> Rabbit MQ exchange - - - 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:/etc/murano/data/templates/agent-config/Default.template. - Take a look at appSettings section: - - - - - - - - - - - - + ]]> + + + Murano Agent -> Rabbit MQ exchange + + + 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:/etc/murano/data/templates/agent-config/Default.template. + Take a look at appSettings section: + + + + + + + + + + + + - - - - - ]]> - - - 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. - -
-
- SSL for Murano Dashboard - - 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 MURANO_API_INSECURE = True on horizon config. - You can find it in /etc/openstack-dashboard/local_settings.py.. - -
-
+ + + + + ]]> +
+ + 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. + +
+
+ SSL for Murano Dashboard + + 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 MURANO_API_INSECURE = True on horizon config. + You can find it in /etc/openstack-dashboard/local_settings.py.. + +
+
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 @@ --> + 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"> Building Linux Image
Install Required Packages - Please check that hardware virtualization is supported and enabled in BIOS. + Please check that hardware virtualization is supported and enabled in BIOS. The following packages should be installed on any host which will be used to build Linux Image: - - - ipxe-qemu - - - - - kvm-ipxe - - - - - qemu-kvm - - - - - python-libvirt - - - - - libvirt-bin - - - - - libvirt0 - - - - - virt-goodies - - - - - virt-manager - - - - - virt-top - - - - - virt-what - - - - - virtinst - - - - - python - - + + + ipxe-qemu + + + + + kvm-ipxe + + + + + qemu-kvm + + + + + munin-libvirt-plugins + + + + + python-libvirt + + + + + libvirt-bin + + + + + libvirt0 + + + + + munin-libvirt-plugins + + + + + python-libvirt + + + + + virt-goodies + + + + + virt-manager + + + + + virt-top + + + + + virt-what + + + + + virtinst + + + + + python + + - On Ubuntu you could install them using the command below: + On Ubuntu you could install them using the command below: - + ># 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 - + 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 +
- Build Linux Image - - Create a VM - - - This section describes the steps required to build an image of Linux Virtual Machine + Build Linux Image + + Create a VM + + 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. - - - - Run all commands as root. - - + + - Way 1: Using CLI Tools - - - This section describes the required step to launch a VM using CLI tools only. + Run all commands as root. + + + Way 1: Using CLI Tools + + + This section describes the required step to launch a VM using CLI tools only. + - - - Preallocate disk image - - + + + Preallocate disk image + + ># qemu-img create -f qcow2 /var/lib/libvirt/images/cloud-linux.img 10G - - - - - Start the VM - - + + + + + Start the VM + + ># 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 - - + --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 + + - - Way 2: Using virt-manager UI + + Way 2: Using virt-manager UI + + + A VM also could be lauched via GUI tools like virt-manager. + + + + + Launch virt-manager from shell + as root + + + + Set a name for VM and select Local install media + + + + + Add one cdrom and attach your linux ISO image to it + + + + + Select OS type Linux and it's + version choose yours - - A VM also could be lauched via GUI tools like virt-manager. + + + + Set CPU and RAM amount + + + + + Deselect option Enable storage for this + virtual machine - - - - - Launch virt-manager from shell as root - - - - - Set a name for VM and select Local install media - - - - - Add one cdrom and attach your linux ISO image to it - - - - - Select OS type Linux and it's - version choose yours - - - - - Set CPU and RAM amount - - - - - Deselect option Enable storage for this - virtual machine - - - - - Select option Customize configuration before - install - - - - - Add (or create new) HDD image with Disk bus VirtIO - and storage format QCOW2 - - - - - Set network device model VirtIO - - - - - Start installation process and open guest vm screen through - Console button - - - + + + + Select option Customize configuration before + install + + + + Add (or create new) HDD image with Disk bus VirtIO and storage format QCOW2 + + + + Set network device model VirtIO + + + + Start installation process and open guest vm screen through + Console button + + + +
- Guest VM Linux OS preparation - - Ubuntu 12.04 LTS x86_64 - - -># apt-get -y update; apt-get -y dist-upgrade -># apt-get install -y git unzip make cmake gcc \ - python-dev python-pip openssh-server - - - CentOS 6.4 x86_64 - - -># 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 - - - murano-agent installation steps - - + Guest VM Linux OS preparation + + Ubuntu 12.04 LTS x86_64 + + +># 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 + + + CentOS 6.4 x86_64 + + +># 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 + + + murano-agent installation steps + + ># 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 - - - cloud-init installation steps - - - - Ubuntu - - + + + cloud-init installation steps + + + + Ubuntu + + ># apt-get install -y cloud-init cloud-initramfs-growroot - - - - - CentOS - - + + + + + CentOS + + ># yum install -y cloud-init - - - - Ubuntu only - - + + + + Ubuntu only + + ># dpkg-reconfigure cloud-init - - - Mark EC2 data source support, save and exit or add manualy Ec2 to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg - - - - - - Minimal cloud-init configuration options - - -># vi /etc/cloud/cloud.cfg - - -user: ec2-user -disable_root: 1 -preserve_hostname: False - - - - - - Security setup - - - Create user and make it able to run commands through sudo without password prompt. - - - - Ubuntu - - + + + Mark EC2 data source support, save and exit or add manualy Ec2 to the datasource_list variable in the /etc/cloud/cloud.cfg.d/90_dfkg.cfg + + + + + + Minimal cloud-init configuration options + + +># vi /etc/cloud/cloud.cfg: + user: ec2-user + disable_root: 1 + preserve_hostname: False + + + + + + Security setup + + + Create user and make it able to run commands through sudo without password prompt. + + + + Ubuntu + + ># useradd -m -G sudo -s /bin/bash ec2-user ># passwd ec2-user - - - - - CentOS - - + + + + + CentOS + + ># useradd -m -G wheel -s /bin/bash ec2-user ># passwd ec2-user - - - - - Sudo - - + + + + + Sudo + + ># echo "ec2-user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ec2-user ># chmod 440 /etc/sudoers.d/ec2-user - - - - - Disable SSH password-based logins in the /etc/ssh/sshd_config. - - + + + + + Disable SSH password-based logins in the /etc/ssh/sshd_config. + + ... GSSAPIAuthentication no PasswordAuthentication no PermitRootLogin no ... - - - - - - Network handling - - - - Ubuntu - - -># rm -f /etc/udev/rules.d/70-persistent-net.rules - - - - - CentOS - Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth* - - -># rm -f /etc/udev/rules.d/70-persistent-net.rules - - - - - - Shutdown VM - - - Convert the image from RAW to QCOW2 format if you made it as RAW + + + + + + Network handling + + - The image must be converted from RAW format to QCOW2 before being imported into Glance. + Ubuntu - + +># rm -rf /etc/udev/rules.d/70-persistent-net.rules + + + + + CentOS + Remove or comment out HWADDR and UUID in /etc/sysconfig/network-scripts/ifcfg-eth* + + +># rm -rf /etc/udev/rules.d/70-persistent-net.rules + + + + + + Shutdown VM + + + Convert the image from RAW to QCOW2 format if you made it as RAW - -># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \ - /var/lib/libvirt/images/cloud-linux.img.qcow2 - + The image must be converted from RAW format to QCOW2 before being imorted into Glance. + + + +># qemu-img convert -O qcow2 /var/lib/libvirt/images/cloud-linux.img \ +/var/lib/libvirt/images/cloud-linux.img.qcow2 + +
- Upload Image Into Glance - - Services deployed by Murano require specially prepared images. - After images are created they should be registered in Openstack Glance - image operation service. - - -># glance image-create --disk-format=qcow2 --container-format=bare \ - --is-public=true --file=cloud-linux.img --name=cloud-linux - - + Upload Image Into Glance + + Services deployed by Murano require specially prepared images. + After images are created they should be registered in Openstack Glance - image operation service. + + +># glance image-create --disk-format=qcow2 --container-format=bare --is-public=true --file=cloud-linux.img --name=cloud-linux + + + 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: + + - 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: - - - - Image - cloud-linux - - - - - Title - My Cloud-ready Linux - - - - - Type - Generic Linux - - - + Image - cloud-linux - - - After these steps desired image can be chosen in Murano dashboard and used for services platform. + + + + Title - My Cloud-ready Linux + + + + + Type - Generic Linux + + + + + + After these steps desired image can be chosen in Murano dashboard and used for services platform. +
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 @@ + 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"> Install Murano This chapter describes Murano services installation in virtual environment. @@ -79,6 +78,9 @@ Before installing any packages make sure that your system is updated and upgraded. + + To deploy web farm services Neutron LBaaS (Neutron extension package) should be installed in Openstack +
Installing with virtual environment @@ -91,7 +93,7 @@ virtualenv package if you don't have one: sudo pip install virtualenv - + Murano Api @@ -101,7 +103,7 @@ sudo pip install virtualenv Check out git repository with murano component: git clone https://github.com/stackforge/murano-api - + @@ -111,21 +113,22 @@ git clone https://github.com/stackforge/murano-api directory to create virtual environment automatically: cd murano-api && python ./tools/install_venv.py - + - Config files are etc/murano-api.conf - where you just need to point out IP address where your RabbitMQ is - running, and etc/murano-api-paste.ini, which - doesn't require any changes. + Copy murano-api sample config file located at + etc/murano/murano-api.conf.sample to etc/murano/murano-api.conf. + In config file set up keystone endpoint in Openstack installation. Other settings are described in 'Murano Admin Guide'. + Config etc/murano/murano-api-paste.conf + doesn't require any modification. And finally run Murano API: -./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano-api.conf - +./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano/murano-api.conf + @@ -138,41 +141,33 @@ cd murano-api && python ./tools/install_venv.py Check out git repository with murano component: git clone https://github.com/stackforge/murano-conductor - + - Execute a script located at the + Execute the following script located at the murano-conductor/tools directory to create virtual environment automatically: cd murano-conductor && python ./tools/install_venv.py - + - Murano Conductor config file located at - etc/conductor.conf - For a local development comment data_dir parameter in this file: - -# Directory where conductor's data directory located. -# "data" must be subdirectory to this. -# data_dir = /etc/murano-conductor - - After that local - data - 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 + etc/murano/conductor.conf.sample to etc/murano/conductor.conf. + In config file set up keystone endpoint in Openstack installation. + All other possible configuration described in the Murano Admin Guide. Run Murano Conductor: -./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/conductor.conf - +./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/murano/conductor.conf + @@ -185,7 +180,7 @@ cd murano-conductor && python ./tools/install_venv.py Check out git repository with murano component: git clone https://github.com/stackforge/murano-repository - + @@ -195,20 +190,20 @@ git clone https://github.com/stackforge/murano-repository directory to create virtual environment automatically: cd murano-repository && python ./tools/install_venv.py - + Copy a config file - etc/murano-repository.conf.sample to - etc/murano-repository.conf and point out Keystone parameters. + etc/murano/murano-repository.conf.sample to + etc/murano/murano-repository.conf and point out Keystone parameters. And finally run Murano Repository: -./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano-repository.conf - +./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano/murano-repository.conf + @@ -220,7 +215,7 @@ cd murano-repository && python ./tools/install_venv.py Check out git repository with murano component: git clone https://github.com/stackforge/murano-dashboard - + @@ -230,7 +225,7 @@ git clone https://github.com/stackforge/murano-dashboard directory to create virtual environment automatically: cd murano-dashboard && python ./tools/install_venv.py - + @@ -242,15 +237,15 @@ cd murano-dashboard && python ./tools/install_venv.py # ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz - + Ubuntu # apt-get install nodejs - + CentOS # yum install nodejs - + @@ -261,12 +256,33 @@ cd murano-dashboard && python ./tools/install_venv.py To configure Murano Dashboard copy example config file: # cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py - - 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. + + and set in just copied file the following parameters: + + + + MURANO_API_URL Required if murano-api service is not registered in keystone. + Provide valid URL where Murano API is running + + + + + MURANO_METADATA_URL + Required if murano-repository service is not registered in keystone. + Provide valid URL where Murano Repository service is running + + + + NETWORK_TOPOLOGY - network configuration. + Duplicates murano-conductor setting (routed - default, flat, nova). + + + 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: + +./tools/with_venv.sh ./manage.py syncdb + @@ -276,7 +292,7 @@ cd murano-dashboard && python ./tools/install_venv.py utility with the context of the virtual environment: ./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080 - + 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 @@ + + + February. 5, 2013 + + + + + Update for Release-0.4.1 + + + + 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 @@ 0.3 2013-11-25 + + Release-0.4 + 0.3 + 2013-12-20 + + + Release-0.4.1 + 0.3 + 2014-02-05 + 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 + + + Neutron LBaaS (Neutron extension package) + + Windows Server 2012 Standard image imported into Glance. See Build Windows Image chapter. @@ -126,7 +131,7 @@ some_key2 = some_value2 Samba share with prerequisites. See Install Samba - OpenStack metadata service. + OpenStack metadata service 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 @@ + + February. 6, 2014 + Release-0.4.1 + + + + Update with Release-0.4.1 information + + + +
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=''
+
+ Custom devstack script + + It's just like regular devstack installation, but included all Murano services! + Follow the steps below: + + System preparation + + + + Create user stack + +># adduser stack + + + + Add user stack to sudoers rules + +># echo 'stack ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/stack +># chmod 440 /etc/sudoers.d/stack + + + + +Installation + + + Create folders where devstack will install all the files + +># mkdir -p /opt/stack +># chown stack:stack /opt/stack + + + + Change current user to "stack" and change directory to home + +># su stack +>stack$ cd ~ + + + + Clone devstack repository and checkout havana branch + +>stack$ cd +>stack$ git clone https://github.com/openstack-dev/devstack.git +>stack$ cd devstack +>stack$ git checkout stable/havana + + + + Clone murano-deployment repository + >stack$ cd +>stack$ git clone https://github.com/stackforge/murano-deployment.git + + + Copy required files from murano-deployment to devstack, then configure local.conf. + You should set at least one configuration parameter there - HOST_IP address. + +>stack$ cd +>stack$ cp -r murano-deployment/devstack-integration/* devstack/ + + + + + Replace (or merge settings with) local.conf with another config file, if you need a different type of installation. + Available config files and installation types are: + + + + single-node.local.conf - single-node all-in-one installation. OpenStack + Murano will be installed on your node together. + + + + + devbox.local.conf - install Murano only. OpenStack must be installed on another node, and your node will be configured to use it. + + + + + + + Edit devstack's configuration file + +>stack$ vim devstack/local.conf + + + + From devstack directory, launch stack.sh + +>stack$ ./stack.sh + + + + + 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. + +