From acaf991ae5330263a04b8d52321579a86ee79789 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Sun, 4 Jun 2017 00:14:29 -0400 Subject: Add support for os-odl-fdio-dvr scenarios Change-Id: I6a83c9e2deeb0df9a3ab09a707c9c64aa84da55e Signed-off-by: Feng Pan --- environments/neutron-opendaylight-fdio-dvr.yaml | 28 +++++++++++ puppet/services/neutron-odl-honeycomb-agent.yaml | 6 +++ puppet/services/vpp-ctlplane-ip.yaml | 59 ++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 environments/neutron-opendaylight-fdio-dvr.yaml create mode 100644 puppet/services/vpp-ctlplane-ip.yaml diff --git a/environments/neutron-opendaylight-fdio-dvr.yaml b/environments/neutron-opendaylight-fdio-dvr.yaml new file mode 100644 index 00000000..36882b73 --- /dev/null +++ b/environments/neutron-opendaylight-fdio-dvr.yaml @@ -0,0 +1,28 @@ +# A Heat environment that can be used to deploy OpenDaylight with Honeycomb Agent +resource_registry: + 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::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::ComputeNeutronMetadataAgent: ../puppet/services/neutron-metadata.yaml + +parameter_defaults: + NeutronNetworkType: 'vxlan' + 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" + NeutronEnableForceMetadata: true + NeutronMechanismDrivers: 'opendaylight_v2' + NeutronServicePlugins: 'odl-router_v2' + OpenDaylightEnableL3: "'yes'" + #Opendaylight Port binding controller + OpenDaylightPortBindingController: 'pseudo-agentdb-binding' + #URI for neutron hostconfig in Opendaylight + OpenDaylightHostconfURI: 'restconf/operational/neutron:neutron/hostconfigs' + ExtraConfig: + neutron::agents::dhcp::interface_driver: "neutron.agent.linux.interface.NSDriver" diff --git a/puppet/services/neutron-odl-honeycomb-agent.yaml b/puppet/services/neutron-odl-honeycomb-agent.yaml index 38308da7..9b406af9 100644 --- a/puppet/services/neutron-odl-honeycomb-agent.yaml +++ b/puppet/services/neutron-odl-honeycomb-agent.yaml @@ -70,5 +70,11 @@ outputs: dport: - {get_param: HoneycombRestPort} - {get_param: HoneycombNetconfSSHPort} + '144 Lisp ports': + dport: + - 4341 + - 4342 + proto: udp + step_config: | include ::tripleo::profile::base::neutron::agents::honeycomb diff --git a/puppet/services/vpp-ctlplane-ip.yaml b/puppet/services/vpp-ctlplane-ip.yaml new file mode 100644 index 00000000..0ec7f1e6 --- /dev/null +++ b/puppet/services/vpp-ctlplane-ip.yaml @@ -0,0 +1,59 @@ +heat_template_version: newton + +description: > + Vpp service with ctlplane IP configured with Puppet + +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 + VppCpuMainCore: + default: '' + description: VPP main thread core pinning. + type: string + VppCpuCorelistWorkers: + default: '' + description: List of cores for VPP worker thread pinning + type: string + MonitoringSubscriptionVpp: + default: 'overcloud-vpp' + type: string + +resources: + VppCtlplaneIp: + type: OS::Neutron::Port + properties: + network: ctlplane + name: 'VPP IP' + replacement_policy: AUTO + +outputs: + role_data: + description: Role data for the Vpp role. + value: + service_name: vpp + monitoring_subscription: {get_param: MonitoringSubscriptionVpp} + config_settings: + # Core pinning is being set in controller_extraconfig and compute_extraconfig to allow + # role specifc settings + #fdio::vpp_cpu_main_core: {get_param: VppCpuMainCore} + #fdio::vpp_cpu_corelist_workers: {get_param: VppCpuCorelistWorkers} + vpp_ctlplane_cidr: + list_join: + - '' + - - {get_attr: [VppCtlplaneIp, fixed_ips, 0, ip_address]} + - '/' + - {str_split: ['/', {get_attr: [VppCtlplaneIp, subnets, 0, cidr]}, 1]} + step_config: | + include ::tripleo::profile::base::vpp -- cgit 1.2.3-korg