# A Heat environment file which can be used to enable
# Nuage backend on the compute, configured via puppet
resource_registry:
- OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
- OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-nuage.yaml
+ OS::TripleO::Services::ComputeNeutronCorePlugin: OS::TripleO::Services::ComputeNeutronCorePluginNuage
parameter_defaults:
NuageActiveController: '0.0.0.0'
OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
- PankoAdmin: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoInternal: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoPublic: {protocol: 'https', port: '13779', host: 'CLOUDNAME'}
+ PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}
SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'}
OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'}
- PankoAdmin: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoInternal: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoPublic: {protocol: 'https', port: '13779', host: 'IP_ADDRESS'}
+ PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'}
SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaPublic: {protocol: 'https', port: '13386', host: 'IP_ADDRESS'}
OctaviaAdmin: {protocol: 'https', port: '9876', host: 'IP_ADDRESS'}
OctaviaInternal: {protocol: 'https', port: '9876', host: 'IP_ADDRESS'}
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
- PankoAdmin: {protocol: 'https', port: '8779', host: 'CLOUDNAME'}
- PankoInternal: {protocol: 'https', port: '8779', host: 'CLOUDNAME'}
- PankoPublic: {protocol: 'https', port: '13779', host: 'CLOUDNAME'}
+ PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
+ PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
+ PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}
SaharaAdmin: {protocol: 'https', port: '8386', host: 'CLOUDNAME'}
SaharaInternal: {protocol: 'https', port: '8386', host: 'CLOUDNAME'}
SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'}
resources:
{%- for network in networks %}
- {%- set network_name = network.compat_name|default(network.name) %}
- {{network_name}}Network:
+ {{network.name}}Network:
type: OS::TripleO::Network::{{network.name}}
{%- endfor %}
# NOTE(gfidente): we need to replace the null value with a
# string to work around https://bugs.launchpad.net/heat/+bug/1700025
{%- for network in networks %}
- {%- set network_name = network.compat_name|default(network.name) %}
{{network.name_lower}}:
yaql:
- data: {get_attr: [{{network_name}}Network, subnet_cidr]}
+ data: {get_attr: [{{network.name}}Network, subnet_cidr]}
expression: str($.data).replace('null', 'disabled')
{%- endfor %}
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
- compat_name: Internal
- name: Storage
vip: true
name_lower: storage
# can be the same as NeutronCorePlugin but some vendors install different
# things where VMs run
OS::TripleO::Services::ComputeNeutronCorePlugin: puppet/services/neutron-plugin-ml2.yaml
+ OS::TripleO::Services::ComputeNeutronCorePluginNuage: puppet/services/neutron-compute-plugin-nuage.yaml
# Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
OS::TripleO::Services::NeutronCorePluginML2OVN: puppet/services/neutron-plugin-ml2-ovn.yaml
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
+++ /dev/null
-heat_template_version: pike
-
-description: Configure hieradata for Nuage configuration on the Compute
-
-parameters:
- server:
- description: ID of the compute node to apply this config to
- type: string
-
- NuageActiveController:
- description: IP address of the Active Virtualized Services Controller (VSC)
- type: string
- NuageStandbyController:
- description: IP address of the Standby Virtualized Services Controller (VSC)
- type: string
- NuageMetadataPort:
- description: TCP Port to listen for metadata server requests
- type: string
- default: '9697'
- NuageNovaMetadataPort:
- description: TCP Port used by Nova metadata server
- type: string
- default: '8775'
- NuageMetadataProxySharedSecret:
- description: Shared secret to sign the instance-id request
- type: string
- NuageNovaClientVersion:
- description: Client Version Nova
- type: string
- default: '2'
- NuageNovaOsUsername:
- description: Nova username in keystone_authtoken
- type: string
- default: 'nova'
- NuageMetadataAgentStartWithOvs:
- description: Set to True if nuage-metadata-agent needs to be started with nuage-openvswitch-switch
- type: string
- default: 'True'
- NuageNovaApiEndpoint:
- description: One of publicURL, internalURL, adminURL in "keystone endpoint-list"
- type: string
- default: 'publicURL'
- NuageNovaRegionName:
- description: Region name in "keystone endpoint-list"
- type: string
- default: 'regionOne'
-
-# Declaration of resources for the template.
-resources:
- NovaNuageConfig:
- type: OS::Heat::StructuredConfig
- properties:
- group: hiera
- config:
- datafiles:
- nova_nuage_data:
- mapped_data:
- nuage::vrs::active_controller: {get_input: ActiveController}
- nuage::vrs::standby_controller: {get_input: StandbyController}
- nuage::metadataagent::metadata_port: {get_input: MetadataPort}
- nuage::metadataagent::nova_metadata_port: {get_input: NovaMetadataPort}
- nuage::metadataagent::metadata_secret: {get_input: SharedSecret}
- nuage::metadataagent::nova_client_version: {get_input: NovaClientVersion}
- nuage::metadataagent::nova_os_username: {get_input: NovaOsUsername}
- nuage::metadataagent::metadata_agent_start_with_ovs: {get_input: MetadataAgentStartWithOvs}
- nuage::metadataagent::nova_api_endpoint_type: {get_input: NovaApiEndpointType}
- nuage::metadataagent::nova_region_name: {get_input: NovaRegionName}
-
- NovaNuageDeployment:
- type: OS::Heat::StructuredDeployment
- properties:
- name: NovaNuageDeployment
- config: {get_resource: NovaNuageConfig}
- server: {get_param: server}
- input_values:
- ActiveController: {get_param: NuageActiveController}
- StandbyController: {get_param: NuageStandbyController}
- MetadataPort: {get_param: NuageMetadataPort}
- NovaMetadataPort: {get_param: NuageNovaMetadataPort}
- SharedSecret: {get_param: NuageMetadataProxySharedSecret}
- NovaClientVersion: {get_param: NuageNovaClientVersion}
- NovaOsUsername: {get_param: NuageNovaOsUsername}
- MetadataAgentStartWithOvs: {get_param: NuageMetadataAgentStartWithOvs}
- NovaApiEndpointType: {get_param: NuageNovaApiEndpoint}
- NovaRegionName: {get_param: NuageNovaRegionName}
-
-# Specify output parameters that will be available
-# after the template is instantiated.
-outputs:
- deploy_stdout:
- description: Deployment reference, used to trigger puppet apply on changes
- value: {get_attr: [NovaNuageDeployment, deploy_stdout]}
ARP cache. The garbage collector will always run if there
are more than this number of entries in the cache.
type: number
+ InotifyIntancesMax:
+ default: 1024
+ description: Configures sysctl fs.inotify.max_user_instances key
+ type: number
+
outputs:
role_data:
value: {get_param: NeighbourGcThreshold2}
net.ipv4.neigh.default.gc_thresh3:
value: {get_param: NeighbourGcThreshold3}
+ # set inotify value for neutron/dnsmasq scale
+ fs.inotify.max_user_instances:
+ value: {get_param: InotifyIntancesMax}
+
step_config: |
include ::tripleo::profile::base::kernel
description: TCP Port to listen for metadata server requests
type: string
default: '9697'
+ NuageActiveController:
+ description: IP address of the Active Virtualized Services Controller (VSC)
+ type: string
+ NuageStandbyController:
+ description: IP address of the Standby Virtualized Services Controller (VSC)
+ type: string
+ NuageNovaMetadataPort:
+ description: TCP Port used by Nova metadata server
+ type: string
+ default: '8775'
+ NuageMetadataProxySharedSecret:
+ description: Shared secret to sign the instance-id request
+ type: string
+ NuageNovaClientVersion:
+ description: Client Version Nova
+ type: string
+ default: '2'
+ NuageNovaOsUsername:
+ description: Nova username in keystone_authtoken
+ type: string
+ default: 'nova'
+ NuageMetadataAgentStartWithOvs:
+ description: Set to True if nuage-metadata-agent needs to be started with nuage-openvswitch-switch
+ type: string
+ default: 'True'
+ NuageNovaApiEndpoint:
+ description: One of publicURL, internalURL, adminURL in "keystone endpoint-list"
+ type: string
+ default: 'publicURL'
+ NuageNovaRegionName:
+ description: Region name in "keystone endpoint-list"
+ type: string
+ default: 'regionOne'
outputs:
role_data:
value:
service_name: neutron_compute_plugin_nuage
config_settings:
+ nuage::vrs::active_controller: {get_param: NuageActiveController}
+ nuage::vrs::standby_controller: {get_param: NuageStandbyController}
+ nuage::metadataagent::metadata_port: {get_param: NuageMetadataPort}
+ nuage::metadataagent::nova_metadata_port: {get_param: NuageNovaMetadataPort}
+ nuage::metadataagent::metadata_secret: {get_param: NuageMetadataProxySharedSecret}
+ nuage::metadataagent::nova_client_version: {get_param: NuageNovaClientVersion}
+ nuage::metadataagent::nova_os_username: {get_param: NuageNovaOsUsername}
+ nuage::metadataagent::metadata_agent_start_with_ovs: {get_param: NuageMetadataAgentStartWithOvs}
+ nuage::metadataagent::nova_api_endpoint_type: {get_param: NuageNovaApiEndpoint}
+ nuage::metadataagent::nova_region_name: {get_param: NuageNovaRegionName}
tripleo::profile::base::neutron::agents::nuage::nova_os_tenant_name: 'service'
tripleo::profile::base::neutron::agents::nuage::nova_os_password: {get_param: NovaPassword}
tripleo::profile::base::neutron::agents::nuage::nova_auth_ip: {get_param: [EndpointMap, KeystoneInternal, host]}
--- /dev/null
+---
+fixes:
+ - |
+ Fixes heat resource OS::TripleO::Network::Internal to be renamed back to
+ OS::TripleO::Network::InternalApi for backwards compatibility with
+ previous versions.
OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'}
- PankoAdmin: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoInternal: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoPublic: {protocol: 'https', port: '13779', host: 'IP_ADDRESS'}
+ PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'}
SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaPublic: {protocol: 'https', port: '13386', host: 'IP_ADDRESS'}
OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'}
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
- PankoAdmin: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoInternal: {protocol: 'http', port: '8779', host: 'IP_ADDRESS'}
- PankoPublic: {protocol: 'https', port: '13779', host: 'CLOUDNAME'}
+ PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'}
+ PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}
SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'}
SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'}
OctaviaAdmin: {protocol: 'https', port: '9876', host: 'IP_ADDRESS'}
OctaviaInternal: {protocol: 'https', port: '9876', host: 'IP_ADDRESS'}
OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'}
- PankoAdmin: {protocol: 'https', port: '8779', host: 'CLOUDNAME'}
- PankoInternal: {protocol: 'https', port: '8779', host: 'CLOUDNAME'}
- PankoPublic: {protocol: 'https', port: '13779', host: 'CLOUDNAME'}
+ PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
+ PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'}
+ PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'}
SaharaAdmin: {protocol: 'https', port: '8386', host: 'CLOUDNAME'}
SaharaInternal: {protocol: 'https', port: '8386', host: 'CLOUDNAME'}
SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'}