..
      Copyright 2010 OpenStack Foundation
      All Rights Reserved.

      Licensed under the Apache License, Version 2.0 (the "License"); you may
      not use this file except in compliance with the License. You may obtain
      a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
      License for the specific language governing permissions and limitations
      under the License.

=======================================================
Welcome to Conductor, the Murano orchestration engine!
=======================================================

Conductor is an 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.

This documentation is generated by the Sphinx toolkit and lives in the source
tree.

Installation Guide
==================
Install
-------

1. Check out sources to some directory (<home>/murano)::

    user@work:~/git clone https://github.com/Mirantis/murano-conductor.git

2. Install Conductor::

    user@work:~/cd murano/conductor && sudo python setup.py install

Configure
---------

1. Open configuration file for editing::

    user@work:~/cd murano/muranoconductor/etc && nano conductor.conf

2. Configure according to you environment::

    [DEFAULT]

    # Path where log will be written
    log_file = /tmp/conductor.log

    # Log verbosity
    debug=True
    verbose=True

    # Directory where conductor's data directory located.
    # "data" must be subdirectory to this.
    data_dir = /etc/murano-conductor

    [keystone]
    # URL of OpenStack KeyStone service REST API.
    # Typically only hostname (or IP) needs to be changed
    auth_url = http://localhost:5000/v2.0

    # Keystone SSL parameters
    # Optional CA cert file to use in SSL connections
    ca_file =
    # Optional PEM-formatted certificate chain file
    cert_file =
    # Optional PEM-formatted file that contains the private key
    key_file =
    # If set then the server's certificate will not be verified
    insecure = False

    [heat]
    # Heat SSL parameters
    # Optional CA cert file to use in SSL connections
    ca_file =
    # Optional PEM-formatted certificate chain file
    cert_file =
    # Optional PEM-formatted file that contains the private key
    key_file =
    # If set then the server's certificate will not be verified
    insecure = False
    # Valid endpoint types: publicURL (default), internalURL, adminURL
    endpoint_type = publicURL

    [rabbitmq]
    # Connection parameters to RabbitMQ service

    # Hostname or IP address where RabbitMQ is located.
    # !!! Change localhost to your real IP or hostname as this
    # address must be reachable from VMs  !!!
    host = localhost

    # RabbitMQ port (5672 is a default)
    port = 5672

    # RabbitMQ credentials. Fresh RabbitMQ installation has "guest"
    # account with "guest" password.
    # It is recommended to create dedicated user account for Murano using
    # RabbitMQ web console or command line utility
    login = guest
    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 Conductor and supply valid configuration file::

    user@work:~/cd murano/conductor && conductor --config-file=./murano/conductor/etc/conductor.conf

