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 to etc/murano/murano-api.conf. In config file set up keystone endpoint in Openstack installation. Other settings are described in 'Murano Admin Guide'. Config etc/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 to etc/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 to etc/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
    					

loading table of contents...