For a local development, all Murano components can be installed in a virtual environment. First thing you need to do is to install check that prerequisites are installed, system is updated and upgraded. Next, install virtualenv package if you don't have one:
sudo pip install virtualenv
Murano Api
Check out git repository with murano component:
git clone https://github.com/stackforge/murano-api
Execute a script located at the
murano-api/tools
directory to create virtual environment automatically:cd murano-api && python ./tools/install_venv.py
Copy murano-api sample config file located at
etc/murano/murano-api.conf.sample
toetc/murano/murano-api.conf
. In config file set up keystone endpoint in Openstack installation. Other settings are described in 'Murano Admin Guide'. Configetc/murano/murano-api-paste.conf
doesn't require any modification.And finally run Murano API:
./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano/murano-api.conf
Murano Conductor
Check out git repository with murano component:
git clone https://github.com/stackforge/murano-conductor
Execute the following script located at the
murano-conductor/tools
directory to create virtual environment automatically:cd murano-conductor && python ./tools/install_venv.py
Copy Murano Conductor sample config file located at
etc/murano/conductor.conf.sample
toetc/murano/conductor.conf
. In config file set up keystone endpoint in Openstack installation. All other possible configuration described in the Murano Admin Guide.Run Murano Conductor:
./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/murano/conductor.conf
Murano Repository
Check out git repository with murano component:
git clone https://github.com/stackforge/murano-repository
Execute a script located at the
murano-repository/tools
directory to create virtual environment automatically:cd murano-repository && python ./tools/install_venv.py
Copy a config file
etc/murano/murano-repository.conf.sample
toetc/murano/murano-repository.conf
and point out Keystone parameters.And finally run Murano Repository:
./tools/with_venv.sh python muranorepository/cmd/run.py --config-file=./etc/murano/murano-repository.conf
Murano Dashboard
Check out git repository with murano component:
git clone https://github.com/stackforge/murano-dashboard
Execute a script located at the
murano-dashboard/tools
directory to create virtual environment automatically:cd murano-dashboard && python ./tools/install_venv.py
Murano is a plugin for a Openstack dashboard. So need to install it and it's dependency:
# ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz
Ubuntu
# apt-get install nodejs
CentOS
# yum install nodejs
To configure Murano Dashboard copy example config file:
# cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py
and set in just copied file the following parameters:
MURANO_API_URL Required if murano-api service is not registered in keystone. Provide valid URL where Murano API is running
MURANO_METADATA_URL Required if murano-repository service is not registered in keystone. Provide valid URL where Murano Repository service is running
NETWORK_TOPOLOGY
- network configuration. Duplicates murano-conductor setting (routed - default, flat, nova).
Since all UI forms are described in Metadata Repository and kept in Django sessions - default Memcached as a session backend is not suitable for a dynamic UI and we need to use Database backend. (It's already set up in murano settings file). But this requires to synchronize database with the specified settings:
./tools/with_venv.sh ./manage.py syncdb
Run Murano Dashboard: To start the Murano development server use the Django manage.py utility with the context of the virtual environment:
./tools/with_venv.sh ./manage.py runserver 0.0.0.0:8080