murano/doc/source/index.rst

3.8 KiB

Welcome to 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 familiar with Murano API from an end-user perspective.

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-api.git
  2. Install Murano API:

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

Configure

  1. Open first configuration file for editing:

    user@work:~/$ cd murano/api/etc && nano murano-api.conf
  2. Configure according to you environment (please note rabbitmq section):

    [DEFAULT]
    # Show more verbose log output (sets INFO log level output)
    verbose = True
    # Show debugging output in logs (sets DEBUG log level output)
    debug = True
    # Address to bind the server to
    bind_host = 0.0.0.0
    # Port the bind the server to
    bind_port = 8082
    # Log to this file. Make sure the user running skeleton-api has
    # permissions to write to this file!
    log_file = /tmp/murano-api.log
    #A valid SQLAlchemy connection string for the metadata database
    sql_connection = sqlite:///murano.sqlite
    
    [reports]
    results_exchange = task-results
    results_queue = task-results
    reports_exchange = task-reports
    reports_queue = task-reports
    
    [rabbitmq]
    host = localhost
    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 = /
    
    ssl = False
    ca_certs =
  3. Open second configuration file for editing:

    smelikyan@work:~/cd murano/api/etc && nano murano-api.conf
  4. Configure according to you environment (please note filter:authtoken section):

    [pipeline:murano-api]
    pipeline = authtoken context apiv1app
    [app:apiv1app]
    paste.app_factory = muranoapi.api.v1.router:API.factory
    [filter:context]
    paste.filter_factory = muranoapi.api.middleware.context:ContextMiddleware.factory
    
    [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

Run

Run Murano API and supply valid configuration file:

user@work:~/$ murano-api --config-file=./murano/api/etc/murano-api.conf

Man Pages

man/muranoapi