OpenStack-Ansible murano role

Default variables

# Installation method
murano_install_method: "source"

# Operating system user & groups
murano_system_user_name: murano
murano_system_group_name: murano
murano_system_comment: Murano Daemons
murano_system_user_home: /var/lib/murano
murano_system_shell: /sbin/nologin

# Distribution deployment
murano_package_state: latest

# Set this to True during initial setup, if you want to skip
# import of the Core Murano Library.
# This var is stored in local ansible facts.d and set to True
# after the first successful run.
murano_library_installed: False

# ID or name of the external network for routers to connect to
murano_public_net_name: "public"

# This variable is used by the repo_build process to determine
# which host group to check for members of before building the
# pip packages required by this role. The value is picked up
# by the py_pkgs lookup.
murano_role_project_group: murano_all

# Source package builds
murano_git_repo: https://opendev.org/openstack/murano
murano_git_install_branch: master
murano_upper_constraints_url: "{{ requirements_git_url | default('https://opendev.org/openstack/requirements/raw/' ~ requirements_git_install_branch | default('master') ~ '/upper-constraints.txt') }}"
murano_git_constraints:
  - "git+{{ murano_git_repo }}@{{ murano_git_install_branch }}#egg=murano"
  - "--constraint {{ murano_upper_constraints_url }}"
murano_pip_packages:
  - murano
  - PyMySQL
  - python-memcached
  - systemd-python
murano_optional_oslomsg_amqp1_pip_packages:
  - oslo.messaging[amqp1]
murano_venv_tag: "{{ venv_tag | default('untagged') }}"
murano_bin: "{{ _murano_bin }}"

murano_pip_install_args: "{{ pip_install_options | default('') }}"

# Services
murano_services:
  murano-api:
    group: murano_api
    service_name: murano-api
    execstarts: "{{ murano_bin }}/murano-api"
    init_config_overrides: "{{ murano_api_init_overrides }}"
    start_order: 1
    wsgi_app: True
    wsgi_name: murano-wsgi-api
    uwsgi_overrides: "{{ murano_api_uwsgi_ini_overrides }}"
    uwsgi_bind_address: "{{ murano_bind_address }}"
    uwsgi_port: "{{ murano_service_port }}"
  murano-engine:
    group: murano_engine
    service_name: murano-engine
    execstarts: "{{ murano_bin }}/murano-engine"
    init_config_overrides: "{{ murano_engine_init_overrides }}"
    start-order: 1

# Murano uWSGI settings
murano_wsgi_processes_max: 16
murano_wsgi_processes: "{{ [[ansible_processor_vcpus|default(1), 1] | max * 2, murano_wsgi_processes_max] | min }}"
murano_wsgi_threads: 1

# RPC
murano_oslomsg_rpc_host_group: "{{ oslomsg_rpc_host_group | default('rabbitmq_all') }}"
murano_oslomsg_rpc_setup_host: "{{ (murano_oslomsg_rpc_host_group in groups) | ternary(groups[murano_oslomsg_rpc_host_group][0], 'localhost') }}"
murano_oslomsg_rpc_transport: "{{ oslomsg_rpc_transport | default('rabbit') }}"
murano_oslomsg_rpc_servers: "{{ oslomsg_rpc_servers | default('127.0.0.1') }}"
murano_oslomsg_rpc_port: "{{ oslomsg_rpc_port | default('5672') }}"
murano_oslomsg_rpc_use_ssl: "{{ oslomsg_rpc_use_ssl | default(False) }}"
murano_oslomsg_rpc_userid: murano
murano_oslomsg_rpc_vhost: /murano

# Notify
murano_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}"
murano_oslomsg_notify_setup_host: "{{ (murano_oslomsg_notify_host_group in groups) | ternary(groups[murano_oslomsg_notify_host_group][0], 'localhost') }}"
murano_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}"
murano_oslomsg_notify_servers: "{{ oslomsg_notify_servers | default('127.0.0.1') }}"
murano_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}"
murano_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}"
murano_oslomsg_notify_userid: "{{ murano_oslomsg_rpc_userid }}"
murano_oslomsg_notify_password: "{{ murano_oslomsg_rpc_password }}"
murano_oslomsg_notify_vhost: "{{ murano_oslomsg_rpc_vhost }}"


# (Qdrouterd) integration
murano_oslomsg_amqp1_enabled: "{{ murano_oslomsg_rpc_transport == 'amqp' }}"

# Database
murano_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}"
murano_galera_address: "{{ galera_address | default('127.0.0.1') }}"
murano_galera_database: murano
murano_galera_user: murano


# Configuration options
murano_debug: "{{ debug | default(false) }}"
murano_bind_address: 0.0.0.0
murano_service_port: 8082

# Overrides
murano_api_init_overrides: {}
murano_api_uwsgi_ini_overrides: {}
murano_engine_init_overrides: {}
murano_murano_conf_overrides: {}
murano_paste_conf_overrides: {}

# Service setup
murano_service_setup_host: "{{ openstack_service_setup_host | default('localhost') }}"
murano_service_setup_host_python_interpreter: "{{ openstack_service_setup_host_python_interpreter | default((murano_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_python['executable'])) }}"
murano_service_name: murano
murano_service_type: application-catalog
murano_service_description: OpenStack Application Catalog service
murano_service_in_ldap: false
murano_service_user_domain_id: default
murano_service_user_name: murano
murano_service_project_domain_id: default
murano_service_project_name: service
murano_role_name: admin
murano_service_region: RegionOne
murano_service_proto: http
murano_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(murano_service_proto) }}"
murano_service_publicurl: "{{ murano_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ murano_service_port }}"
murano_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(murano_service_proto) }}"
murano_service_internalurl: "{{ murano_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ murano_service_port }}"
murano_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(murano_service_proto) }}"
murano_service_adminurl: "{{ murano_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ murano_service_port }}"
murano_ceilometer_enabled: False

# Specific pip packages provided by the user
murano_user_pip_packages: []

Dependencies

Example playbook