summaryrefslogtreecommitdiffstats
path: root/puppet/services/nova-base.yaml
blob: dabb1355fa125d9d0d3fbbbbeb90dff376609802 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

@media only all and (prefers-color-scheme: dark) {
.highlight .hll { background-color: #49483e }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #75715e } /* Comment.Hashbang */
.highlight .cm { color: #75715e } /* Comment.Multiline */
.highlight .cp { color: #75715e } /* Comment.Preproc */
.highlight .cpf { color: #75715e } /* Comment.PreprocFile */
.highlight .c1 { color: #75715e } /* Comment.Single */
.highlight .cs { color: #75715e } /* Comment.Special */
.highlight .gd { color: #f92672 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #75715e } /* Generic.Subheading */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #f92672 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #f92672 } /* Operator.Word */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sa { color: #e6db74 } /* Literal.String.Affix */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 }
heat_template_version: ocata

description: >
  OpenStack Nova base service. Shared for all Nova services.

parameters:
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  NovaPassword:
    description: The password for the nova service and db account, used by nova-api.
    type: string
    hidden: true
  NeutronPassword:
    description: The password for the neutron service and db account, used by neutron agents.
    type: string
    hidden: true
  NovaOVSBridge:
    default: 'br-int'
    description: Name of integration bridge used by Open vSwitch
    type: string
  RabbitPassword:
    description: The password for RabbitMQ
    type: string
    hidden: true
  RabbitUserName:
    default: guest
    description: The username for RabbitMQ
    type: string
  RabbitClientUseSSL:
    default: false
    description: >
        Rabbit client subscriber parameter to specify
        an SSL connection to the RabbitMQ host.
    type: string
  RabbitClientPort:
    default: 5672
    description: Set rabbit subscriber port, change this if using SSL
    type: number
  Debug:
    type: string
    default: ''
    description: Set to True to enable debugging on all services.
  EnableConfigPurge:
    type: boolean
    default: true
    description: >
        Remove configuration that is not generated by TripleO. Setting
        to false may result in configuration remnants after updates/upgrades.
  NovaIPv6:
    default: false
    description: Enable IPv6 features in Nova
    type: boolean
  UpgradeLevelNovaCompute:
    type: string
    description: Nova Compute upgrade level
    default: ''
conditions:

  compute_upgrade_level_empty: {equals : [{get_param: UpgradeLevelNovaCompute}, '']}

outputs:
  role_data:
    description: Role data for the Nova base service.
    value:
      service_name: nova_base
      config_settings:
        map_merge:
        - nova::rabbit_password: {get_param: RabbitPassword}
          nova::rabbit_userid: {get_param: RabbitUserName}
          nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
          nova::rabbit_port: {get_param: RabbitClientPort}
          nova::database_connection:
            list_join:
              - ''
              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
                - '://nova:'
                - {get_param: NovaPassword}
                - '@'
                - {get_param: [EndpointMap, MysqlInternal, host]}
                - '/nova'
                - '?bind_address='
                - "%{hiera('tripleo::profile::base::database::mysql::client_bind_address')}"
          nova::api_database_connection:
            list_join:
              - ''
              - - {get_param: [EndpointMap, MysqlInternal, protocol]}
                - '://nova_api:'
                - {get_param: NovaPassword}
                - '@'
                - {get_param: [EndpointMap, MysqlInternal, host]}
                - '/nova_api'
                - '?bind_address='
                - "%{hiera('tripleo::profile::base::database::mysql::client_bind_address')}"
          nova::debug: {get_param: Debug}
          nova::purge_config: {get_param: EnableConfigPurge}
          nova::network::neutron::neutron_project_name: 'service'
          nova::network::neutron::neutron_username: 'neutron'
          nova::network::neutron::dhcp_domain: ''
          nova::network::neutron::neutron_password: {get_param: NeutronPassword}
          nova::network::neutron::neutron_url: {get_param: [EndpointMap, NeutronInternal, uri]}
          nova::network::neutron::neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
          nova::rabbit_heartbeat_timeout_threshold: 60
          nova::cinder_catalog_info: 'volumev2:cinderv2:internalURL'
          nova::host: '%{::fqdn}'
          nova::notify_on_state_change: 'vm_and_task_state'
          nova::notification_driver: messagingv2
          nova::network::neutron::neutron_auth_type: 'v3password'
          nova::db::database_db_max_retries: -1
          nova::db::database_max_retries: -1
          nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
          nova::use_ipv6: {get_param: NovaIPv6}
          nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge}
        - 
          if:
          - compute_upgrade_level_empty
          - {}
          - nova::upgrade_level_compute: {get_param: UpgradeLevelNovaCompute}
      service_config_settings:
        mysql:
          nova::rabbit_password: {get_param: RabbitPassword}
          nova::rabbit_userid: {get_param: RabbitUserName}
          nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
          nova::rabbit_port: {get_param: RabbitClientPort}