For a local development, all Murano components can be installed in a virtual environment.

  • Install virtualenv package if you don't have one:

    sudo pip install virtualenv
                            

  • Check out git repository with murano component:

  • Make sure that required system packages are installed. Check list from prerequisites page

  • Execute a script in the tools directory to create virtual environment automatically:

    $ python murano-api/tools/install_venv.py
    $ python murano-conductor/tools/install_venv.py
    $ python murano-dashboard/tools/install_venv.py
                                

  • For Murano Dashboard additional installation need to be done:

    • Openstack dashboard (horizon).:

      ./tools/with_venv.sh pip install https://github.com/openstack/horizon/archive/grizzly-2.tar.gz
                                          

    • Install openstack-dashboard dependency:

      • Ubuntu

        # apt-get install nodejs
                                                        

      • CentOS

        # yum install nodejs
                                                        

    • Customized Djblets package to support datagrid element (installation by pip is not supported):

      ./tools/with_venv.sh easy_install https://github.com/tsufiev/djblets/archive/master.zip
                                      

  • Config files for the development infrastructure of murano-api and murano-conductor can be found at etc under folder with component repository. In murano-api and murano-conductor config file (located under ./etc directory) just point out IP address where your RabbitMQ is running. All other possible configuration described in the Murano Admin Guide. To configure Murano Dashboard copy

    # cp muranodashboard/local/local_settings.py.example muranodashboard/local/local_settings.py
                            

    and set in just copied file the the actual IP address of the OpenStack end-point. If you haven't register murano-api service in the keystone catalog you can set MURANO_API_URL in the same settings file. Note that local murano-api service will be using by default.

  • Run Murano API:

    ./tools/with_venv.sh python muranoapi/cmd/api.py --config-file=./etc/murano-api.conf
                            

  • Run Murano Conductor:

    ./tools/with_venv.sh python muranoconductor/cmd/run.py --config-file=./etc/conductor.conf
                            

  • 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...