heat_template_version: ocata description: Configure hieradata for Cisco N1KV configuration parameters: server: description: ID of the controller node to apply this config to type: string # Config specific parameters, to be provided via parameter_defaults N1000vVSMIP: type: string default: '192.0.2.50' N1000vVSMDomainID: type: number default: 100 N1000vVSMIPV6: type: string default: '::1' N1000vVEMHostMgmtIntf: type: string default: 'br-ex' N1000vUplinkProfile: type: string default: '{eth1: system-uplink,}' N1000vVtepConfig: type: string default: '{}' N1000vVEMSource: type: string default: '' N1000vVEMVersion: type: string default: '' N1000vPortDB: type: string default: 'ovs' N1000vVtepsInSameSub: type: boolean default: false N1000vVEMFastpathFlood: type: string default: 'enable' #VSM Puppet Parameter N1000vVSMSource: type: string default: '' N1000vVSMVersion: type: string default: 'latest' N1000vVSMHostMgmtIntf: type: string default: 'br-ex' N1000vVSMRole: type: string default: 'primary' N1000vVSMPassword: type: string default: 'Password' N1000vMgmtNetmask: type: string default: '255.255.255.0' N1000vMgmtGatewayIP: type: string default: '192.0.2.1' N1000vPacemakerControl: type: boolean default: true N1000vExistingBridge: type: boolean default: true N1000vVSMHostMgmtIntfVlan: type: number default: 0 #Plugin Parameters N1000vVSMUser: type: string default: 'admin' N1000vPollDuration: type: number default: 60 N1000vHttpPoolSize: type: number default: 5 N1000vHttpTimeout: type: number default: 15 N1000vSyncInterval: type: number default: 300 N1000vMaxVSMRetries: type: number default: 2 resources: CiscoN1kvConfig: type: OS::Heat::StructuredConfig properties: group: os-apply-config config: hiera: datafiles: cisco_n1kv_data: mapped_data: #enable_cisco_n1kv: {get_input: EnableCiscoN1kv} # VEM Parameters n1kv_vem_source: {get_input: n1kv_vem_source} n1kv_vem_version: {get_input: n1kv_vem_version} neutron::agents::n1kv_vem::n1kv_vsm_ip: {get_input: n1kv_vsm_ip} neutron::agents::n1kv_vem::n1kv_vsm_domain_id: {get_input: n1kv_vsm_domain_id} neutron::agents::n1kv_vem::n1kv_vsm_ip_v6: {get_input: n1kv_vsm_ip_v6} neutron::agents::n1kv_vem::host_mgmt_intf: {get_input: n1kv_vem_host_mgmt_intf} neutron::agents::n1kv_vem::uplink_profile: {get_input: n1kv_vem_uplink_profile} neutron::agents::n1kv_vem::vtep_config: {get_input: n1kv_vem_vtep_config} neutron::agents::n1kv_vem::portdb: {get_input: n1kv_vem_portdb} neutron::agents::n1kv_vem::vteps_in_same_subnet: {get_input: n1kv_vem_vteps_in_same_subnet} neutron::agents::n1kv_vem::fastpath_flood: {get_input: n1kv_vem_fastpath_flood} #VSM Parameter n1kv_vsm_source: {get_input: n1kv_vsm_source} n1kv_vsm_version: {get_input: n1kv_vsm_version} n1k_vsm::phy_if_bridge: {get_input: n1kv_vsm_host_mgmt_intf} n1k_vsm::vsm_role: {get_input: n1kv_vsm_role} n1k_vsm::pacemaker_control: {get_input: n1kv_vsm_pacemaker_ctrl} n1k_vsm::existing_bridge: {get_input: n1kv_vsm_existing_br} n1k_vsm::vsm_admin_passwd: {get_input: n1kv_vsm_password} n1k_vsm::vsm_domain_id: {get_input: n1kv_vsm_domain_id} n1k_vsm::vsm_mgmt_ip: {get_input: n1kv_vsm_ip} n1k_vsm::vsm_mgmt_netmask: {get_input: n1kv_vsm_mgmt_netmask} n1k_vsm::vsm_mgmt_gateway: {get_input: n1kv_vsm_gateway_ip} n1k_vsm::phy_gateway: {get_input: n1kv_vsm_gateway_ip} n1k_vsm::phy_bridge_vlan: {get_input: n1kv_phy_brige_vlan} # Cisco N1KV driver Parameters neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_ip: {get_input: n1kv_vsm_ip} neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_username: {get_input: n1kv_vsm_username} neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_password: {get_input: n1kv_vsm_password} neutron::plugins::ml2::cisco::nexus1000v::poll_duration: {get_input: n1kv_vsm_poll_duration} neutron::plugins::ml2::cisco::nexus1000v::http_pool_size: {get_input: n1kv_vsm_http_pool_size} neutron::plugins::ml2::cisco::nexus1000v::http_timeout: {get_input: n1kv_vsm_http_timeout} neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_sync_interval: {get_input: n1kv_vsm_sync_interval} neutron::plugins::ml2::cisco::nexus1000v::max_vsm_retries: {get_input: n1kv_max_vsm_retries} CiscoN1kvDeployment: type: OS::Heat::StructuredDeployment properties: name: CiscoN1kvDeployment config: {get_resource: CiscoN1kvConfig} server: {get_param: server} input_values: n1kv_vsm_ip: {get_param: N1000vVSMIP} n1kv_vsm_domain_id: {get_param: N1000vVSMDomainID} n1kv_vsm_ip_v6: {get_param: N1000vVSMIPV6} n1kv_vem_host_mgmt_intf: {get_param: N1000vVEMHostMgmtIntf} n1kv_vem_uplink_profile: {get_param: N1000vUplinkProfile} n1kv_vem_vtep_config: {get_param: N1000vVtepConfig} n1kv_vem_source: {get_param: N1000vVEMSource} n1kv_vem_version: {get_param: N1000vVEMVersion} n1kv_vem_portdb: {get_param: N1000vPortDB} n1kv_vem_vteps_in_same_subnet: {get_param: N1000vVtepsInSameSub} n1kv_vem_fastpath_flood: {get_param: N1000vVEMFastpathFlood} n1kv_vsm_source: {get_param: N1000vVSMSource} n1kv_vsm_version: {get_param: N1000vVSMVersion} n1kv_vsm_host_mgmt_intf: {get_param: N1000vVSMHostMgmtIntf} n1kv_vsm_role: {get_param: N1000vVSMRole} n1kv_vsm_password: {get_param: N1000vVSMPassword} n1kv_vsm_mgmt_netmask: {get_param: N1000vMgmtNetmask} n1kv_vsm_gateway_ip: {get_param: N1000vMgmtGatewayIP} n1kv_phy_brige_vlan: {get_param: N1000vVSMHostMgmtIntfVlan} n1kv_vsm_pacemaker_ctrl: {get_param: N1000vPacemakerControl} n1kv_vsm_existing_br: {get_param: N1000vExistingBridge} n1kv_vsm_username: {get_param: N1000vVSMUser} n1kv_vsm_poll_duration: {get_param: N1000vPollDuration} n1kv_vsm_http_pool_size: {get_param: N1000vHttpPoolSize} n1kv_vsm_http_timeout: {get_param: N1000vHttpTimeout} n1kv_vsm_sync_interval: {get_param: N1000vSyncInterval} n1kv_max_vsm_retries: {get_param: N1000vMaxVSMRetries} outputs: deploy_stdout: description: Deployment reference, used to trigger puppet apply on changes value: {get_attr: [CiscoN1kvDeployment, deploy_stdout]}