[Docs] Restructuring

* Moves the remaining guides from the Draft folder
* Removes already rewritten articles (Murano TroubleShooting and Debug Tips)
* Restructures the main page
* Fixes build errors
* Adds minor editorial changes to some sections

Change-Id: I1aa961f34860b22241b69d41045da445d223be06
Partial-Bug: #1603950
This commit is contained in:
Maria Zlatkova 2016-10-19 18:17:35 +03:00
parent 5082989968
commit 3621ce1142
121 changed files with 671 additions and 1117 deletions

View File

@ -0,0 +1,22 @@
.. index:: Murano Administrator Guide
.. _admin-guide:
Deploying Murano
~~~~~~~~~~~~~~~~
.. toctree::
:maxdepth: 2
deploy_murano
prepare_lab
configuration
manage_packages
manage_images
manage_categories
murano_repository
murano_agent
policy_enf
configure_cloud_foundry_service_broker
using_glare.rst
admin_troubleshooting

View File

@ -1,8 +1,5 @@
.. _admin-troubleshooting: .. _admin-troubleshooting:
.. toctree::
:maxdepth: 2
=============== ===============
Troubleshooting Troubleshooting
=============== ===============
@ -10,36 +7,34 @@ Troubleshooting
Log location Log location
~~~~~~~~~~~~ ~~~~~~~~~~~~
By default, logs are sent to stdout. By default, logs are sent to stdout. Consider how to set up the log files.
Let's consider how log files can be set up.
Murano API + Engine Murano API + Engine
------------------- -------------------
To define a file where to store logs, use the ``log_file`` option in the To define a file where to store logs, use the ``log_file`` option in the
:file:`murano.conf` file. You can provide an absolute or relative path. :file:`murano.conf` file. You can provide an absolute or a relative path.
To enable detailed log file configuration, set up :file:`logging.conf`. To enable a detailed log file configuration, set up :file:`logging.conf`.
The example is provided in :file:`etc/murano` directory. The log configuration The example is provided in :file:`etc/murano` directory. The log configuration
file location is set with the ``log_config_append`` option in the murano file location is set with the ``log_config_append`` option in the murano
configuration file. configuration file.
Murano applications Murano applications
------------------- -------------------
Murano applications have a separate logging handler and a separate file Murano applications have a separate logging handler and a separate file where
where all logs from application definitions should be provided. all logs from application definitions should be provided. Open the
Open the :file:`logging.conf` file and check the :file:`logging.conf` file and check the ``args: ('applications.log',)``
``args: ('applications.log',)`` option in the ``handler_applications`` section. option in the ``handler_applications`` section.
Verify that ``log_config_append`` is not empty and set to the Verify that ``log_config_append`` is not empty and set to the
:file:`logging.conf` location. :file:`logging.conf` location.
Problems during configuration Issues during configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
If any problems occur, first of all verify that: If any issues occur, first of all verify the following:
* All murano components have consistent versions: murano-dashboard and * All murano components have consistent versions: murano-dashboard and
murano-engine should use the same or compatible python-muranoclient version. murano-engine should use the same or compatible python-muranoclient version.
@ -48,21 +43,22 @@ If any problems occur, first of all verify that:
* The database is synced with code by running: * The database is synced with code by running:
.. code-block:: console .. code-block:: console
murano-db-manage --config-file murano.conf upgrade murano-db-manage --config-file murano.conf upgrade
**Failed to execute `murano-db-manage`** **Failed to execute `murano-db-manage`**
* Make sure :option:`--config-file` option is provided. * Make sure the :option:`--config-file` option is provided.
* Check `connection` parameter in provided configuration file. It should be a * Check `connection` parameter in the provided configuration file. It should
`connection string <http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html>`_. be a `connection string <http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html>`_.
* Check that MySQL or PostgreSQL (depending of what you provided in * Check that MySQL or PostgreSQL (depending of what you provided in the
connection string) Python modules are installed on the system. connection string) Python modules are installed on the system.
**Applications panel is not seen in horizon** **Applications panel is not seen in horizon**
* Make sure that :file:`_50_murano.py` file is copied to * Make sure that the :file:`_50_murano.py` file is copied to the
``openstack-dashboard/local/enabled`` directory and there is no other file, ``openstack-dashboard/local/enabled`` directory and there is no other file
starting with ``_50``. starting with ``_50``.
* Check that murano data is not inserted twice in the settings file and as a * Check that murano data is not inserted twice in the settings file and as a
@ -71,50 +67,50 @@ If any problems occur, first of all verify that:
**Applications panel can be browsed, but 'Unable to communicate to murano-api server.' appears** **Applications panel can be browsed, but 'Unable to communicate to murano-api server.' appears**
If you have murano registered in keystone, verify the endpoint URL is valid If you have murano registered in keystone, verify the endpoint URL is valid
and service has *application-catalog* name. If you don't want to register and service has *application-catalog* name. If you do not want to register the
murano service in keystone, just add ``MURANO_API_URL`` option to the horizon murano service in keystone, just add ``MURANO_API_URL`` option to the horizon
local setting. local setting.
Problems during deployment Issues during deployment
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
Besides identifying errors from log files, there is another and more flexible Besides identifying errors from log files, there is another and more flexible
way to browse deployment errors - directly from UI. When the *Deploy Failed* way to browse deployment errors -- directly from UI. When the *Deploy Failed*
status appears, navigate to :menuselection:`Environment Components` and click status appears, navigate to :menuselection:`Environment Components` and click
the Latest Deployment Log tab. You can see steps of the deployment and the one the :guilabel:`Latest Deployment Log` tab. You can see steps of the deployment
that failed would have red color. and the one that failed would have red color.
**while scanning a simple key in "<string>", line 32, column 3: ...** **while scanning a simple key in "<string>", line 32, column 3: ...**
There is an error in YAML file format. There is an error in the YAML file format. Before uploading a package,
Before uploading a package, validate your file in an online YAML validator validate your file in an online YAML validator like
like `YAMLint <http://www.yamllint.com/>`_. `YAMLint <http://www.yamllint.com/>`_.
Later `validation tool <https://blueprints.launchpad.net/murano/+spec/murano-package-verification-tool>`_ Later `validation tool <https://blueprints.launchpad.net/murano/+spec/murano-package-verification-tool>`_
to check package closely while uploading will be added. to check package closely while uploading will be added.
**NoPackageForClassFound: Package for class io.murano.Environment is not found** **NoPackageForClassFound: Package for class io.murano.Environment is not found**
Verify that murano core package is uploaded. Verify that murano core package is uploaded. If not, the content of the
If not, the content of `meta/io.murano` folder should be zipped and ``meta/io.murano`` folder should be zipped and uploaded to Murano.
uploaded to Murano.
**[keystoneclient.exceptions.AuthorizationFailure]:** **[keystoneclient.exceptions.AuthorizationFailure]:**
**Authorization failed: You are not authorized to perform the requested action. (HTTP 403)** **Authorization failed: You are not authorized to perform the requested action. (HTTP 403)**
Token expires during the deployment. Usually the default standard token lifetime The token expires during the deployment. Usually the default standard token
is one hour. The error occurs frequently as, in most cases, a deployment takes lifetime is one hour. The error occurs frequently as, in most cases, a
longer than that or does not start right after token is generated. deployment takes longer than that or does not start right after a token is
generated.
Workarounds: Workarounds:
* Use trusts. Only possible in the v3 version. Read more in the * Use trusts. Only possible in the v3 version. Read more in the
`official documentation <https://wiki.openstack.org/wiki/Keystone/Trusts>`_ `official documentation <https://wiki.openstack.org/wiki/Keystone/Trusts>`_
or `here <http://docs.openstack.org/admin-guide-cloud/orchestration-auth-model.html>`_. or `here <http://docs.openstack.org/admin-guide-cloud/orchestration-auth-model.html>`_.
Do not forget to check corresponding heat and murano settings. Trusts are Do not forget to check the corresponding heat and murano settings. Trusts
enabled by default in murano and heat since Kilo release. are enabled by default in murano and heat since Kilo release.
In murano the corresponding configuration option is located in *engine* In murano, the corresponding configuration option is located in the
section: ``engine`` section:
.. code-block:: console .. code-block:: console
@ -126,58 +122,57 @@ Workarounds:
# value) # value)
use_trusts = true use_trusts = true
If your Keystone runs v2 version, check out the solutions below. If your Keystone runs v2 version, see the solutions below.
* Make logout/login to compose a new token and start the deployment again. * Make logout/login to compose a new token and start the deployment again.
Would not help for long deployment or if token lifetime is too small. Would not help for long deployment or if the token lifetime is too small.
* Increase the token lifetime in the keystone configuration file. * Increase the token lifetime in the keystone configuration file.
**The murano-agent did not respond within 3600 seconds** **The murano-agent did not respond within 3600 seconds**
* Need to check transport access to the virtual machine (verify that the * Check transport access to the virtual machine: verify that the router has a
router has a gateway). gateway.
* Check the RabbitMQ settings: verify that the agent has valid RabbitMQ * Check the RabbitMQ settings: verify that the agent has valid RabbitMQ
parameters. parameters.
Go to the spawned virtual machine and open :file:`*/etc/murano/agent.conf` on the Go to the spawned virtual machine and open :file:`*/etc/murano/agent.conf`
Linux-based machine or :file:`C:\\Murano\\Agent\\agent.conf` on Windows-based on the Linux-based machine or :file:`C:\\Murano\\Agent\\agent.conf` on the
machine. Also, you can examine agent logs, located by default at Windows-based machine. Additionally, you can examine agent logs that by
:file:`/var/log/murano-agent.log` The first part of the log file contains default are located at :file:`/var/log/murano-agent.log` The first part of
reconnection attempts to the RabbitMQ since the valid RabbitMQ address the log file contains reconnection attempts to the RabbitMQ since the valid
and queue have not been obtained yet. RabbitMQ address and queue have not been obtained yet.
* Verify that the ``driver`` option in ``[oslo_messaging_notifications]`` group * Verify that the ``driver`` option in ``[oslo_messaging_notifications]`` group
is set to ``messagingv2``. is set to ``messagingv2``.
**murano.engine.system.agent.AgentException** **murano.engine.system.agent.AgentException**
Agent started the execution plan, but something went wrong. Examine agent logs The agent started the execution plan but something went wrong. Examine agent
(see the previous paragraph for the logs placement information). Also, try to logs (see the previous paragraph for the logs placement information). Also,
manually execute the application scripts. try to manually execute the application scripts.
**[exceptions.EnvironmentError]: Unexpected stack state NOT_FOUND or UPDATE_FAILED** **[exceptions.EnvironmentError]: Unexpected stack state NOT_FOUND or UPDATE_FAILED**
A problem with heat stack creation, examine the heat log file. Try to An issue with heat stack creation, examine the heat log file. Try to manually
manually spawn the instance. If in the reason of stack creation fail is spawn the instance. If the reason of the stack creation fail is ``no valid
``no valid host was found``, probably there is not enough resources or host was found``, there might be not enough resources or something is wrong
something is wrong with nova-scheduler. with the nova-scheduler.
**Router could not be created, no external network found** **Router could not be created, no external network found**
Find the ``external_network`` parameter in the *networking* section of Find the ``external_network`` parameter in the ``networking`` section of the
murano configuration file and verify that the specified external network does exist murano configuration file and verify that the specified external network does
through Web UI or by executing the :command:`openstack network list --external` command. exist through Web UI or by executing the
:command:`openstack network list --external` command.
**Deployment log in the UI contains incomplete reports** **Deployment log in the UI contains incomplete reports**
Sometimes logs contain only two messages after the application deployment. Sometimes logs contain only two messages after the application deployment.
There are no messages, provided in applications themselves: There are no messages provided in applications themselves:
.. code-block:: console .. code-block:: console
2015-09-21 11:14:58 — Action deploy is scheduled 2015-09-21 11:14:58 — Action deploy is scheduled
2015-09-21 11:16:43 — Deployment finished successfully 2015-09-21 11:16:43 — Deployment finished successfully
To fix the problem, set the ``driver`` option in the :file:`murano.config` To fix the issue, set the ``driver`` option in the :file:`murano.config` file
file to ``messagingv2``. to ``messagingv2``.

