From 4322552c55c05774183eb90f4f93e1ce4204d62c Mon Sep 17 00:00:00 2001 From: Timur Nurlygayanov Date: Thu, 13 Jun 2013 12:30:26 -0400 Subject: [PATCH] Merged release-0.1 documentation to master and update Heat configuration guide. Change-Id: Id792c206ac941ecde5e6a0b73763ed35b7d5be7f --- .../src/docbkx/murano-manual.xml | 1468 +++++++++++++++-- 1 file changed, 1349 insertions(+), 119 deletions(-) diff --git a/src/murano-manual/src/docbkx/murano-manual.xml b/src/murano-manual/src/docbkx/murano-manual.xml index db37b51..c648617 100644 --- a/src/murano-manual/src/docbkx/murano-manual.xml +++ b/src/murano-manual/src/docbkx/murano-manual.xml @@ -466,6 +466,20 @@ http://docbook.org/ns/docbook " + + Jun 06, 2013 + + + + ASP.NET Application, Web Server Farm and + ASP.NET Application Farm Services Added, + uri/address/endpoint corrections, hostname + assignment section added + + + + +
@@ -619,6 +633,27 @@ http://docbook.org/ns/docbook "
+
+ Hostname assignment + Each Service Object definition may have an attribute + "unitNamingPattern" that is used to control hostnames + that will be assigned to spawned VM instances of the + service. + + + Hostname pattern has the form of "name#" where "#" + character is replaced with sequential number of unit + within the service (starting with 1) and all other + characters remain intact. For example Service with + unitNamingPatter equal to "ad#-loc" will have units + with hostnames "ad1-loc", "ad2-loc" etc. + + + "unitNamingPattern" attribute is optional. + If it is omitted then a unique random hostname + would be assigned. + +
API
@@ -644,7 +679,7 @@ http://docbook.org/ns/docbook " id - guid + string Unique ID @@ -667,8 +702,8 @@ http://docbook.org/ns/docbook " tenant_id - guid - Open Stack tenant id + string + OpenStack tenant ID version @@ -1123,12 +1158,12 @@ http://docbook.org/ns/docbook " id - guid + string Session unique ID environment_id - guid + string Environment that going to be modified during this session @@ -1148,8 +1183,8 @@ http://docbook.org/ns/docbook " user_id - guid - Session owner guid + string + Session owner ID version @@ -1485,7 +1520,7 @@ http://docbook.org/ns/docbook " id - guid + string Unique ID @@ -1510,7 +1545,12 @@ http://docbook.org/ns/docbook " domain string - Domain name (same as name) + Domain name + + + uri + string + URI of the Service units @@ -1536,13 +1576,19 @@ http://docbook.org/ns/docbook " id - guid + string Unique ID isMaster boolean - Is unit is master domain? + true for primary domain controller, + false otherwise + + + address + string + Unit address location @@ -1604,9 +1650,9 @@ http://docbook.org/ns/docbook " X-Configuration-Session - UUID + string no - UUID of valid configuration session + ID of valid configuration session @@ -1628,13 +1674,17 @@ http://docbook.org/ns/docbook " "name": "acme.dc", "created": "2010-11-30T03:23:42Z", "updated": "2010-11-30T03:23:44Z", + "uri": "10.0.0.2", "units": [{ "id": "d08887df15b94178b244904b506fe85b", "isMaster": true, + "address": "10.0.0.2", "location": "west-dc" - }, { + }, + { "id": "dcf0de317e7046bea555539f19b8ea84", "isMaster": false, + "address": "10.0.0.3", "location": "west-dc" }] }] @@ -1680,7 +1730,7 @@ http://docbook.org/ns/docbook " domain string yes - Domain name (same as name) + Domain name units @@ -1711,7 +1761,8 @@ http://docbook.org/ns/docbook " isMaster boolean yes - Is unit is master domain? + true for primary domain controller, + false otherwise recoveryPassword @@ -1777,9 +1828,9 @@ http://docbook.org/ns/docbook " X-Configuration-Session - UUID + string yes - UUID of valid configuration session + ID of valid configuration session @@ -1858,7 +1909,7 @@ http://docbook.org/ns/docbook " id - guid + string Unique ID @@ -1879,10 +1930,18 @@ http://docbook.org/ns/docbook " format + + uri + string + URI of the Service + domain string - Domain name (same as name) + Domain name. + This attribute may be empty/null/omitted + if machine is not a domain member + units @@ -1908,13 +1967,13 @@ http://docbook.org/ns/docbook " id - guid + string Unique ID - endpoint - object - Unit Endpoint + address + string + Unit address location @@ -1925,30 +1984,6 @@ http://docbook.org/ns/docbook " - - Web Server Unit Endpoint Object - - - - - - - Attribute - Type - Description - - - - - host - string - Host address for IIS Management Console - connection - - - - -
Call @@ -1999,9 +2034,9 @@ http://docbook.org/ns/docbook " X-Configuration-Session - UUID + string no - UUID of valid configuration session + ID of valid configuration session @@ -2025,11 +2060,10 @@ http://docbook.org/ns/docbook " "created": "2010-11-30T03:23:42Z", "updated": "2010-11-30T03:23:44Z", "domain": "ACME", + "uri": "http://10.0.0.2", "units": [{ "id": "1bf3491c409b4541b6f18ea5988a6437", - "endpoint": { - "host": "10.0.0.2" - }, + "address": "10.0.0.2", "location": "west-dc" }] }, @@ -2038,12 +2072,11 @@ http://docbook.org/ns/docbook " "name": "backend", "created": "2010-11-30T03:23:42Z", "updated": "2010-11-30T03:23:44Z", - "domain": "ACME" , + "domain": "ACME", + "uri": "http://10.0.0.3", "units": [{ "id": "eb32f97866d24001baa430cb34e4049f", - "endpoint": { - "host": "10.0.0.3" - }, + "address": "10.0.0.3", "location": "west-dc" }] } @@ -2080,8 +2113,8 @@ http://docbook.org/ns/docbook " domain string - yes - Domain name (same as name) + no + Domain name units @@ -2124,7 +2157,7 @@ http://docbook.org/ns/docbook " POST /environments/<id>/webServers Call - + @@ -2162,9 +2195,9 @@ http://docbook.org/ns/docbook " X-Configuration-Session - UUID + string yes - UUID of valid configuration session + ID of valid configuration session @@ -2178,7 +2211,9 @@ http://docbook.org/ns/docbook " "name": "frontend", "adminPassword": "password", "domain": "acme.dc", - "location": "west-dc" + "units": [{ + "location": "west-dc" + }] } ]]> @@ -2198,6 +2233,1115 @@ http://docbook.org/ns/docbook " "id": "1bf3491c409b4541b6f18ea5988a6437", "location": "west-dc" }] +} + ]]> + + + + + +
+ ASP.NET Application API + This section describes API calls for managing ASP.NET + Applications +
+ Get a List of existing ASP.NET Applications +
+ ASP.NET Application Object + + + + + + + Attribute + Type + Description + + + + + id + string + Unique ID + + + name + string + User-friendly name + + + created + datetime + Creation date and time in ISO format + + + + updated + datetime + Modification date and time in ISO + format + + + + repository + string + URL of git repository containing the + application source files + + + uri + string + URI of the Service + + + domain + string + Domain name. + This attribute may be empty/null/omitted + if machine is not a domain member + + + + units + object + ASP.NET Application Unit + object + + + +
+ + ASP.NET Application Unit Object + + + + + + + Attribute + Type + Description + + + + + id + string + Unique ID + + + address + string + Unit address + + + location + string + AvailabilityZone or specific + physical datacenter. + + + + +
+
+ Call + + GET /environments/<id>/aspNetApps + Call + + + + + + + + Method + URI + Description + + + + + GET + /environments/<id>/aspNetApps + Get a list of existing ASP.NET + Applications + + + + +
+ + Headers + + + + + + + + Name + Type + Required + Description + + + + + X-Configuration-Session + string + no + ID of valid configuration session + + + +
+
+
+ Payload + None +
+
+ Returns + This call returns list of ASP.NET Applications: + + + + +
+
+
+ Create ASP.NET Application instance + + ASP.NET Application Object + + + + + + + + Attribute + Type + Required + Description + + + + + name + string + yes + User-friendly name + + + repository + string + yes + URL of git repository containing the + application source files + + + domain + string + no + Domain name + + + units + object + yes + ASP.NET Application Unit object + + + +
+ + ASP.NET Application Unit Object + + + + + + + + Attribute + Type + Required + Description + + + + + location + string + yes + AvailabilityZone or specific physical datacenter. + + + + +
+
+ Call + + POST /environments/<id>/aspNetApps + Call + + + + + + + + Method + URI + Description + + + + + POST + /environments/<id>/aspNetApps + Create new ASP.NET Application + + + +
+ + Headers + + + + + + + + Name + Type + Required + Description + + + + + X-Configuration-Session + string + yes + ID of valid configuration session + + + +
+
+
+ Payload + + + +
+
+ Returns + This call returns created ASP.NET Application: + + + + +
+
+
+
+ Web Server Farm API + This section describes API calls for managing Web Server + (IIS) Web Farm services +
+ Get a List of existing Web Server Farms + + Web Server Farm Object + + + + + + + Attribute + Type + Description + + + + + id + string + Unique ID + + + name + string + User-friendly name + + + created + datetime + Creation date and time in ISO format + + + + updated + datetime + Modification date and time in ISO + format + + + + uri + string + URI of the Service + + + loadBalancerPort + integer + Port number of the Farm + + + domain + string + Domain name. + This attribute may be empty/null/omitted + if machine is not a domain member + + + + units + object + Web Server Farm Unit + object + + + +
+ + Web Server Farm Unit Object + + + + + + + Attribute + Type + Description + + + + + id + string + Unique ID + + + location + string + AvailabilityZone or specific + physical datacenter. + + + + +
+
+ Call + + GET /environments/<id>/webServerFarms + Call + + + + + + + + Method + URI + Description + + + + + GET + /environments/<id>/webServerFarms + Get a list of existing + Web Server Farms + + + + +
+ + Headers + + + + + + + + Name + Type + Required + Description + + + + + X-Configuration-Session + string + no + ID of valid configuration session + + + +
+
+
+ Payload + None +
+
+ Returns + This call returns list of Web Server Farms: + + + + +
+
+
+ Create Web Server Farm instance + + Web Server Farm Object + + + + + + + + Attribute + Type + Required + Description + + + + + name + string + yes + User-friendly name + + + loadBalancerPort + integer + yes + Port number for the Farm + + + domain + string + no + Domain name + + + units + object + yes + Web Server Farm Unit object + + + +
+ + Web Server Farm Unit Object + + + + + + + + Attribute + Type + Required + Description + + + + + location + string + yes + AvailabilityZone or specific physical datacenter. + + + + +
+
+ Call + + POST /environments/<id>/webServerFarms + Call + + + + + + + + Method + URI + Description + + + + + POST + /environments/<id>/webServerFarms + Create new Web Server Farm + + + +
+ + Headers + + + + + + + + Name + Type + Required + Description + + + + + X-Configuration-Session + string + yes + ID of valid configuration session + + + +
+
+
+ Payload + + + +
+
+ Returns + This call returns created Web Server Farm: + + + + +
+
+
+ +
+ ASP.NET Application Farm API + This section describes API calls for managing ASP.NET + Web Farm Application Services +
+ Get a List of existing ASP.NET Application Farms + + ASP.NET Application Farm Object + + + + + + + Attribute + Type + Description + + + + + id + string + Unique ID + + + name + string + User-friendly name + + + created + datetime + Creation date and time in ISO format + + + + updated + datetime + Modification date and time in ISO + format + + + + uri + string + URI of the Service + + + repository + string + URL of git repository containing the + application source files + + + loadBalancerPort + integer + Port number of the Farm + + + domain + string + Domain name. + This attribute may be empty/null/omitted + if machine is not a domain member + + + + units + object + ASP.NET Application Farm Unit + object + + + +
+ + ASP.NET Application Farm Unit Object + + + + + + + Attribute + Type + Description + + + + + id + string + Unique ID + + + address + string + Unit address + + + location + string + AvailabilityZone or specific + physical datacenter. + + + + +
+
+ Call + + GET /environments/<id>/aspNetAppFarms + Call + + + + + + + + Method + URI + Description + + + + + GET + /environments/<id>/aspNetAppFarms + Get a list of existing + ASP.NET Application Farms + + + + +
+ + Headers + + + + + + + + Name + Type + Required + Description + + + + + X-Configuration-Session + string + no + ID of valid configuration session + + + +
+
+
+ Payload + None +
+
+ Returns + This call returns list of ASP.NET Application Farms: + + + + +
+
+
+ Create ASP.NET Application Farm instance + + ASP.NET Application Farm Object + + + + + + + + Attribute + Type + Required + Description + + + + + name + string + yes + User-friendly name + + + repository + string + yes + URL of git repository containing the + application source files + + + loadBalancerPort + integer + yes + Port number for the Farm + + + domain + string + no + Domain name + + + units + object + yes + ASP.NET Application Farm Unit object + + + +
+ + ASP.NET Application Farm Unit Object + + + + + + + + Attribute + Type + Required + Description + + + + + location + string + yes + AvailabilityZone or specific physical datacenter. + + + + +
+
+ Call + + POST /environments/<id>/aspNetAppFarms + Call + + + + + + + + Method + URI + Description + + + + + POST + /environments/<id>/aspNetAppFarms + Create new ASP.NET Application Farm + + + +
+ + Headers + + + + + + + + Name + Type + Required + Description + + + + + X-Configuration-Session + string + yes + ID of valid configuration session + + + +
+
+
+ Payload + + + +
+
+ Returns + This call returns created ASP.NET Application Farm: + + @@ -2206,20 +3350,41 @@ http://docbook.org/ns/docbook "
+ Installation Guide + This chapter is about installation and configuration Murano services. + Note that all Murano modules can be downloaded from + our page on launchpad. + +
+ Common Pre-Requirements + Operation system: + + Ubuntu + RHEL/CentOS + + Packages: + + python-dev + libxml2-dev + libxslt-dev + + +
Murano API Service - Murano API is a project that provides access to engine via API. - This document describes Murano API for contributors of the project, and assumes that you are already + Murano API provides access to the Murano orchestration engine via API. + This chapter describes Murano API for contributors of the project, and assumes that you are already familiar with Murano API from an end-user perspective.
Install - Check out sources to some directory (<home>/murano): + Project source can be checked out as git repository (see below) or downloaded from + here - Install Murano API: + Switch to just created directory + + + + + + And them perform installation: @@ -2240,18 +3413,18 @@ user@work:~/$ cd murano-api && sudo python setup.py install Configure - Configure your environment (Need to perform the following commands to create RabbitMQ user and vhost for correct work of Murano services): + First configure rabbitMQ by adding vhost and user with administrator rights: - Open first configuration file for editing: + Edit configuration file: - Configure according to your environment (please note rabbitmq section): + Configure it according to your environment: + [DEFAULT] section sets up logging. + In [reports] section you can set names for new rabbitMQ queues. + [rabbitmq] section sets up host configuration where rabbitMQ with just created user and vhost is running. + - Open second configuration file for editing: + Edit one more configuration file: - Configure according to your environment (please note filter:authtoken section): + Configure keystone auth_token in [filter:authtoken] section. + For more information see Auth-Token Middleware with Username and Password - + @@ -2356,7 +3534,7 @@ user@work:~/$ murano-api --config-file=./murano/api/etc/murano-api.conf
Conductor Service - Conductor is an Murano orchestration engine that transforms object model sent by REST API service into + 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 document describes Conductor for contributors of the project. @@ -2364,18 +3542,35 @@ user@work:~/$ murano-api --config-file=./murano/api/etc/murano-api.conf Install - Check out sources to some directory (<home>/murano): + Murano Condutor 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 successfull deployment. + The detailed information about Heat configuration is described here. + + + Project source code can be checked out from git repository (see below) or downloaded from + here. + + + + - Install Conductor: + Switch to just created directory + + + + And install Conductor Service to the system: + + @@ -2385,7 +3580,7 @@ user@work:~/cd murano-conductor && sudo python setup.py install Configure - Open configuration file for editing: + Edit configuration file: - Configure according to your environment (please note rabbitmq section): + + Change it according to your environment. + [DEFAULT] section is responsible for logging. + [heat] points where heat is running. + [rabbitmq] section points where your rabbitMQ installed and configured. + Run Conductor and supply valid configuration file:
Murano Dashboard - Murano Dashboard is a project that provides Web UI to Murano Project. + Murano Dashboard provides Web UI for Murano Project.
- Dependencies - - - - Horizon - - - NodeJs - - - python-muranoclient - - - First two dependencies is already satisfied if you install Murano Dashboard on machine with - OpenStack - Horizon installed. Otherwise, please run: + Pre-Requirements + + + To setup Murano Dashboard on a host with Openstack Dashbord already installed you just need to install + the python-muranoclient. You can download it from here. + And then perform installation with pip: +user@work:~/$ sudo pip install ]]> just_downloaded.tar.gz - - Also, this two packages (horizon and python-muranoclient) can be installed to venv. + + + If there is no OpenStack Dashboard (horizon) you'll need to install it. See here how to do that. + +
Install - Check out sources to some directory (<home>/murano-dashboard): + Project source code can be checked out from git repository (see below) or downloaded from + here. + - Install: + Switch to just created directory + + + + And perform installation + + - Make sure that horizon and python-muranoclient is already installed.
@@ -2484,18 +3682,50 @@ user@work:~/$ cd murano-dashboard && sudo python setup.py install Open Django configuration file: && nano settings.py +user@work:~/$ cd && nano settings.py ]]> Please, make sure that no local/local_settings.py file exists. - Configure: + Add to import section + + + + And this so muranoclient exceptions can be safely handle by horizon: + + + + + + And finally edit HORIZON_CONFIG and INSTALLED_APPS sections + +