From 306ec988c7c388f80249d3776451da14ad203860 Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Mon, 29 Jul 2013 20:48:56 +0400 Subject: [PATCH] Restore broken murano manual Change-Id: I099710988880d33e4516f54cdf1d3e3cf048f97c --- .../src/docbkx/content/installation-guide.xml | 288 +- .../src/docbkx/murano-manual.xml | 3969 +---------------- 2 files changed, 262 insertions(+), 3995 deletions(-) diff --git a/src/murano-manual/src/docbkx/content/installation-guide.xml b/src/murano-manual/src/docbkx/content/installation-guide.xml index bc5f94f..58a7d73 100644 --- a/src/murano-manual/src/docbkx/content/installation-guide.xml +++ b/src/murano-manual/src/docbkx/content/installation-guide.xml @@ -32,14 +32,24 @@ Common Pre-Requirements Operation system: - Ubuntu - RHEL/CentOS + + Ubuntu + + + RHEL/CentOS + Packages: - python-dev - libxml2-dev - libxslt-dev + + python-dev + + + libxml2-dev + + + libxslt-dev + @@ -53,30 +63,64 @@ Install - Project source can be checked out as git repository (see below) or downloaded from - here + Need to work as root + + + + + + Navigate to the temporary directory and clone Murano API Service from repository + + Ubuntu Linux 12.04 / 12.10 +mkdir -p /tmp/murano +cd /tmp/murano +apt-get install -y git +git clone https://github.com/stackforge/murano-api + ]]> - - - Switch to just created directory + + CentOS 6.x + +mkdir -p /tmp/murano +cd /tmp/murano +yum install -y git +git clone https://github.com/stackforge/murano-api + ]]> + - And them perform installation: + Switch to just created directory and them perform installation + + Ubuntu Linux 12.04 / 12.10 + +cd murano-api +chmod +x setup.sh +./setup.sh install + ]]> + + CentOS 6.x + + + + + @@ -87,77 +131,84 @@ First configure rabbitMQ by adding vhost and user with administrator rights: +rabbitmqctl add_user murano murano +rabbitmqctl set_user_tags murano administrator +rabbitmqctl add_vhost murano +rabbitmqctl set_permissions -p murano murano ".*" ".*" ".*" + ]]> - Copy and edit configuration file: + Copy and edit configuration files: +cd /etc/murano-api +cp murano-api.conf.sample murano-api.conf +cp murano-api-paste.ini.sample murano-api-paste.ini +vi murano-api.conf + ]]> Configure it according to your environment: - [DEFAULT]section sets up logging. - - - [reports] section you can set names for new rabbitMQ queues. + [DEFAULT]section sets up logging. - In [rabbitmq] section sets up host configuration where rabbitMQ - with just created user and vhost is running. + + [reports] + section you can set names for new rabbitMQ queues. + + + + In + [rabbitmq] + section sets up host configuration where rabbitMQ + with just created user and vhost is running. + +[rabbitmq] +host = localhost +port = 5672 +virtual_host = murano +login = murano +password = murano + ]]> - Copy and edit one more configuration file: + Edit one more configuration file: +vi murano-api.conf + ]]> @@ -165,29 +216,29 @@ [filter:authtoken] section. For more information see - Auth-Token - Middleware with Username and Password + + Auth-Token Middleware with Username and Password +[filter:authtoken] +paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory +auth_host = localhost +auth_port = 35357 +auth_protocol = http +admin_tenant_name = admin +admin_user = admin +admin_password = password +signing_dir = /tmp/keystone-signing-muranoapi + ]]> @@ -196,17 +247,16 @@ - +user@work:~/$ 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 + ]]> @@ -216,8 +266,8 @@ Run Murano API and supply valid configuration file: +service murano-api start + ]]> @@ -236,7 +286,8 @@ successfull deployment. The detailed information about Heat configuration is described - here. + here. + @@ -245,7 +296,7 @@ you can change this parameter in file + ]]> @@ -255,7 +306,7 @@ + ]]> @@ -266,7 +317,7 @@ + ]]> @@ -274,7 +325,7 @@ + ]]> @@ -287,7 +338,7 @@ + ]]> @@ -295,14 +346,18 @@ Change it according to your environment. - [DEFAULT]section is responsible for logging. + [DEFAULT]section is responsible for logging. + - [heat]points where heat is running. + [heat]points where heat is running. + - [rabbitmq]section points where your rabbitMQ installed and configured. + [rabbitmq]section points where your rabbitMQ installed and + configured. + @@ -322,7 +377,7 @@ virtual_host = murano login = murano password = murano - ]]> + ]]> @@ -333,7 +388,7 @@ + ]]> @@ -350,10 +405,12 @@ here. And then perform installation with pip: - - just_downloaded.tar.gz - + + + just_downloaded.tar.gz + @@ -376,14 +433,15 @@ + ]]> Switch to just created directory + user@work:~/$ cd murano-dashboard + ]]> @@ -391,7 +449,7 @@ + ]]> @@ -404,7 +462,7 @@ && nano settings.py - ]]> + ]]> Please, make sure that no local/local_settings.py file exists. @@ -413,7 +471,7 @@ + ]]> @@ -432,7 +490,7 @@ UNAUTHORIZED_EXC = (muranoclient.HTTPUnauthorized, ) EXTENDED_UNAUTHORIZED_EXCEPTIONS = tuple( exceptions.UNAUTHORIZED + UNAUTHORIZED_EXC) - ]]> + ]]> @@ -454,7 +512,7 @@ 'muranodashboard', ... ) - ]]> + ]]> @@ -465,7 +523,7 @@ + ]]> diff --git a/src/murano-manual/src/docbkx/murano-manual.xml b/src/murano-manual/src/docbkx/murano-manual.xml index d7f2751..8cec1d3 100644 --- a/src/murano-manual/src/docbkx/murano-manual.xml +++ b/src/murano-manual/src/docbkx/murano-manual.xml @@ -1,3880 +1,89 @@ - - - Murano Project Documentation - - - - - - - - Mirantis, Inc. - - - - 2013 - Mirantis, Inc. - - v0.1 - Murano™ - 2013-04-04 - - - Copyright details are filled in by the template. Change - the value of the role - attribute on the legalnotice element to change the license. - - - - - This document is intended for individuals who wish to - configure - and use our product or intend to contribute. - - - - this is a placeholder for the front cover - - - this is a placeholder for the back cover - - - - Overview - Welcome to Murano Project. - -
- Intended Audience - This guide is intended to individuals who want to contribute - to our - project. - -
-
- Document Change History - This version of the Murano Manual replaces and obsoletes all - previous versions. The - most recent changes are described in the table below: - - - - - Revision Date - Summary of Changes - - - - - April. 4, 2013 - - - - Initial document creation. - - - - - - -
-
- Additional Resources - - - - - Mirantis - Cloud Software - - - - -
-
- - Blueprint -
- - Project Background - Enterprise customers frequently use Windows-based environments for their internal and external - products. Configuration of the Windows environment is a complex task which usually requires a lot of - effort from administrators. Windows setup consists of numerous services which might be tightly coupled - to each other. While the automated installation of Windows services can be fairly straightforward, - service configuration can be hard to automate because it requires a well-designed Windows architecture - and deep knowledge of Windows services configuration. - - Currently several open source solutions exists that can help to partially solve automation of Windows - environment provisioning. In the world of OpenStack there is the Heat project, which is similar to - Amazon Cloud Formation. Heat is an excellent tool for managing OpenStack cloud resources such as VM - instances, security groups, and so on. It allows you to define all cloud resources in a single JSON - template, then later maintain all of those resources by editing that template. Although the declarative - template approach is well suited to OpenStack resources, it quickly becomes complex when it comes to - application management. - - Another option is a tool such as Chef or Puppet. These tools are flexible, but require you to have a - deep knowledge of scripting and require a significant amount of effort to manually script or modify - cookbooks for your specific environment configuration. This is manageable in a stable environment, but - it becomes time-consuming and involves manual script coding when one needs to deploy various - environments with rapidly changing configurations. Also Chef and Puppet require additional - infrastructure to support them. - - The biggest problem for both approaches above is in supporting multi-step configuration of services - with circular dependencies required for correct configuration of Windows services. This can be solved by - using external orchestration. - - Another potential problem is the lack of UI functionality enabling creation and configuration of an - environment without writing a script. - -
- Proposal - Mirantis proposes to introduce a new service which will allow a non-experienced user to deploy - reliable Windows based environments in a “push-the-button” manner. The key goal is to provide a UI - and API enabling the deployment and operation of Windows Environments at the Windows Services - abstraction level. The service should be able to orchestrate complex circular dependent cases in - order to set up a complex Windows Environment with multiple dependant services. - - The service will address following use cases: - - - Self-provisioning of predefined Windows services with their dependencies - - - Automation of administrative tasks during data center roll-out - - - Custom windows application as a windows service - - - - - The solution will provide higher level of abstraction for manipulation Windows Environments. Key - concepts are: - - - Windows Service - a service such as Active Directory, MSSQL, or IIS, which usually - consists of multiple virtual machines and has multiple dependencies. - - - - Windows Environment - a logical unit for all Services and represents a classical - Windows Datacenter - - - - Windows VM instance - a VM which hosts a Windows Service. A Windows Service might be - deployed - - - - - - The Key Features of the Service are the following: - - - Native to OpenStack - - - Introduces abstraction level for Windows Environments - - - Supports Availability Zones and Disaster Recovery scenarios - - - Uses native Windows features for HA solutions - - - -
-
-
- Architecture - - The Murano Service communicates with the following OpenStack components: - - - Horizon - provides a GUI with ability to use all Murano features; - - - Keystone - authenticates users and provides the security token that is used to work with - OpenStack, hence limiting the user abilities in Murano based on OpenStack privileges; - - - - Heat - is used to provision VMs and other OpenStack resources for Windows Environments; - - - - Glance - stores Windows Server VM images, with each image containing an installed OS and a - set of scripts; - - - - Quantum - provides the network configuration API; - - - Agent - provides agent functionality to communicate with the Orchestration Engine and - executes tasks on VMs; - - - - -
- Architecture - - - - - - - - -
-
- REST API - Murano exposes a service endpoint for communication with a client. It exposes API functions to - manipulate objects such as environment and service. - - This component is responsible for translating API function parameters to Object Model attributes - and propagating the deployment status from the Orchestration Engine. - -
-
- Object Model - An internal representation of Windows Services and Environments. All attributes and entities are - described in the API specification. - -
-
- Orchestration Engine - This is the core component which evaluates Object Model changes and creates a plan for - implementing these changes on the instances or in the cloud. This component will support extensions - via plugins. Plugins can add new services and extend existing services for integration. -
-
-
- Integration with Heat - Heat is a cloud resource management engine that allows you to manipulate resources that represent - OpenStack entities (Security Groups, Instances, Floating IPs, Volumes, etc.) and some entities such as - AutoScaling groups from a single point of control. - - OpenStack resource provisioning is one of the steps required for environment deployment and Heat will - be used for that purpose. Heat allows you to define all OpenStack resources in a single document that - will be easy to maintain and will not require resorting to multiple OpenStack APIs while keeping the - software configuration separate. - -
-
- Windows on OpenStack - Windows works on KVM pretty smoothly, and with the RedHat-created open-source VirtIO drivers for - Windows, it’s possible to work efficiently with KVM exposed devices. - - In OpenStack’s Grizzly release, Microsoft’s hypervisor Hyper-V will be supported. The Hyper-V virtual - switch will be also supported as a Quantum plug-in. From the performance viewpoint, Hyper-V Server 2012 - compares very favorably with bare metal, processing just over 6% fewer transactions per second compared - to the same workload running on a similarly configured physical server. - - Also, unlike the current OpenStack, Hyper-V also natively supports Windows Clusters. - -
-
- - Roadmap - - - - <emphasis>Phase 1. Initial Version</emphasis> - - (Release date: May 30th) - - Core Services: REST API, Orchestration Engine - - - Horizon dashboard extension as plugin - - - Integration with Heat - - - Support single Data Center (no Disaster Recovery) - - - Support the following Windows Services: - - - Active Directory - Single Domain with multiple domain controllers - - - IIS Server - single instance of IIS Server - - - IIS Cluster - multiple IIS instances with Load Balancing - - - ASP.NET Application Service - ASP.NET application installed on top of IIS - - - - - - - - - - <emphasis>Phase 2. Stable Release</emphasis> - - (3 month) - - Stabilize Core Services (bug fixing) - - - Support API, UI extensibility - - - UI design - - - Workflow and recipes repository - - - Data transfer between service instances - - - Basic Service monitoring - - - Additional Services: - - - MS SQL - single instance of Microsoft SQL Server or Pair of SQL Servers with DB - mirroring - - - - - - - - - - - <emphasis>Phase 3</emphasis> - - - Add more services - - - Services Dependencies support - - - Extended health monitoring - - - Agent extensibility (allow 3rd party configuration tools) - - - Basic Self-healing (actions on monitoring events) - - - Additional Services - - - - - - - - <emphasis>Phase 4</emphasis> - - - Availability Zones support - - - Auto-scaling for Windows services - - - Security improvements - - - - - - API Specification - - - - Revision Date - Summary of Changes - - - - - February 4, 2013 - - - - Initial document creation - - - - - - February 22, 2013 - - - - Enhance API with latest architecture - changes - - - - - - - March 06, 2013 - - - - Fix specification according to remarks - from Dmitry Teselkin - - - - - - - Jun 06, 2013 - - - - ASP.NET Application, Web Server Farm and - ASP.NET Application Farm Services Added, - uri/address/endpoint corrections, hostname - assignment section added - - - - - - - -
- Introduction - Murano Service API is a programmatic interface used for - interaction - with Murano. Other interaction - mechanisms like Murano Dashboard or Murano CLI should use API - as underlying - protocol for interaction. - - - - For detailed information about entities and terms used in - this document, please refer first to - . - - - Environment - - Environment is a set of logically related - Services managed by a single tenant. Environment - defines Windows environment boundaries. - - Services within single Environment may comprise - some complex configuration while Services - in different Environments are always independent - from one another. Each Environment is - associated with single OpenStack project (tenant). - - - - - Service - - Service is building block of Windows environment. - Service is a set of one or more Virtual - Machines sharing a common purpose and configured - together. Each service belongs to a single - Environment and single Service Type. - - Services are comprised from one or more Service - Units. - - - - - Service Type - - Service type is definition for describing set of - features exposed by service. - - - - - Service Unit - - Service Units are the actual Windows Server VMs - instantiated by OpenStack and then - configured according to its Service Type (this may - also correspond to one of predefined - Windows Server roles). - - - - - Service Metadata - - Service Metadata is a JSON-encoded definition of - Environment, its Services and their - Service Units along with all their attributes. - Service Metadata may describe both current - and the intended state of the Environment. - - - - - Session - - All changes to environment done in scope of - Session. After all changes to Environment - state are accumulated, changes actually are applied - only after session is deployed. - - - - -
-
- Return codes and errors - All REST API calls return the natural HTTP response codes for - the operations, e.g. a successful GET - returns a HTTP 200, a successful PUT returns a HTTP 201, a GET - for a non-existent entity returns HTTP - 404, unauthorized operations return HTTP 401 or HTTP 403, - internal errors return HTTP 500. - -
-
- Response of POSTs and PUTs - All POST and PUT requests by convention should return the - created object (in the case of POST, with a - generated ID) as if it was requested by GET. - -
-
- Authentication - All requests include a Keystone authentication token header - (X-Auth-Token). Clients must authenticate - with Keystone before interacting with the Murano service. - -
-
- Workflow -
- Sample Workflow - - - - - - - - -
- Let’s review a sample workflow (series of API calls) for - creating new Environment with Active - Directory Service deployment: - - - POST /environments/ - Creating new Environment - - - - POST /environments/id/configure – Creating new - configuration session for Environment - - - - POST /environments/id/activeDirectory – Creating - new ActiveDirectory service - - - - POST /environments/id/sessions/session_id/deploy - – Saving and deploying changes - - - - -
-
- 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 -
- Environment API - This section describes API calls for Environment - management. - -
- Get a List of existing Environments - - Environment 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 - - - - tenant_id - string - OpenStack tenant ID - - - version - int - Current version - - - status - string - Deployment status: ready, pending, deploying - - - - -
-
- Call - - GET /environments Call - - - - - - - Method - URI - Description - - - - - GET - /environments - Get a list of existing - Environments - - - - -
-
-
- Payload - None -
-
- Returns - This call returns list of environments. Only the - basic properties are returned. For details see "Get - Environment Detailed Information": - - - - -
-
-
- Create Environment instance - - Environment Object - - - - - - - - Attribute - Type - Required - Description - - - - - name - string - yes - User-friendly name - - - -
-
- Call - - POST /environments Call - - - - - - - Method - URI - Description - - - - - POST - /environments - Create new Environment - - - -
-
-
- Payload - - - -
-
- Returns - This call returns created environment: - - - - -
-
-
- Update Environment Instance - - Environment Object - - - - - - - - Attribute - Type - Required - Description - - - - - name - string - yes - User-friendly name - - - -
-
- Call - - PUT /environments/<id> Call - - - - - - - Method - URI - Description - - - - - PUT - /environments/<id> - Update properties of Environment - instance - - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 401 - User is not authorized to access this tenant resources - - - -
-
-
- Payload - - - -
-
- Returns - This call returns modified environment object: - - - - -
-
-
- Get Environment Instance Detailed Information - -
- Call - - GET /environments/<id> Call - - - - - - - Method - URI - Description - - - - - GET - /environments/<id> - Returns detailed information - about Environment including child - entities - - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 401 - User is not authorized to access this tenant resources - - - -
-
-
- Payload - None -
-
- Returns - This call returns environment object with underlying services: - - - - -
-
-
- Remove Environment -
- Call - - DELETE /environments/<id> Call - - - - - - - Method - URI - Description - - - - - DELETE - /environments/<id> - Remove specified Environment. - - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 401 - User is not authorized to access this tenant resources - - - -
-
-
- Payload - None -
-
- Returns - None -
-
-
-
- Environment Configuration API - Multiple sessions could be opened for one environment simultaneously, but only one session going - to be deployed. First session that starts deploying is going to be deployed; other ones become - invalid and could not be deployed at all. User could not open new session for environment that in - `deploying` state (that’s why we call it “almost lock free” model). - - - Configuration Session Object - - - - - - - Attribute - Type - Description - - - - - id - string - Session unique ID - - - environment_id - string - Environment that going to be modified - during this session - - - - created - datetime - Creation date and time in ISO format - - - - updated - datetime - Modification date and time in ISO - format - - - - user_id - string - Session owner ID - - - version - int - Environment version for which configuration session is opened - - - state - string - Session state. Could be: open, - deploying, deployed - - - - -
-
- Configure Environment / Open session - During this call new working session is created, and session ID should be sent in header - (X-Configuration-Session) to all next API calls. - -
- Call - - POST /environments/<id>/configure - Call - - - - - - - - Method - URI - Description - - - - - POST - /environments/<id>/configure - Creating new configuration session - - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 403 - Could not open session for environment, environment has deploying - status - - - - -
-
-
- Payload - None -
-
- Returns - This call returns created session: - - - - -
-
-
- Deploy changes from Session -
- Call - - POST /environments/<id>/sessions/<sessionId>/deploy - Call - - - - - - - - Method - URI - Description - - - - - POST - /environments/<id>/sessions/<sessionId>/deploy - Deploying changes made in - session with specified <sessionId> - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 403 - Session is invalid - - - 403 - Session is already deployed or deployment is in progress - - - -
-
-
- Payload - None -
-
- Returns - None -
-
-
- Get session information -
- Call - - GET /environments/<id>/sessions/<sessionId> - Call - - - - - - - - Method - URI - Description - - - - - GET - /environments/<id>/sessions/<sessionId> - Getting details about session - with specified - <sessionId> - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 401 - User is not authorized to access this session - - - 403 - Session is invalid - - - -
-
-
- Payload - None -
-
- Returns - This call returns session information: - - - - -
-
-
- Delete Session -
- Call - - DELETE /environments/<id>/sessions/<sessionId> - Call - - - - - - - - Method - URI - Description - - - - - DELETE - /environments/<id>/sessions/<sessionId> - Delete session with specified - <sessionId> - - - -
- - Error Response Codes - - - - - - Code - Description - - - - - 401 - User is not authorized to access this session - - - 403 - Session is in deploying state and could not be deleted - - - -
-
-
- Payload - None -
-
- Returns - None -
-
-
-
- Active Directory API - This section describes API calls for Active Directory - service management. - -
- Get a List of existing Active Directory instances - - - Active Directory Object - - - - - - - Attribute - Type - Description - - - - - id - string - Unique ID - - - name - string - Domain name - - - created - datetime - Creation date and time in ISO - format - - - - updated - datetime - Modification date and time in ISO - format - - - - domain - string - Domain name - - - uri - string - URI of the Service - - - units - object - Active Directory Unit object - - - -
- - Active Directory Unit Object - - - - - - - Attribute - Type - Description - - - - - id - string - Unique ID - - - isMaster - boolean - true for primary domain controller, - false otherwise - - - address - string - Unit address - - - location - string - AvailabilityZone or specific - physical datacenter. - - - - -
-
- Call - - GET /environments/<id>/activeDirectories - Call - - - - - - - - Method - URI - Description - - - - - GET - /environments/<id>/activeDirectories - Get a list of Active Directory - instances - - - - -
- - Headers - - - - - - - - Name - Type - Required - Description - - - - - X-Configuration-Session - string - no - ID of valid configuration session - - - -
-
-
- Payload - None -
-
- Returns - This call returns list of Active Directory - instances: - - - - -
-
-
- Create Active Directory instance - - Active Directory Object - - - - - - - - Attribute - Type - Required - Description - - - - - name - string - yes - Domain name - - - adminPassword - string - yes - Password from domain administrator - account - - - - domain - string - yes - Domain name - - - units - object - yes - Active Directory Unit object - - - -
- - Active Directory Unit Object - - - - - - - - Attribute - Type - Required - Description - - - - - isMaster - boolean - yes - true for primary domain controller, - false otherwise - - - recoveryPassword - string - yes - Recovery password - - - location - string - yes - AvailabilityZone or specific physical datacenter. - - - -
-
- Call - - POST /environments/<id>/activeDirectories - Call - - - - - - - - Method - URI - Description - - - - - POST - /environments/<id>/activeDirectories - Create new Active Directory - - - - -
- - Headers - - - - - - - - Name - Type - Required - Description - - - - - X-Configuration-Session - string - yes - ID of valid configuration session - - - -
-
-
- Payload - - - -
-
- Returns - This call returns created active directory - domain: - - - - -
-
-
-
- Web Server API - This section describes API calls for managing Windows web-server software – IIS. -
- Get a List of existing Web Servers - - Web Server 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 - - - domain - string - Domain name. - This attribute may be empty/null/omitted - if machine is not a domain member - - - - units - object - Web Server Unit object - - - -
- - Web Server Unit Object - - - - - - - Attribute - Type - Description - - - - - id - string - Unique ID - - - address - string - Unit address - - - location - string - AvailabilityZone or specific physical datacenter. - - - - -
-
- Call - - GET /environments/<id>/webServers - Call - - - - - - - - Method - URI - Description - - - - - GET - /environments/<id>/webServers - Get a list of existing Web - Servers - - - - -
- - Headers - - - - - - - - Name - Type - Required - Description - - - - - X-Configuration-Session - string - no - ID of valid configuration session - - - -
-
-
- Payload - None -
-
- Returns - This call returns list of web servers: - - - - -
-
-
- Create Web Server instance - - Web Server Object - - - - - - - - Attribute - Type - Required - Description - - - - - name - string - yes - User-friendly name - - - domain - string - no - Domain name - - - units - object - yes - Web Server Unit object - - - -
- - Web Server Unit Object - - - - - - - - Attribute - Type - Required - Description - - - - - location - string - yes - AvailabilityZone or specific physical datacenter. - - - - -
-
- Call - - POST /environments/<id>/webServers - Call - - - - - - - - Method - URI - Description - - - - - POST - /environments/<id>/webServers - Create new Web Server - - - -
- - Headers - - - - - - - - Name - Type - Required - Description - - - - - X-Configuration-Session - string - yes - ID of valid configuration session - - - -
-
-
- Payload - - - -
-
- Returns - This call returns created web server: - - - - -
-
-
-
- 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: - - - - -
-
-
-
- -
- - 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 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 - - - Need to work as root - - - - - Navigate to the temporary directory and clone Murano API Service from repository - Ubuntu Linux 12.04 / 12.10 - - - - CentOS 6.x - - - - - - - Switch to just created directory and them perform installation - Ubuntu Linux 12.04 / 12.10 - - - - CentOS 6.x - - - - - - -
-
- Configure - - - First configure rabbitMQ by adding vhost and user with administrator rights: - - - - - - Copy and edit configuration files: - - - - - - 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. - - - - - - - Edit one more configuration file: - - - - - - Configure keystone auth_token in [filter:authtoken] section. - For more information see Auth-Token Middleware with Username and Password - - - - - - Register murano-api service in Openstack - (note: you need to be authorized in Openstack to run this commands) - - - - - - - -
-
- Run - Run Murano API and supply valid configuration file: - - - -
-
-
- 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 document describes Conductor for contributors of the project. -
- Install - - - 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. - - - OpenStack Heat require Key Pair for Load Balancer instances. Murano Conductor uses LoadBalancer for IIS Farms and ASP.NET Farms. The default name for Key Pair is 'murano-lb-key', you can change this parameter in file - - - - - Project source code can be checked out from git repository (see below) or downloaded from - here. - - - - - - - - - - Switch to just created directory - - - - - - And install Conductor Service to the system: - - - - - -
-
- Configure - - - Edit configuration file: - - - - - - - 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 - Run Conductor and supply valid configuration file: - - - -
-
-
- Murano Dashboard - Murano Dashboard provides Web UI for Murano Project. -
- 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: - - just_downloaded.tar.gz - - - - If there is no OpenStack Dashboard (horizon) you'll need to install it. See here how to do that. - - -
-
- Install - - - Project source code can be checked out from git repository (see below) or downloaded from - here. - - - - - - - Switch to just created directory - - - - - - And perform installation - - - - - -
-
- Configure - - - Open Django configuration file: - - && nano settings.py - ]]> - - Please, make sure that no local/local_settings.py file exists. - - - Add to import section - - - - - - And this so muranoclient exceptions can be safely handle by horizon: - - - - - - And finally edit HORIZON_CONFIG and INSTALLED_APPS sections - - - - - -
-
- Run - Run Horizon: - - - -
-
-
- - ScreenShots - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - How To Participate - If you would like to ask some questions or make proposals, feel free to reach us on #murano irc channel at - FreeNode. Typically somebody from our team will be online at irc from 6:00 to 20:00 UTC. You can also - contact - Murano community directly by - murano-all@lists.launchpad.net - (please, note that your email address should be registered in launchpad, otherwise your mail will be ignored - by - mailing system). - - - We’re going to hold public weekly meetings on Mondays at 17:00 UTC on #openstack-meeting-alt irc channel. - - If you want to contribute either to docs or to code, simply send us change request via - review.openstack.org - (gerrit). You can file bugs and register blueprints at Muranolaunchpad page. - - -
+ + + + Murano Project Documentation + + + + + + + + Mirantis, Inc. + + + + 2013 + Mirantis, Inc. + + v0.1 + Murano™ + 2013-04-04 + + + Copyright details are filled in by the template. Change + the value of the role + attribute on the legalnotice element to change the license. + + + + + This document is intended for individuals who wish to + configure + and use our product or intend to contribute. + + + + this is a placeholder for the front cover + + + this is a placeholder for the back cover + + + + + + + + + + How To Participate + If you would like to ask some questions or make proposals, feel free to reach us on #murano irc channel at + FreeNode. Typically somebody from our team will be online at irc from 6:00 to 20:00 UTC. You can also + contact + Murano community directly by + murano-all@lists.launchpad.net + (please, note that your email address should be registered in launchpad, otherwise your mail will be ignored + by mailing system). + + + We’re going to hold public weekly meetings on Mondays at 17:00 UTC on #openstack-meeting-alt irc channel. + + If you want to contribute either to docs or to code, simply send us change request via + review.openstack.org + (gerrit). You can file bugs and register blueprints at Muranolaunchpad page. + + +