View File

@ -1,8 +1,5 @@
.. _configuration: .. _configuration:
.. toctree::
:maxdepth: 2
============= =============
Configuration Configuration
============= =============

View File

@ -1,8 +1,5 @@
.. _configure_service_broker: .. _configure_service_broker:
.. toctree::
:maxdepth: 2
======================================= =======================================
Murano service broker for Cloud Foundry Murano service broker for Cloud Foundry
======================================= =======================================

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -1,8 +1,5 @@
.. _manage-categories: .. _manage-categories:
.. toctree::
:maxdepth: 2:
=================== ===================
Managing categories Managing categories
=================== ===================

View File

@ -1,8 +1,5 @@
.. _manage-images: .. _manage-images:
.. toctree::
:maxdepth: 2:
=============== ===============
Managing images Managing images
=============== ===============

View File

@ -1,8 +1,5 @@
.. _manage-packages: .. _manage-packages:
.. toctree::
:maxdepth: 1:
================= =================
Managing packages Managing packages
================= =================

View File

@ -1,8 +1,5 @@
.. _murano-agent: .. _murano-agent:
.. toctree::
:maxdepth: 2:
============ ============
Murano agent Murano agent
============ ============

View File

@ -1,8 +1,5 @@
.. _murano-repository: .. _murano-repository:
.. toctree::
:maxdepth: 2:
================= =================
Murano repository Murano repository
================= =================

View File

@ -39,9 +39,13 @@ the deployment fails as well.
.. _Congress: https://wiki.openstack.org/wiki/Congress .. _Congress: https://wiki.openstack.org/wiki/Congress
This section contains the following subsections:
.. include:: /draft/admin-guide/policy_enforcement/policy_enf_setup.rst .. toctree::
.. include:: /draft/admin-guide/policy_enforcement/policy_enf_rules.rst :maxdepth: 2
.. include:: /draft/admin-guide/policy_enforcement/policy_enf_dev.rst
.. include:: /draft/admin-guide/policy_enforcement/policy_enf_modify.rst policy_enforcement/policy_enf_setup
policy_enforcement/policy_enf_rules
policy_enforcement/policy_enf_dev
policy_enforcement/policy_enf_modify

