diff --git a/doc/source/install/from-source.rst b/doc/source/install/from-source.rst
new file mode 100644
index 000000000..9907de087
--- /dev/null
+++ b/doc/source/install/from-source.rst
@@ -0,0 +1,282 @@
+Install Murano from Source
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This section describes how to install and configure the Application Catalog
+service for Ubuntu 16.04 (LTS) from source code.
+
+.. include:: common_prerequisites.rst
+
+Install the API service and Engine
+----------------------------------
+
+#. Create a folder which will hold all Murano components.
+
+ .. code-block:: console
+
+ mkdir ~/murano
+ ..
+
+#. Clone the murano git repository to the management server.
+
+ .. code-block:: console
+
+ cd ~/murano
+ git clone git://git.openstack.org/openstack/murano
+ ..
+
+#. Set up the murano config file
+
+ Murano has a common config file for API and Engine services.
+
+ First, generate a sample configuration file, using tox
+
+ .. code-block:: console
+
+ cd ~/murano/murano
+ tox -e genconfig
+ ..
+
+ And make a copy of it for further modifications
+
+ .. code-block:: console
+
+ cd ~/murano/murano/etc/murano
+ ln -s murano.conf.sample murano.conf
+ ..
+
+#. Edit ``murano.conf`` with your favorite editor. Below is an example
+ which contains basic settings you likely need to configure.
+
+ .. note::
+
+ The example below uses SQLite database. Edit **[database]** section
+ if you want to use any other database type.
+ ..
+
+ .. code-block:: ini
+
+ [DEFAULT]
+ debug = true
+ verbose = true
+ rabbit_host = %RABBITMQ_SERVER_IP%
+ rabbit_userid = %RABBITMQ_USER%
+ rabbit_password = %RABBITMQ_PASSWORD%
+ rabbit_virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST%
+ driver = messagingv2
+
+ ...
+
+ [database]
+ backend = sqlalchemy
+ connection = sqlite:///murano.sqlite
+
+ ...
+
+ [keystone]
+ auth_url = 'http://%OPENSTACK_HOST_IP%:5000/v2.0'
+
+ ...
+
+ [keystone_authtoken]
+ www_authenticate_uri = 'http://%OPENSTACK_HOST_IP%:5000/v2.0'
+ auth_host = '%OPENSTACK_HOST_IP%'
+ auth_port = 5000
+ auth_protocol = http
+ admin_tenant_name = %OPENSTACK_ADMIN_TENANT%
+ admin_user = %OPENSTACK_ADMIN_USER%
+ admin_password = %OPENSTACK_ADMIN_PASSWORD%
+
+ ...
+
+ [murano]
+ url = http://%YOUR_HOST_IP%:8082
+
+ [rabbitmq]
+ host = %RABBITMQ_SERVER_IP%
+ login = %RABBITMQ_USER%
+ password = %RABBITMQ_PASSWORD%
+ virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST%
+
+ [networking]
+ default_dns = 8.8.8.8 # In case openstack neutron has no default
+ # DNS configured
+ ..
+
+#. Create a virtual environment and install Murano prerequisites. We will use
+ *tox* for that. The virtual environment will be created under *.tox*
+ directory.
+
+ .. code-block:: console
+
+ cd ~/murano/murano
+ tox
+ ..
+
+#. Create database tables for Murano.
+
+ .. code-block:: console
+
+ cd ~/murano/murano
+ tox -e venv -- murano-db-manage \
+ --config-file ./etc/murano/murano.conf upgrade
+ ..
+
+#. Open a new console and launch Murano API. A separate terminal is
+ required because the console will be locked by a running process.
+
+ .. code-block:: console
+
+ cd ~/murano/murano
+ tox -e venv -- murano-api --config-file ./etc/murano/murano.conf
+ ..
+
+#. Import Core Murano Library.
+
+ .. code-block:: console
+
+ cd ~/murano/murano
+ pushd ./meta/io.murano
+ zip -r ../../io.murano.zip *
+ popd
+ tox -e venv -- murano --murano-url http://localhost:8082 \
+ package-import --is-public io.murano.zip
+ ..
+
+#. Open a new console and launch Murano Engine. A separate terminal is
+ required because the console will be locked by a running process.
+
+ .. code-block:: console
+
+ cd ~/murano/murano
+ tox -e venv -- murano-engine --config-file ./etc/murano/murano.conf
+ ..
+
+Install Murano Dashboard
+========================
+
+Murano API & Engine services provide the core of Murano. However, your need a
+control plane to use it. This section describes how to install and run Murano
+Dashboard.
+
+#. Clone the murano dashboard repository.
+
+ .. code-block:: console
+
+ $ cd ~/murano
+ $ git clone git://git.openstack.org/openstack/murano-dashboard
+ ..
+
+#. Clone the ``horizon`` repository
+
+ .. code-block:: console
+
+ $ git clone git://git.openstack.org/openstack/horizon
+ ..
+
+#. Create a virtual environment and install ``muranodashboard`` as an editable
+ module:
+
+ .. code-block:: console
+
+ $ cd horizon
+ $ tox -e venv -- pip install -e ../murano-dashboard
+ ..
+
+#. Prepare local settings.
+
+ .. code-block:: console
+
+ $ cp openstack_dashboard/local/local_settings.py.example \
+ openstack_dashboard/local/local_settings.py
+ ..
+
+ For more information, check out the official
+ `horizon documentation `_.
+
+#. Enable and configure Murano dashboard in the OpenStack Dashboard:
+
+ * For Newton (and later) OpenStack installations, copy the plugin file,
+ local settings files, and policy files.
+
+ .. code-block:: console
+
+ $ cp ../murano-dashboard/muranodashboard/local/enabled/*.py \
+ openstack_dashboard/local/enabled/
+
+ $ cp ../murano-dashboard/muranodashboard/local/local_settings.d/*.py \
+ openstack_dashboard/local/local_settings.d/
+
+ $ cp ../murano-dashboard/muranodashboard/conf/* openstack_dashboard/conf/
+ ..
+
+ * For the OpenStack installations prior to the Newton release, run:
+
+ .. code-block:: console
+
+ $ cp ../murano-dashboard/muranodashboard/local/_50_murano.py \
+ openstack_dashboard/local/enabled/
+ ..
+
+ Customize local settings of your horizon installation, by editing the
+ :file:`openstack_dashboard/local/local_settings.py` file:
+
+ .. code-block:: python
+
+ ...
+ ALLOWED_HOSTS = '*'
+
+ # Provide OpenStack Lab credentials
+ OPENSTACK_HOST = '%OPENSTACK_HOST_IP%'
+
+ ...
+
+ DEBUG_PROPAGATE_EXCEPTIONS = DEBUG
+ ..
+
+ Change the default session back end-from using browser cookies to using a
+ database instead to avoid issues with forms during the creation of
+ applications:
+
+ .. code-block:: python
+
+ DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': 'murano-dashboard.sqlite',
+ }
+ }
+
+ SESSION_ENGINE = 'django.contrib.sessions.backends.db'
+ ..
+
+#. (Optional) If you do not plan to get the murano service from the keystone
+ application catalog, specify where the murano-api service is running:
+
+ .. code-block:: python
+
+ MURANO_API_URL = 'http://%MURANO_IP%:8082'
+ ..
+
+#. (Optional) If you have set up the database as a session back-end (this is
+ done by default with the murano local_settings file starting with Newton),
+ perform database migration:
+
+ .. code-block:: console
+
+ $ tox -e venv -- python manage.py migrate --noinput
+ ..
+
+#. Run the Django server at 127.0.0.1:8000 or provide different IP and PORT
+ parameters:
+
+ .. code-block:: console
+
+ $ tox -e venv -- python manage.py runserver
+ ..
+
+.. note::
+
+ The development server restarts automatically following every code change.
+..
+
+**Result:** The murano dashboard is available at http://IP:PORT.
diff --git a/doc/source/install/install-api.rst b/doc/source/install/install-api.rst
index 0871b67b6..f042cad69 100644
--- a/doc/source/install/install-api.rst
+++ b/doc/source/install/install-api.rst
@@ -17,7 +17,7 @@ Install Murano API
~~~~~~~~~~~~~~~~~~
This section describes how to install and configure the Application Catalog
-service for Ubuntu 14.04 (LTS).
+service for Ubuntu 16.04 (LTS).
.. include:: common_prerequisites.rst
@@ -32,55 +32,6 @@ Install and configure components
# apt-get install murano-engine murano-api
-#. Edit the ``/etc/murano/murano.conf`` file and complete the following
- actions:
-
- * In the ``[database]`` section, configure database access:
-
- .. code-block:: ini
-
- [database]
- ...
- connection = mysql+pymysql://murano:MURANO_DBPASS@controller/murano
-
-Install the API service and Engine
-----------------------------------
-
-#. Create a folder which will hold all Murano components.
-
- .. code-block:: console
-
- mkdir ~/murano
- ..
-
-#. Clone the murano git repository to the management server.
-
- .. code-block:: console
-
- cd ~/murano
- git clone git://git.openstack.org/openstack/murano
- ..
-
-#. Set up the murano config file
-
- Murano has a common config file for API and Engine services.
-
- First, generate a sample configuration file, using tox
-
- .. code-block:: console
-
- cd ~/murano/murano
- tox -e genconfig
- ..
-
- And make a copy of it for further modifications
-
- .. code-block:: console
-
- cd ~/murano/murano/etc/murano
- ln -s murano.conf.sample murano.conf
- ..
-
#. Edit ``murano.conf`` with your favorite editor. Below is an example
which contains basic settings you likely need to configure.
@@ -104,8 +55,7 @@ Install the API service and Engine
...
[database]
- backend = sqlalchemy
- connection = sqlite:///murano.sqlite
+ connection = mysql+pymysql://murano:MURANO_DBPASS@controller/murano
...
@@ -139,51 +89,22 @@ Install the API service and Engine
# DNS configured
..
-#. Create a virtual environment and install Murano prerequisites. We will use
- *tox* for that. The virtual environment will be created under *.tox*
- directory.
+#. Populate the Murano database:
- .. code-block:: console
+ .. code-block:: console
- cd ~/murano/murano
- tox
- ..
+ # su -s /bin/sh -c "murano-db-manage upgrade" murano
-#. Create database tables for Murano.
+ .. note::
- .. code-block:: console
+ Ignore any deprecation messages in this output.
- cd ~/murano/murano
- tox -e venv -- murano-db-manage \
- --config-file ./etc/murano/murano.conf upgrade
- ..
+Finalize installation
+---------------------
-#. Open a new console and launch Murano API. A separate terminal is
- required because the console will be locked by a running process.
+#. Restart the Application Catalog services:
- .. code-block:: console
+ .. code-block:: console
- cd ~/murano/murano
- tox -e venv -- murano-api --config-file ./etc/murano/murano.conf
- ..
-
-#. Import Core Murano Library.
-
- .. code-block:: console
-
- cd ~/murano/murano
- pushd ./meta/io.murano
- zip -r ../../io.murano.zip *
- popd
- tox -e venv -- murano --murano-url http://localhost:8082 \
- package-import --is-public io.murano.zip
- ..
-
-#. Open a new console and launch Murano Engine. A separate terminal is
- required because the console will be locked by a running process.
-
- .. code-block:: console
-
- cd ~/murano/murano
- tox -e venv -- murano-engine --config-file ./etc/murano/murano.conf
- ..
+ # service murano-api restart
+ # service murano-engine restart
diff --git a/doc/source/install/install-dashboard.rst b/doc/source/install/install-dashboard.rst
index 478823e9a..03905747c 100644
--- a/doc/source/install/install-dashboard.rst
+++ b/doc/source/install/install-dashboard.rst
@@ -20,79 +20,25 @@ Murano API & Engine services provide the core of Murano. However, your need a
control plane to use it. This section describes how to install and run Murano
Dashboard.
-#. Clone the murano dashboard repository.
+#. Install OpenStack Dashboard, the steps please reference from
+ `OpenStack Dashboard Install Guide `__.
- .. code-block:: console
+#. Install the packages:
- $ cd ~/murano
- $ git clone git://git.openstack.org/openstack/murano-dashboard
- ..
+ .. code-block:: console
-#. Clone the ``horizon`` repository
+ # apt install python-murano-dashboard
- .. code-block:: console
-
- $ git clone git://git.openstack.org/openstack/horizon
- ..
-
-#. Create a virtual environment and install ``muranodashboard`` as an editable
- module:
-
- .. code-block:: console
-
- $ cd horizon
- $ tox -e venv -- pip install -e ../murano-dashboard
- ..
-
-#. Prepare local settings.
-
- .. code-block:: console
-
- $ cp openstack_dashboard/local/local_settings.py.example \
- openstack_dashboard/local/local_settings.py
- ..
-
- For more information, check out the official
- `horizon documentation `_.
-
-#. Enable and configure Murano dashboard in the OpenStack Dashboard:
-
- * For Newton (and later) OpenStack installations, copy the plugin file,
- local settings files, and policy files.
-
- .. code-block:: console
-
- $ cp ../murano-dashboard/muranodashboard/local/enabled/*.py \
- openstack_dashboard/local/enabled/
-
- $ cp ../murano-dashboard/muranodashboard/local/local_settings.d/*.py \
- openstack_dashboard/local/local_settings.d/
-
- $ cp ../murano-dashboard/muranodashboard/conf/* openstack_dashboard/conf/
- ..
-
- * For the OpenStack installations prior to the Newton release, run:
-
- .. code-block:: console
-
- $ cp ../murano-dashboard/muranodashboard/local/_50_murano.py \
- openstack_dashboard/local/enabled/
- ..
-
- Customize local settings of your horizon installation, by editing the
- :file:`openstack_dashboard/local/local_settings.py` file:
+#. Edit the ``/etc/openstack-dashboard/local_settings.py``
+ file to customize local settings of your envi
.. code-block:: python
...
- ALLOWED_HOSTS = '*'
-
- # Provide OpenStack Lab credentials
OPENSTACK_HOST = '%OPENSTACK_HOST_IP%'
-
+ OPENSTACK_KEYSTONE_DEFAULT_ROLE = '%OPENSTACK_ROLE%'
...
- DEBUG_PROPAGATE_EXCEPTIONS = DEBUG
..
Change the default session back end-from using browser cookies to using a
@@ -119,26 +65,11 @@ Dashboard.
MURANO_API_URL = 'http://%MURANO_IP%:8082'
..
-#. (Optional) If you have set up the database as a session back-end (this is
- done by default with the murano local_settings file starting with Newton),
- perform database migration:
+Finalize installation
+---------------------
- .. code-block:: console
+#. Restart the Apache service:
- $ tox -e venv -- python manage.py migrate --noinput
- ..
+ .. code-block:: console
-#. Run the Django server at 127.0.0.1:8000 or provide different IP and PORT
- parameters:
-
- .. code-block:: console
-
- $ tox -e venv -- python manage.py runserver
- ..
-
-.. note::
-
- The development server restarts automatically following every code change.
-..
-
-**Result:** The murano dashboard is available at http://IP:PORT.
+ # service apache2 restart
diff --git a/doc/source/install/install.rst b/doc/source/install/install.rst
index 431130640..f6ab49972 100644
--- a/doc/source/install/install.rst
+++ b/doc/source/install/install.rst
@@ -27,5 +27,6 @@ be adapted to work with other types of distros.
install-api.rst
install-dashboard.rst
+ from-source.rst
install-network-config.rst
enable-ssl.rst