# A Heat environment that can be used to deploy OpenDaylight with Honeycomb Agent
resource_registry:
+ OS::TripleO::NodeExtraConfig: ../puppet/extraconfig/all_nodes/vpp-admin-ip.yaml
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml
OS::TripleO::Services::OpenDaylightApi: ../puppet/services/opendaylight-api.yaml
OS::TripleO::Services::NeutronHoneycombAgent: ../puppet/services/neutron-odl-honeycomb-agent.yaml
- OS::TripleO::Services::Vpp: ../puppet/services/vpp-ctlplane-ip.yaml
+ OS::TripleO::Services::Vpp: ../puppet/services/vpp.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronMetadataAgent: ../puppet/services/neutron-metadata.yaml
NeutronL3HA: false
#NUMATopologyFilter is required for vhostuser interfaces
#NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter"
- OpenDaylightFeatures: "odl-restconf,odl-netconf-all,odl-groupbasedpolicy-neutron-vpp-mapper,odl-lispflowmapping-msmr"
+ OpenDaylightFeatures: "odl-restconf,odl-netconf,odl-vbd,odl-groupbasedpolicy-neutron-vpp-mapper,odl-groupbasedpolicy-vpp,odl-lispflowmapping-msmr,odl-lispflowmapping-mappingservice-shell"
NeutronEnableForceMetadata: true
NeutronMechanismDrivers: 'opendaylight_v2'
NeutronServicePlugins: 'odl-router_v2'
NeutronL3HA: false
#NUMATopologyFilter is required for vhostuser interfaces
#NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter"
- OpenDaylightFeatures: "odl-netconf-all,odl-vbd,odl-groupbasedpolicy-neutron-vpp-mapper,odl-restconf"
+ OpenDaylightFeatures: "odl-restconf,odl-netconf,odl-vbd,odl-groupbasedpolicy-neutron-vpp-mapper,odl-groupbasedpolicy-vpp"
NeutronEnableForceMetadata: true
NeutronMechanismDrivers: 'opendaylight_v2'
NeutronServicePlugins: 'odl-router_v2'
- midonet_data # Optionally provided by AllNodesExtraConfig
- neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
- cisco_aci_data # Optionally provided by ComputeExtraConfigPre
+ - vpp_data # Optionally provided by NodeExtraConfig
- common # provided by os-net-config
merge_behavior: deeper
datafiles:
- cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
- midonet_data #Optionally provided by AllNodesExtraConfig
- cisco_aci_data # Optionally provided by ControllerExtraConfigPre
+ - vpp_data # Optionally provided by NodeExtraConfig
- common # provided by os-net-config
merge_behavior: deeper
datafiles:
--- /dev/null
+heat_template_version: ocata
+
+description: Configure hieradata for Network Cisco configuration
+
+parameters:
+ # Parameters passed from the parent template
+ server:
+ type: string
+
+resources:
+ VppCtlplaneIp:
+ type: OS::Neutron::Port
+ properties:
+ network: ctlplane
+ name: 'VPP IP'
+ replacement_policy: AUTO
+
+ VppAdminIpConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: hiera
+ config:
+ datafiles:
+ vpp_data:
+ map_merge:
+ - vpp_ctlplane_cidr:
+ list_join:
+ - ''
+ - - {get_attr: [VppCtlplaneIp, fixed_ips, 0, ip_address]}
+ - '/'
+ - {str_split: ['/', {get_attr: [VppCtlplaneIp, subnets, 0, cidr]}, 1]}
+
+ VppAdminIpDeployment:
+ type: OS::Heat::SoftwareDeployment
+ depends_on: VppCtlplaneIp
+ properties:
+ name: VppAdminIpDeployment
+ config: {get_resource: VppAdminIpConfig}
+ server: {get_param: server}
+ actions: ['CREATE'] # Only do this on CREATE