View File

@ -65,7 +65,7 @@ the procedure below.
- Select an application from the murano applications. - Select an application from the murano applications.
- Create a ``m1.medium`` instance, which uses 4096 MB RAM. - Create a ``m1.medium`` instance, which uses 4096 MB RAM.
.. image:: /draft/admin-guide/policy_enforcement/new-inst.png .. image:: ../figures/new-inst.png
:alt: Create new instance :alt: Create new instance
:width: 100 % :width: 100 %
@ -74,7 +74,7 @@ the procedure below.
Deployment fails as the rule is violated: environment is in the ``Deploy Deployment fails as the rule is violated: environment is in the ``Deploy
FAILURE`` status. Check the deployment logs for details: FAILURE`` status. Check the deployment logs for details:
.. image:: /draft/admin-guide/policy_enforcement/deploy-log.png .. image:: ../figures/deploy-log.png
:alt: Deployment log :alt: Deployment log
:width: 100 % :width: 100 %

View File

@ -1,18 +1,3 @@
..
Copyright 2015-2016 Mirantis, Inc.
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.
======================== ========================
Prepare a lab for murano Prepare a lab for murano
======================== ========================
@ -21,7 +6,6 @@ It also contains a description of a test which you may use to check if
your hardware fits the requirements. To do this, run the test and your hardware fits the requirements. To do this, run the test and
compare the results with baseline data provided. compare the results with baseline data provided.
.. _system_prerequisites: .. _system_prerequisites:
System prerequisites System prerequisites

View File

@ -1,9 +1,8 @@
.. _glare_usage: .. _glare_usage:
=====================================
===================================
Using Glare as a storage for packages Using Glare as a storage for packages
=================================== =====================================
DevStack installation DevStack installation
--------------------- ---------------------

View File

@ -100,7 +100,8 @@ Create a one-component single-server application
#. Optional. Add other methods that handle certain stages of the application #. Optional. Add other methods that handle certain stages of the application
workflow, such as ``onBeforeInstall``, ``onCompleteInstallation``, workflow, such as ``onBeforeInstall``, ``onCompleteInstallation``,
``onConfigureServer``, ``onCompleteConfiguration``, and others. For details ``onConfigureServer``, ``onCompleteConfiguration``, and others. For details
about these methods, see the :ref:`Software Components` section. about these methods, see the
:ref:`Software components <software-components>` section.
Create a one-component multi-server application Create a one-component multi-server application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -430,6 +431,7 @@ Servers replication
Classes for grouping and replication of other kinds of resources are to be Classes for grouping and replication of other kinds of resources are to be
implemented later. implemented later.
.. _software-components:
Software Components Software Components
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~

View File

@ -1,8 +1,5 @@
.. _app_migrating: .. _app_migrating:
.. toctree::
:maxdepth: 2
======================================= =======================================
Migrating applications between releases Migrating applications between releases
======================================= =======================================
@ -11,7 +8,10 @@ This document describes how a developer of murano application can update
existing packages to make them synchronized with all implemented features existing packages to make them synchronized with all implemented features
and requirements. and requirements.
.. include:: app_migrating/app_migrate_to_juno.rst .. toctree::
.. include:: app_migrating/app_migrate_to_kilo.rst :maxdepth: 1
.. include:: app_migrating/app_migrate_to_liberty.rst
.. include:: app_migrating/app_migrate_to_newton.rst app_migrating/app_migrate_to_juno
app_migrating/app_migrate_to_kilo
app_migrating/app_migrate_to_liberty
app_migrating/app_migrate_to_newton

View File

@ -1,18 +1,3 @@
..
Copyright 2015 Mirantis, Inc.
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.
.. _app_migrate_to_juno: .. _app_migrate_to_juno:

View File

@ -1,18 +1,3 @@
..
Copyright 2015 Mirantis, Inc.
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.
.. _app_migrate_to_kilo: .. _app_migrate_to_kilo:
Migrate applications to Stable/Kilo Migrate applications to Stable/Kilo

View File

@ -1,18 +1,3 @@
..
Copyright 2015 Mirantis, Inc.
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.
.. _app_migrate_to_liberty: .. _app_migrate_to_liberty:
Migrate applications to Stable/Liberty Migrate applications to Stable/Liberty

View File

@ -1,18 +1,3 @@
..
Copyright 2016 Mirantis, Inc.
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.
.. _app_migrate_to_newton: .. _app_migrate_to_newton:
Migrate applications to Stable/Newton Migrate applications to Stable/Newton

View File

@ -1,8 +1,5 @@
.. _app-unit-tests: .. _app-unit-tests:
.. toctree::
:maxdepth: 2
====================== ======================
Application unit tests Application unit tests
====================== ======================

View File

@ -1,6 +1,5 @@
.. _cinder_volume_supporting: .. _cinder_volume_supporting:
Cinder volume support Cinder volume support
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~

View File

@ -0,0 +1,22 @@
.. _developer-guide:
Developer guide
~~~~~~~~~~~~~~~
.. toctree::
:maxdepth: 1
exec_plan
hot_packages
murano_pl
murano_packages
murano_bundles
app_migrating
app_unit_tests
cinder_volume_supporting
multi_region
examples
use_cases
app_development_framework
app_debugging
garbage_collection

View File

@ -1,8 +1,5 @@
.. _examples: .. _examples:
.. toctree::
:maxdepth: 2
======== ========
Examples Examples
======== ========

View File

@ -1,8 +1,5 @@
.. _exec_plan: .. _exec_plan:
.. toctree::
:maxdepth: 2
======================= =======================
Execution plan template Execution plan template
======================= =======================

View File

@ -1,4 +1,4 @@
.. garbage_collection:: .. garbage_collection:
===================================== =====================================
Garbage collection system in MuranoPL Garbage collection system in MuranoPL
@ -46,7 +46,7 @@ the following will happen:
Garbage collector methods Garbage collector methods
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Murano garbage collector class (``io.murano.system.GC`) has Murano garbage collector class (``io.murano.system.GC``) has
the following methods: the following methods:
``collect()`` ``collect()``

View File

@ -1,3 +1,9 @@
.. _hot-packages:
============
HOT packages
============
.. _compose_package: .. _compose_package:
Compose a package Compose a package
@ -78,10 +84,64 @@ Application package could be composed manually. Follow the 5 steps below.
`Browse` page looks like: `Browse` page looks like:
.. image:: /draft/appdev-guide/hotpackages/chef_server.png .. image:: ../figures/chef_server.png
The configuration form, where you can enter template parameters, will be generated automatically and looks as follows: The configuration form, where you can enter template parameters, will be generated automatically and looks as follows:
.. image:: /draft/appdev-guide/hotpackages/chef_server_form.png .. image:: ../figures/chef_server_form.png
After filling the form the application is ready to be deployed. After filling the form the application is ready to be deployed.
Hot packages with nested Heat templates
---------------------------------------
In Murano HOT packages it is possible to allow Heat nested templates to be
saved and deployed as part of a Murano Heat applications. Such templates
should be placed in package under /Resources/HotFiles. Adding additional
templates to a package is optional. When a Heat generated package is being
deployed, if there are any Heat nested templates located in the package under
/Resources/HotFiles, they are sent to Heat together with the main template
and params during stack creation.
These nested templates can be referenced by putting the template name into the
``type`` attribute of resource definition, in the main template. This
mechanism then compose one logical stack with these multiple templates. The
following examples illustrate how you can use a custom template to define new
types of resources. These examples use a custom template stored in a
``sub_template.yaml`` file
.. code-block:: yaml
heat_template_version: 2015-04-30
parameters:
key_name:
type: string
description: Name of a KeyPair
resources:
server:
type: OS::Nova::Server
properties:
key_name: {get_param: key_name}
flavor: m1.small
image: ubuntu-trusty
Use the template filename as type
---------------------------------
The following main template defines the ``sub_template.yaml`` file as value for
the type property of a resource
.. code-block:: yaml
heat_template_version: 2015-04-30
resources:
my_server:
type: sub_template.yaml
properties:
key_name: my_key
.. note::
This feature is supported Liberty onwards.

View File

@ -110,7 +110,7 @@ The environment will create ``Network`` objects for regions from the
``ExistingNeutronNetwork`` template. ``ExistingNeutronNetwork`` template.
Example: Example:
.. code-block:: shell .. code-block:: console
OS_REGION_NAME="RegionOne" openstack network create <NETWORK-NAME> OS_REGION_NAME="RegionOne" openstack network create <NETWORK-NAME>
OS_REGION_NAME="RegionTwo" openstack network create <NETWORK-NAME> OS_REGION_NAME="RegionTwo" openstack network create <NETWORK-NAME>

View File

@ -1,8 +1,5 @@
.. _murano-bundles: .. _murano-bundles:
.. toctree::
:maxdepth: 2
============== ==============
Murano bundles Murano bundles
============== ==============

View File

@ -0,0 +1,12 @@
.. _murano-packages:
===============
Murano packages
===============
.. toctree::
:maxdepth: 1
muranopackages/package_structure
muranopackages/dynamic_ui
muranopackages/repository

View File

@ -0,0 +1,22 @@
.. _murano-pl:
==================
MuranoPL Reference
==================
To develop applications, murano project refers to Murano Programming
Language (MuranoPL). It is represented by easily readable YAML and
YAQL languages. The sections below describe these languages.
.. toctree::
:maxdepth: 1
murano_pl/yaml
murano_pl/yaql
murano_pl/class_templ
murano_pl/core_lib
murano_pl/reflection
murano_pl/statics
murano_pl/metadata
murano_pl/versioning
murano_pl/actions

View File

@ -1,6 +1,3 @@
.. toctree::
:maxdepth: 2
.. _actions: .. _actions:
============== ==============

View File

@ -1,4 +1,3 @@
.. _class_templ: .. _class_templ:
Common class structure Common class structure
@ -694,10 +693,3 @@ There are two ways to specify references:
from strings having the same value by evaluating property contracts. from strings having the same value by evaluating property contracts.
The former case would have ``$.class(Name)`` while the later - the The former case would have ``$.class(Name)`` while the later - the
``$.string()`` contract. ``$.string()`` contract.

View File

@ -18,14 +18,15 @@ is, an object that represents the class rather than class instance.
For any given class `foo.Bar` its type object may be retrieved using For any given class `foo.Bar` its type object may be retrieved using
any of the following ways: any of the following ways:
* Using ``ns:Bar`` notation considering that `ns` is declared in `Namespaces`
section (and it is `foo` in this case), * Using ``ns:Bar`` notation considering that `ns` is declared in `Namespaces`
* Using ``:Bar`` syntax if `Bar` is in the current namespace (that is, what section (and it is `foo` in this case),
``=:Bar`` would mean if ``=`` was a valid namespace prefix), * Using ``:Bar`` syntax if `Bar` is in the current namespace (that is, what
* Using ``type()`` function with a fully qualified class name: ``type('foo.Bar')``, ``=:Bar`` would mean if ``=`` was a valid namespace prefix),
* By obtaining a type of class instance: ``type($object)`` (available for * Using ``type()`` function with a fully qualified class name: ``type('foo.Bar')``,
packages with format version starting from `1.3`), * By obtaining a type of class instance: ``type($object)`` (available for
* Through reflection: ``typeinfo($object).type``. packages with format version starting from `1.3`),
* Through reflection: ``typeinfo($object).type``.
No matter what method was used to get type object, the returned object will No matter what method was used to get type object, the returned object will
be the same because there can be only one type object per class. be the same because there can be only one type object per class.
@ -157,10 +158,11 @@ Using extension lookup order
When somewhere in the code the ``$foo.bar()`` expression is encountered, MuranoPL When somewhere in the code the ``$foo.bar()`` expression is encountered, MuranoPL
uses the following order to locate bar() ``implementation``: uses the following order to locate bar() ``implementation``:
- If there is an instance or static method in ``$foo``'s class, it will be used.
- Otherwise if the current class (where this expression was encountered) has * If there is an instance or static method in ``$foo``'s class, it will be used.
an extension method called ``bar`` and ``$foo`` satisfies the contract of * Otherwise if the current class (where this expression was encountered) has
its first argument, then this method will be called. an extension method called ``bar`` and ``$foo`` satisfies the contract of
its first argument, then this method will be called.
Normally, if no method was found an exception will be raised. However, Normally, if no method was found an exception will be raised. However,
additional extension methods can be imported into the current context. This is additional extension methods can be imported into the current context. This is

View File

@ -397,7 +397,7 @@ field attributes. The most common attributes are the following:
have *expr* key, under that key either some have *expr* key, under that key either some
`YAQL <https://git.openstack.org/cgit/openstack/yaql/tree/README.rst>`_ `YAQL <https://git.openstack.org/cgit/openstack/yaql/tree/README.rst>`_
expression is stored, either one-element dictionary with *regexpValidator* expression is stored, either one-element dictionary with *regexpValidator*
key (and some regexp string as value). key (and some regexp string as value).
Another possible key of a validator dictionary is *message*, and although Another possible key of a validator dictionary is *message*, and although
it is not required, it is highly desirable to specify it - otherwise, when it is not required, it is highly desirable to specify it - otherwise, when
validator fails (i.e. regexp doesn't match or YAQL expression evaluates to validator fails (i.e. regexp doesn't match or YAQL expression evaluates to

View File

@ -38,4 +38,4 @@ The application package root folder should contain the following:
Here is the visual representation of the Murano application Here is the visual representation of the Murano application
package structure: package structure:
.. image:: /draft/appdev-guide/muranopackages/structure.png .. image:: ../../figures/structure.png

View File

@ -1,8 +1,5 @@
.. _use-cases: .. _use-cases:
.. toctree::
:maxdepth: 2
========= =========
Use-cases Use-cases
========= =========

View File

@ -1,8 +1,5 @@
.. _faq: .. _faq:
.. toctree::
:maxdepth: 2
=== ===
FAQ FAQ
=== ===

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

View File

@ -1,61 +0,0 @@
.. _hot-packages:
============
HOT packages
============
.. include:: hotpackages/compose.rst
Hot packages with nested Heat templates
---------------------------------------
In Murano HOT packages it is possible to allow Heat nested templates to be
saved and deployed as part of a Murano Heat applications. Such templates
should be placed in package under /Resources/HotFiles. Adding additional
templates to a package is optional. When a Heat generated package is being
deployed, if there are any Heat nested templates located in the package under
/Resources/HotFiles, they are sent to Heat together with the main template
and params during stack creation.
These nested templates can be referenced by putting the template name into the
``type`` attribute of resource definition, in the main template. This
mechanism then compose one logical stack with these multiple templates. The
following examples illustrate how you can use a custom template to define new
types of resources. These examples use a custom template stored in a
``sub_template.yaml`` file
.. code-block:: yaml
heat_template_version: 2015-04-30
parameters:
key_name:
type: string
description: Name of a KeyPair
resources:
server:
type: OS::Nova::Server
properties:
key_name: {get_param: key_name}
flavor: m1.small
image: ubuntu-trusty
Use the template filename as type
---------------------------------
The following main template defines the ``sub_template.yaml`` file as value for
the type property of a resource
.. code-block:: yaml
heat_template_version: 2015-04-30
resources:
my_server:
type: sub_template.yaml
properties:
key_name: my_key
.. note::
This feature is supported Liberty onwards.

View File

@ -1,12 +0,0 @@
.. _murano-packages:
.. toctree::
:maxdepth: 2
===============
Murano packages
===============
.. include:: muranopackages/package_structure.rst
.. include:: muranopackages/dynamic_ui.rst
.. include:: muranopackages/repository.rst

View File

@ -1,23 +0,0 @@
.. _murano-pl:
==================
MuranoPL Reference
==================
.. toctree::
:maxdepth: 2
To develop applications, murano project refers to Murano Programming
Language (MuranoPL). It is represented by easily readable YAML and
YAQL languages. The sections below describe these languages.
.. include:: murano_pl/yaml.rst
.. include:: murano_pl/yaql.rst
.. include:: murano_pl/class_templ.rst
.. include:: murano_pl/core_lib.rst
.. include:: murano_pl/reflection.rst
.. include:: murano_pl/statics.rst
.. include:: murano_pl/metadata.rst
.. include:: murano_pl/versioning.rst
.. include:: murano_pl/actions.rst

View File

@ -1,8 +1,8 @@
.. _step-by-step: .. _step-by-step:
============ ==================
Step-by-Step Step-by-step guide
============ ==================
The goal of this manual is to walk you through the steps The goal of this manual is to walk you through the steps
that should be taken while composing an application package that should be taken while composing an application package
@ -417,7 +417,7 @@ side of the form and its description on the right.
Please take a look at the :guilabel:`Configure Application: Apache HTTP Server` dialog: Please take a look at the :guilabel:`Configure Application: Apache HTTP Server` dialog:
.. image:: step_1.png .. image:: ../figures/step_1.png
.. note:: .. note::
The :guilabel:`assignFloatingIP` and :guilabel:`enablePHP` The :guilabel:`assignFloatingIP` and :guilabel:`enablePHP`
@ -425,8 +425,7 @@ Please take a look at the :guilabel:`Configure Application: Apache HTTP Server`
Here is how the second dialog looks like: Here is how the second dialog looks like:
.. image:: step_2.png .. image:: ../figures/step_2.png
For more information about Dynamic UI, please refer to For more information about Dynamic UI, please refer to
:ref:`the main reference <DynamicUISpec>`. :ref:`the main reference <DynamicUISpec>`.
@ -588,8 +587,7 @@ The recommended size is 70x70 px, and the square shape is preferable.
There are no limits regarding the image filename. In Apache HTTP Server we There are no limits regarding the image filename. In Apache HTTP Server we
use the default name ``logo.png``: use the default name ``logo.png``:
.. image:: logo.png .. image:: ../figures/logo.png
Step 7. Compose a zip archive Step 7. Compose a zip archive
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -0,0 +1,54 @@
Appendix
~~~~~~~~
.. toctree::
:maxdepth: 2
murano_concepts
tutorials
rest_api_spec
cli_ref
glossary
Miscellaneous
~~~~~~~~~~~~~
**Background Concepts for Murano**
.. toctree::
:maxdepth: 1
articles/workflow
**Tutorials**
.. toctree::
:maxdepth: 1
image_builders/index
articles/test_docs
**Guidelines**
.. toctree::
:maxdepth: 1
contributing
guidelines
**Gerrit review dashboard**
.. toctree::
:maxdepth: 1
murano_gerrit_dashboard
**API specification**
.. toctree::
:maxdepth: 1
specification/index

View File

@ -1,18 +1,3 @@
..
Copyright 2014 2014 Mirantis, Inc.
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.
.. _adUI: .. _adUI:
============================================= =============================================

View File

@ -1,18 +1,3 @@
..
Copyright 2016 Mirantis, Inc.
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.
.. _multi-region: .. _multi-region:
============================= =============================

View File

@ -1,19 +1,3 @@
..
Copyright 2014 2014 Mirantis, Inc.
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.
..
.. _TelnetUI: .. _TelnetUI:
=================================== ===================================

View File

@ -1,16 +1,3 @@
..
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.
..
.. _telnet-example: .. _telnet-example:
Telnet Example Telnet Example

View File

@ -1,18 +1,3 @@
..
Copyright 2014 Hewlett-Packard Development Company, L.P.
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.
.. _murano-workflow: .. _murano-workflow:
=============== ===============

View File

@ -1,8 +1,5 @@
.. _cli-ref: .. _cli-ref:
.. toctree::
:maxdepth: 2
========================== ==========================
Murano command-line client Murano command-line client
========================== ==========================
@ -42,7 +39,7 @@ Subcommands
* *category-list* List all available categories. * *category-list* List all available categories.
* *category-show * *category-show*
* *deployment-list* List deployments for an environment. * *deployment-list* List deployments for an environment.
@ -169,13 +166,13 @@ Murano optional arguments
**--murano-repo-url MURANO_REPO_URL** **--murano-repo-url MURANO_REPO_URL**
Defaults to env[MURANO_REPO_URL] or Defaults to env[MURANO_REPO_URL] or
`http://storage.apps.openstack.org_ ` `http://storage.apps.openstack.org_`
Application catalog API v1 commands Application catalog API v1 commands
=================================== ===================================
murano bundle-import murano bundle-import
-------------------- ~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -188,13 +185,13 @@ treat Names of packages in a bundle as file names, relative to location of
bundle file. bundle file.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<FILE>** **<FILE>**
Bundle URL, bundle name, or path to the bundle file Bundle URL, bundle name, or path to the bundle file
Optional arguments Optional arguments
~~~~~~~~~~~~~~~~~~ ------------------
**--is-public** **--is-public**
Make packages available to users from other project Make packages available to users from other project
@ -203,7 +200,7 @@ Optional arguments
Default action when a package already exists Default action when a package already exists
murano category-create murano category-create
---------------------- ~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -212,13 +209,13 @@ murano category-create
Create a category. Create a category.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<CATEGORY_NAME>** **<CATEGORY_NAME>**
Category name Category name
murano category-delete murano category-delete
---------------------- ~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -227,13 +224,13 @@ murano category-delete
Delete a category. Delete a category.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
ID of a category(s) to delete ID of a category(s) to delete
murano category-list murano category-list
-------------------- ~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -242,20 +239,20 @@ murano category-list
List all available categories. List all available categories.
murano category-show murano category-show
-------------------- ~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
usage: murano category-show <ID> usage: murano category-show <ID>
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
ID of a category(s) to show ID of a category(s) to show
murano deployment-list murano deployment-list
---------------------- ~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -264,13 +261,13 @@ murano deployment-list
List deployments for an environment. List deployments for an environment.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Environment ID for which to list deployments Environment ID for which to list deployments
murano env-template-add-app murano env-template-add-app
--------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -279,7 +276,7 @@ murano env-template-add-app
Add application to the environment template. Add application to the environment template.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ENV_TEMPLATE_NAME>** **<ENV_TEMPLATE_NAME>**
Environment template name Environment template name
@ -288,7 +285,7 @@ Positional arguments
Path to the template. Path to the template.
murano env-template-create murano env-template-create
-------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -297,12 +294,14 @@ murano env-template-create
Create an environment template. Create an environment template.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ENV_TEMPLATE_NAME>** **<ENV_TEMPLATE_NAME>**
Environment template name Environment template name
murano env-template-del-app murano env-template-del-app
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
usage: murano env-template-del-app <ENV_TEMPLATE_ID> <ENV_TEMPLATE_APP_ID> usage: murano env-template-del-app <ENV_TEMPLATE_ID> <ENV_TEMPLATE_APP_ID>
@ -310,7 +309,7 @@ murano env-template-del-app
Delete application to the environment template. Delete application to the environment template.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ENV_TEMPLATE_ID>** **<ENV_TEMPLATE_ID>**
Environment template ID Environment template ID
@ -319,7 +318,7 @@ Positional arguments
Application ID Application ID
murano env-template-delete murano env-template-delete
-------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -328,13 +327,13 @@ murano env-template-delete
Delete an environment template. Delete an environment template.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
ID of environment(s) template to delete ID of environment(s) template to delete
murano env-template-list murano env-template-list
------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -343,7 +342,7 @@ murano env-template-list
List the environments templates. List the environments templates.
murano env-template-show murano env-template-show
------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -352,13 +351,13 @@ murano env-template-show
Display environment template details. Display environment template details.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Environment template ID Environment template ID
murano env-template-update murano env-template-update
-------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -367,7 +366,7 @@ murano env-template-update
Update an environment template. Update an environment template.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Environment template ID Environment template ID
@ -376,7 +375,7 @@ Positional arguments
Environment template name Environment template name
murano environment-create murano environment-create
------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -385,13 +384,13 @@ murano environment-create
Create an environment. Create an environment.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ENVIRONMENT_NAME>** **<ENVIRONMENT_NAME>**
Environment name Environment name
murano environment-delete murano environment-delete
------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -400,19 +399,19 @@ murano environment-delete
Delete an environment. Delete an environment.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<NAME or ID>** **<NAME or ID>**
ID or name of environment(s) to delete ID or name of environment(s) to delete
Optional arguments Optional arguments
~~~~~~~~~~~~~~~~~~ ------------------
**--abandon** **--abandon**
If set will abandon environment without deleting any of its resources If set will abandon environment without deleting any of its resources
murano environment-list murano environment-list
----------------------- ~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -421,7 +420,7 @@ murano environment-list
List the environments. List the environments.
murano environment-rename murano environment-rename
------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -430,7 +429,7 @@ murano environment-rename
Rename an environment. Rename an environment.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<NAME or ID>** **<NAME or ID>**
Environment ID or name Environment ID or name
@ -439,7 +438,7 @@ Positional arguments
A name to which the environment will be renamed A name to which the environment will be renamed
murano environment-show murano environment-show
----------------------- ~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -448,13 +447,13 @@ murano environment-show
Display environment details. Display environment details.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<NAME or ID>** **<NAME or ID>**
Environment ID or name Environment ID or name
murano package-create murano package-create
--------------------- ~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -468,7 +467,7 @@ murano package-create
Create an application package. Create an application package.
Optional arguments Optional arguments
~~~~~~~~~~~~~~~~~~ ------------------
**-t <HEAT_TEMPLATE>, --template <HEAT_TEMPLATE>** **-t <HEAT_TEMPLATE>, --template <HEAT_TEMPLATE>**
Path to the Heat template to import as an Application Definition Path to the Heat template to import as an Application Definition
@ -507,7 +506,7 @@ Optional arguments
Path to the package logo Path to the package logo
murano package-delete murano package-delete
=================== ~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -516,13 +515,13 @@ murano package-delete
Delete a package. Delete a package.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Package ID to delete Package ID to delete
murano package-download murano package-download
----------------------- ~~~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -531,7 +530,7 @@ murano package-download
Download a package to a filename or stdout. Download a package to a filename or stdout.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Package ID to download Package ID to download
@ -540,7 +539,7 @@ Positional arguments
Filename for download (defaults to stdout) Filename for download (defaults to stdout)
murano package-import murano package-import
===================== ~~~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -553,13 +552,13 @@ Import a package. ``FILE`` can be either a path to a zip file, URL or a FQPN.
``categories`` can be separated by a comma. ``categories`` can be separated by a comma.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<FILE>** **<FILE>**
URL of the murano zip package, FQPN, or path to zip package URL of the murano zip package, FQPN, or path to zip package
Optional arguments Optional arguments
~~~~~~~~~~~~~~~~~~ ------------------
**-c \[<CAT1 CAT2 CAT3> \[<CAT1 CAT2 CAT3> ...]], --categories \[<CAT1 CAT2 CAT3> \[<CAT1 CAT2 CAT3> ...]]** **-c \[<CAT1 CAT2 CAT3> \[<CAT1 CAT2 CAT3> ...]], --categories \[<CAT1 CAT2 CAT3> \[<CAT1 CAT2 CAT3> ...]]**
Category list to attach Category list to attach
@ -575,7 +574,7 @@ Optional arguments
Default action when package already exists Default action when package already exists
murano package-list murano package-list
------------------- ~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -584,12 +583,12 @@ murano package-list
List available packages. List available packages.
Optional arguments Optional arguments
~~~~~~~~~~~~~~~~~~ ------------------
**--include-disabled** **--include-disabled**
murano package-show murano package-show
=================== ~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
@ -598,26 +597,26 @@ murano package-show
Display details for a package. Display details for a package.
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Package ID to show Package ID to show
murano service-show murano service-show
------------------- ~~~~~~~~~~~~~~~~~~~
.. code-block::console .. code-block::console
usage: murano service-show \[-p <PATH>] <ID> usage: murano service-show \[-p <PATH>] <ID>
Positional arguments Positional arguments
~~~~~~~~~~~~~~~~~~~~ --------------------
**<ID>** **<ID>**
Environment ID to show applications from Environment ID to show applications from
Optional arguments Optional arguments
~~~~~~~~~~~~~~~~~~ ------------------
**-p <PATH>, --path <PATH>** **-p <PATH>, --path <PATH>**

View File

@ -0,0 +1 @@
.. include:: ../../../CONTRIBUTING.rst

View File

@ -1,8 +1,5 @@
.. _glossary: .. _glossary:
.. toctree::
:maxdepth: 2
======== ========
Glossary Glossary
======== ========

View File

@ -0,0 +1,12 @@
.. _building_images:
=====================
Building Murano Image
=====================
.. toctree::
:maxdepth: 2
windows
linux
upload

View File

@ -1,18 +1,3 @@
..
Copyright 2014 Mirantis, Inc.
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.
=========== ===========
Linux Image Linux Image
=========== ===========

View File

@ -1,19 +1,3 @@
..
Copyright 2014 Mirantis, Inc.
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.
..
.. _upload_images: .. _upload_images:
======================== ========================

View File

@ -1,18 +1,3 @@
..
Copyright 2014 Mirantis, Inc.
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.
MS Windows image builder for OpenStack Murano MS Windows image builder for OpenStack Murano
============================================= =============================================

View File

@ -1,8 +1,5 @@
.. _murano-concepts: .. _murano-concepts:
.. toctree::
:maxdepth: 2:
========================================= =========================================
High-level definitions of Murano concepts High-level definitions of Murano concepts
========================================= =========================================

View File

@ -1,8 +1,5 @@
.. _rest-api-spec: .. _rest-api-spec:
.. toctree::
:maxdepth: 2:
====================== ======================
REST API specification REST API specification
====================== ======================

View File

@ -1,18 +1,3 @@
..
Copyright 2014 Mirantis, Inc.
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.
=========================== ===========================
Murano API v1 specification Murano API v1 specification
=========================== ===========================

View File

@ -1,22 +1,7 @@
..
Copyright 2014 Mirantis, Inc.
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.
Glossary Glossary
======== ========
.. _environment: .. _glossary-environment:
* **Environment** * **Environment**
@ -24,7 +9,7 @@ Glossary
Applications within a single environment may comprise of complex configuration while applications in different environments are always Applications within a single environment may comprise of complex configuration while applications in different environments are always
independent from one another. Each environment is associated with a single OpenStack project. independent from one another. Each environment is associated with a single OpenStack project.
.. _`sessions`: .. _glossary-sessions:
* **Session** * **Session**
@ -325,8 +310,10 @@ Delete environment
Environment configuration API Environment configuration API
============================= =============================
Multiple `sessions`_ could be opened for one environment simultaneously, but only one session going Multiple :ref:`sessions <glossary-sessions>` could be opened for one environment
to be deployed. First session that starts deploying is going to be deployed; other ones become invalid and could not be deployed at all. 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 User could not open new session for environment that in
*deploying* state (thats why we call it "almost lock free" model). *deploying* state (thats why we call it "almost lock free" model).

View File

@ -1,18 +1,3 @@
..
Copyright 2015 Telefonica I+D, Inc.
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.
Environment template API Environment template API
======================== ========================

View File

@ -1,18 +1,3 @@
..
Copyright 2014 Mirantis, Inc.
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.
Application catalog API Application catalog API
======================= =======================
@ -56,38 +41,54 @@ For an admin role all packages are available.
**Parameters** **Parameters**
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ +---------------------+--------+---------------------------------------------+
| Attribute | Type | Description | | Attribute | Type | Description |
+======================+=============+==============================================================================================================================+ +=====================+========+=============================================+
| ``catalog`` | bool | If false (default) - search packages, that current user can edit (own for non-admin, all for admin) | | ``catalog`` | bool | If false (default) - search packages, that |
| | | If true - search packages, that current user can deploy (i.e. his own + public) | | | | current user can edit (own for non-admin, |
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | all for admin) |
| ``marker`` | string | A package identifier marker may be specified. When present only packages which occur after the identifier ID will be listed | | | | If true - search packages, that current user|
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | can deploy (i.e. his own + public) |
| ``limit`` | string | When present the maximum number of results returned will not exceed the specified value. | +---------------------+--------+---------------------------------------------+
| | | The typical pattern of limit and marker is to make an initial limited request and then to use the ID of the last package from| | ``marker`` | string | A package identifier marker may be |
| | | the response as the marker parameter in a subsequent limited request. | | | | specified. When present only packages which |
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | occur after the identifier ID will be listed|
| ``order_by`` | string | Allows to sort packages by: `fqn`, `name`, `created`. Created is default value. | +---------------------+--------+---------------------------------------------+
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | ``limit`` | string | When present the maximum number of results |
| ``type`` | string | Allows to point a type of package: `application`, `library` | | | | returned will not exceed the specified |
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | value. The typical pattern of limit and |
| ``category`` | string | Allows to point a categories for a search | | | | marker is to make an initial limited request|
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | and then to use the ID of the last package |
| ``fqn`` | string | Allows to point a fully qualified package name for a search | | | | from the response as the marker parameter in|
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | a subsequent limited request. |
| ``owned`` | bool | Search only from packages owned by current project | +---------------------+--------+---------------------------------------------+
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | ``order_by`` | string | Allows to sort packages by: `fqn`, `name`, |
| ``id`` | string | Allows to point an id for a search | | | | `created`. Created is default value. |
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ +---------------------+--------+---------------------------------------------+
| ``include_disabled`` | bool | Include disabled packages in a the result | | ``type`` | string | Allows to point a type of package: |
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | | | `application`, `library` |
| ``search`` | string | Gives opportunity to search specified data by all the package parameters and order packages | +---------------------+--------+---------------------------------------------+
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | ``category`` | string | Allows to point a categories for a search |
| ``class_name`` | string | Search only for packages, that use specified class | +---------------------+--------+---------------------------------------------+
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ | ``fqn`` | string | Allows to point a fully qualified package |
| ``name`` | string | Allows to point a package name for a search | | | | name for a search |
+----------------------+-------------+------------------------------------------------------------------------------------------------------------------------------+ +---------------------+--------+---------------------------------------------+
| ``owned`` | bool | Search only from packages owned by current |
| | | project |
+---------------------+--------+---------------------------------------------+
| ``id`` | string | Allows to point an id for a search |
+---------------------+--------+---------------------------------------------+
| ``include_disabled``| bool | Include disabled packages in a the result |
+---------------------+--------+---------------------------------------------+
| ``search`` | string | Gives opportunity to search specified data |
| | | by all the package parameters and order |
| | | packages |
+---------------------+--------+---------------------------------------------+
| ``class_name`` | string | Search only for packages, that use specified|
| | | class |
+---------------------+--------+---------------------------------------------+
| ``name`` | string | Allows to point a package name for a search |
+---------------------+--------+---------------------------------------------+
**Response 200 (application/json)** **Response 200 (application/json)**
@ -430,12 +431,11 @@ List categories
* `/v1/catalog/categories [GET]` * `/v1/catalog/categories [GET]`
+----------+----------------------------------+----------------------------------+ +----------+------------------------------+---------------------------------+
| Method | URI | Description | | Method | URI | Description |
+==========+==================================+==================================+ +==========+==============================+=================================+
| GET | /catalog/categories | Get list of existing categories | | GET | /catalog/categories | Get list of existing categories |
+----------+----------------------------------+----------------------------------+ +----------+------------------------------+---------------------------------+
Retrieve list of all available application categories Retrieve list of all available application categories
@ -476,11 +476,11 @@ Get category details
*Request* *Request*
+----------+-----------------------------------+----------------------------------+ +----------+-----------------------------------+-----------------------------+
| Method | URI | Description | | Method | URI | Description |
+==========+===================================+==================================+ +==========+===================================+=============================+
| GET | /catalog/categories/<category_id> | Get category detail | | GET | /catalog/categories/<category_id> | Get category detail |
+----------+-----------------------------------+----------------------------------+ +----------+-----------------------------------+-----------------------------+
*Parameters* *Parameters*
@ -527,19 +527,20 @@ Add new category
*Parameters* *Parameters*
+----------------------+------------+--------------------------------------------------------+ +----------------------+------------+----------------------------------------+
| Attribute | Type | Description | | Attribute | Type | Description |
+======================+============+========================================================+ +======================+============+========================================+
| name | string | Environment name; only alphanumeric characters and '-' | | name | string | Environment name; only alphanumeric |
+----------------------+------------+--------------------------------------------------------+ | | | characters and '-' |
+----------------------+------------+----------------------------------------+
*Request* *Request*
+----------+----------------------------------+----------------------------------+ +----------+----------------------------------+------------------------------+
| Method | URI | Description | | Method | URI | Description |
+==========+==================================+==================================+ +==========+==================================+==============================+
| POST | /catalog/categories | Create new category | | POST | /catalog/categories | Create new category |
+----------+----------------------------------+----------------------------------+ +----------+----------------------------------+------------------------------+
*Content-Type* *Content-Type*
application/json application/json
@ -578,11 +579,12 @@ Delete category
*Request* *Request*
+----------+-----------------------------------+-----------------------------------+ +----------+-----------------------------------+-----------------------------+
| Method | URI | Description | | Method | URI | Description |
+==========+===================================+===================================+ +==========+===================================+=============================+
| DELETE | /catalog/categories/<category_id> | Delete category with specified id | | DELETE | /catalog/categories/<category_id> | Delete category with |
+----------+-----------------------------------+-----------------------------------+ | | | specified ID |
+----------+-----------------------------------+-----------------------------+
*Parameters:* *Parameters:*

View File

@ -3,9 +3,6 @@
.. meta:: .. meta::
:robots: noindex :robots: noindex
.. toctree::
:maxdepth: 2
========= =========
Tutorials Tutorials
========= =========

View File

@ -1,72 +0,0 @@
..
Copyright 2014 Mirantis, Inc.
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.
=====================================
Murano TroubleShooting and Debug Tips
=====================================
During installation and setting environment of new projects (tenants) you
can run into different problems. This section intends to reduce the time
spent on the solution of these problems.
Problems during configuration
=============================
Log location
++++++++++++
*Murano* is a multi component project, there several places where logs could be found.
The location of the log file completely depends on the setting in the config file of the corresponding component.
*log_file* parameter points to the log file, and if it's omitted or commented logging will be sent to stdout.
Possible problem list
+++++++++++++++++++++++
* `murano-db-manage` failed to execute
* Check `connection` parameter in provided config file. It should be a `connection string <http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html>`_.
* Murano Dashboard is not working
* Make sure, that *prepare_murano.sh* script was executed and *murano* file located in *enabled* folder under openstack_dashboard repository.
* Check, that murano data is not inserted twice in the settings file and as a plugin.
Problems during deployment
==========================
Besides identifying errors from log files, there is another and more flexible way to browse deployment errors - directly from UI.
After *Deploy Failed* status is appeared navigate to environment components and open *Deployment History* page.
Click on the *Show details* button located at the corresponding deployment row of the table. Then go to the *Logs* tab.
You can see steps of the deployments and the one that failed would have red color.
* Deployment freeze after ``Begin execution: io.murano.system.Agent.call`` problem with connection between Murano Agent and spawned instance.
* Need to check transport access to the virtual machine (check router has gateway).
* Check for rabbitMq settings: verify that agent has been obtained valid rabbit parameters.
Go to the spawned virtual machine and open */etc/murano/agent.conf* or *C:\Murano\Agent\agent.conf* on Windows-based machine.
Also, you can examine agent logs, located by default at */var/log/murano-agent.log*
The first part of the log file will contain reconnection attempts to the rabbit - since the valid rabbit address and queue have not been obtained yet.
* Check that *driver* option is set to `messagingv2`
* Check that linux image name is not starts with 'w' letter
* ``[exceptions.EnvironmentError]: Unexpected stack state NOT_FOUND`` - problem with heat stack creation, need to examine Heat log file.
If you are running the deployment on a new tenant check that the router exists and it has gateway to the external network.
* ``Router could not be created, no external network found`` - Find `external_network` parameter in config file and check
that specified external network is really exist via UI or by executing :command:`openstack network list --external` command.
* ``NoPackageForClassFound: Package for class io.murano. Environment is not found`` - Check that murano core package is uploaded.
If no, the content of `meta/io.murano` folder should be zipped and uploaded to Murano.

View File

@ -1 +0,0 @@
.. include:: ../../CONTRIBUTING.rst

View File

@ -0,0 +1,17 @@
.. index:: Murano Contributor Guide
.. _contributor-guide:
Contributor guide
~~~~~~~~~~~~~~~~~
.. toctree::
:maxdepth: 2
how_to_contribute
dev_guidelines
plugins
dev_env
testing
doc_guidelines
stable_branches

View File

@ -1,8 +1,5 @@
.. _dev-env: .. _dev-env:
.. toctree::
:maxdepth: 2
======================= =======================
Development environment Development environment
======================= =======================

View File

@ -1,8 +1,5 @@
.. _dev-guidelines: .. _dev-guidelines:
.. toctree::
:maxdepth: 2
====================== ======================
Development guidelines Development guidelines
====================== ======================

View File

@ -1,8 +1,5 @@
.. _doc-guidelines: .. _doc-guidelines:
.. toctree::
:maxdepth: 2
======================== ========================
Documentation guidelines Documentation guidelines
======================== ========================

View File

@ -0,0 +1,19 @@
.. _plugins:
===============
Murano plug-ins
===============
Murano plug-ins help to extend the capability of murano.
There are two types of murano plug-ins which serve different purposes:
* Extend murano Core Library by implementing additional functionality.
* Add new package type classes.
This section contains the following topics:
.. toctree::
:maxdepth: 2
plugins/murano_plugins
plugins/manage_plugins

Some files were not shown because too many files have changed in this diff Show More