Re-organizes Contrail services to the correct roles

In current setup some Contrail services belong to the wrong roles.
The Contrail control plane can be impacted if the Analytics database has
problems.

Change-Id: I0d57a2324c38b5b20cc687c6217a7a364941f7e6
Depends-On: Id0dd35b95c5fe9d0fcc1e16c4b7d6cc601f10818
Closes-Bug: #1659560
This commit is contained in:
Michael Henkel 2017-01-26 15:24:04 +01:00
parent 4774913d09
commit da91bb6e1e
27 changed files with 3427 additions and 327 deletions

View File

@ -0,0 +1,26 @@
resource_registry:
OS::TripleO::Compute::Net::SoftwareConfig: contrail-nic-config-compute.yaml
OS::TripleO::Controller::Net::SoftwareConfig: contrail-nic-config.yaml
OS::TripleO::ContrailController::Net::SoftwareConfig: contrail-nic-config.yaml
OS::TripleO::ContrailAnalytics::Net::SoftwareConfig: contrail-nic-config.yaml
OS::TripleO::ContrailAnalyticsDatabase::Net::SoftwareConfig: contrail-nic-config.yaml
OS::TripleO::ContrailTsn::Net::SoftwareConfig: contrail-nic-config-compute.yaml
parameter_defaults:
ControlPlaneSubnetCidr: '24'
ControlPlaneDefaultRoute: 192.0.2.254
InternalApiNetCidr: 10.0.0.0/24
InternalApiAllocationPools: [{'start': '10.0.0.10', 'end': '10.0.0.200'}]
InternalApiDefaultRoute: 10.0.0.1
ManagementNetCidr: 10.1.0.0/24
ManagementAllocationPools: [{'start': '10.1.0.10', 'end': '10.1.0.200'}]
ManagementInterfaceDefaultRoute: 10.1.0.1
ExternalNetCidr: 10.2.0.0/24
ExternalAllocationPools: [{'start': '10.2.0.10', 'end': '10.2.0.200'}]
EC2MetadataIp: 192.0.2.1 # Generally the IP of the Undercloud
DnsServers: ["8.8.8.8","8.8.4.4"]
VrouterPhysicalInterface: eth1
VrouterGateway: 10.0.0.1
VrouterNetmask: 255.255.255.0
ControlVirtualInterface: eth0
PublicVirtualInterface: vlan10

View File

@ -0,0 +1,167 @@
heat_template_version: ocata
description: >
Software Config to drive os-net-config to configure multiple interfaces
for the compute role. This is an example for a Nova compute node using
Contrail vrouter and the vhost0 interface.
parameters:
ControlPlaneIp:
default: ''
description: IP address/subnet on the ctlplane network
type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal API network
type: string
InternalApiDefaultRoute: # Not used by default in this template
default: '10.0.0.1'
description: The default route of the internal api network.
type: string
StorageIpSubnet:
default: ''
description: IP address/subnet on the storage network
type: string
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage mgmt network
type: string
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
type: string
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
type: string
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
type: number
StorageNetworkVlanID:
default: 30
description: Vlan ID for the storage network traffic.
type: number
StorageMgmtNetworkVlanID:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
TenantNetworkVlanID:
default: 50
description: Vlan ID for the tenant network traffic.
type: number
ManagementNetworkVlanID:
default: 60
description: Vlan ID for the management network traffic.
type: number
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
type: string
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute: # Not used by default in this template
default: '10.0.0.1'
description: The default route of the external network.
type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template
default: unset
description: The default route of the management network.
type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
type: comma_delimited_list
EC2MetadataIp: # Override this via parameter_defaults
description: The IP address of the EC2 metadata server.
type: string
resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: ../../scripts/run-os-net-config.sh
params:
$network_config:
network_config:
- type: interface
name: nic1
use_dhcp: false
dns_servers:
get_param: DnsServers
addresses:
- ip_netmask:
list_join:
- '/'
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- ip_netmask: 169.254.169.254/32
next_hop:
get_param: EC2MetadataIp
- type: interface
name: nic2
use_dhcp: false
- type: interface
name: vhost0
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
routes:
- default: true
next_hop:
get_param: InternalApiDefaultRoute
- type: linux_bridge
name: br0
use_dhcp: false
members:
- type: interface
name: nic3
- type: vlan
vlan_id:
get_param: ManagementNetworkVlanID
device: br0
addresses:
- ip_netmask:
get_param: ManagementIpSubnet
- type: vlan
vlan_id:
get_param: ExternalNetworkVlanID
device: br0
addresses:
- ip_netmask:
get_param: ExternalIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: br0
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
device: br0
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl

View File

@ -0,0 +1,45 @@
# A Heat environment file which can be used to enable OpenContrail
# # extensions, configured via puppet
resource_registry:
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginContrail
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::TripleO::Services::ComputeNeutronCorePluginContrail
OS::TripleO::NodeUserData: ../../firstboot/install_vrouter_kmod.yaml
OS::TripleO::Services::ContrailHeat: ../../puppet/services/network/contrail-heat.yaml
OS::TripleO::Services::ContrailAnalytics: ../../puppet/services/network/contrail-analytics.yaml
OS::TripleO::Services::ContrailAnalyticsDatabase: ../../puppet/services/network/contrail-analytics-database.yaml
OS::TripleO::Services::ContrailConfig: ../../puppet/services/network/contrail-config.yaml
OS::TripleO::Services::ContrailControl: ../../puppet/services/network/contrail-control.yaml
OS::TripleO::Services::ContrailDatabase: ../../puppet/services/network/contrail-database.yaml
OS::TripleO::Services::ContrailWebUI: ../../puppet/services/network/contrail-webui.yaml
OS::TripleO::Services::ContrailTsn: ../../puppet/services/network/contrail-tsn.yaml
OS::TripleO::Services::ComputeNeutronCorePluginContrail: ../../puppet/services/network/contrail-vrouter.yaml
OS::TripleO::Services::NeutronCorePluginContrail: ../../puppet/services/network/contrail-neutron-plugin.yaml
parameter_defaults:
ContrailRepo: http://192.168.24.1/contrail-3.2.0.0-19
EnablePackageInstall: true
# ContrailConfigIfmapUserName: api-server
# ContrailConfigIfmapUserPassword: api-server
OvercloudControlFlavor: control
OvercloudContrailControllerFlavor: contrail-controller
OvercloudContrailAnalyticsFlavor: contrail-analytics
OvercloudContrailAnalyticsDatabaseFlavor: contrail-analytics-database
OvercloudContrailTsnFlavor: contrail-tsn
OvercloudComputeFlavor: compute
ControllerCount: 3
ContrailControllerCount: 3
ContrailAnalyticsCount: 3
ContrailAnalyticsDatabaseCount: 3
ContrailTsnCount: 1
ComputeCount: 3
DnsServers: ["8.8.8.8","8.8.4.4"]
NtpServer: 10.0.0.1
NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
NeutronServicePlugins: ''
NeutronTunnelTypes: ''
# NeutronMetadataProxySharedSecret:
# ContrailControlRNDCSecret: # sda1/256 hmac key, e.g. echo -n "values" | openssl dgst -sha256 -hmac key -binary | base64

View File

@ -0,0 +1,237 @@
# Specifies which roles (groups of nodes) will be deployed
# Note this is used as an input to the various *.j2.yaml
# jinja2 templates, so that they are converted into *.yaml
# during the plan creation (via a mistral action/workflow).
#
# The format is a list, with the following format:
#
# * name: (string) mandatory, name of the role, must be unique
#
# CountDefault: (number) optional, default number of nodes, defaults to 0
# sets the default for the {{role.name}}Count parameter in overcloud.yaml
#
# HostnameFormatDefault: (string) optional default format string for hostname
# defaults to '%stackname%-{{role.name.lower()}}-%index%'
# sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml
#
# disable_constraints: (boolean) optional, whether to disable Nova and Glance
# constraints for each role specified in the templates.
#
# upgrade_batch_size: (number): batch size for upgrades where tasks are
# specified by services to run in batches vs all nodes at once.
# This defaults to 1, but larger batches may be specified here.
#
# ServicesDefault: (list) optional default list of services to be deployed
# on the role, defaults to an empty list. Sets the default for the
# {{role.name}}Services parameter in overcloud.yaml
- name: Controller # the 'primary' role goes first
CountDefault: 1
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephMds
- OS::TripleO::Services::CephMon
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CephRbdMirror
- OS::TripleO::Services::CephRgw
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderScheduler
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::ContrailHeat
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Keystone
- OS::TripleO::Services::GlanceApi
- OS::TripleO::Services::HeatApi
- OS::TripleO::Services::HeatApiCfn
- OS::TripleO::Services::HeatApiCloudwatch
- OS::TripleO::Services::HeatEngine
- OS::TripleO::Services::MySQL
- OS::TripleO::Services::NeutronApi
- OS::TripleO::Services::NeutronCorePlugin
- OS::TripleO::Services::RabbitMQ
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
- OS::TripleO::Services::Memcached
- OS::TripleO::Services::Pacemaker
- OS::TripleO::Services::Redis
- OS::TripleO::Services::NovaConductor
- OS::TripleO::Services::MongoDb
- OS::TripleO::Services::NovaApi
- OS::TripleO::Services::NovaPlacement
- OS::TripleO::Services::NovaMetadata
- OS::TripleO::Services::NovaScheduler
- OS::TripleO::Services::NovaConsoleauth
- OS::TripleO::Services::NovaVncProxy
- OS::TripleO::Services::Ec2Api
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::CeilometerApi
- OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CeilometerAgentCentral
- OS::TripleO::Services::CeilometerAgentNotification
- OS::TripleO::Services::Horizon
- OS::TripleO::Services::GnocchiApi
- OS::TripleO::Services::GnocchiMetricd
- OS::TripleO::Services::GnocchiStatsd
- OS::TripleO::Services::ManilaApi
- OS::TripleO::Services::ManilaScheduler
- OS::TripleO::Services::ManilaBackendGeneric
- OS::TripleO::Services::ManilaBackendNetapp
- OS::TripleO::Services::ManilaBackendCephFs
- OS::TripleO::Services::ManilaShare
- OS::TripleO::Services::AodhApi
- OS::TripleO::Services::AodhEvaluator
- OS::TripleO::Services::AodhNotifier
- OS::TripleO::Services::AodhListener
- OS::TripleO::Services::SaharaApi
- OS::TripleO::Services::SaharaEngine
- OS::TripleO::Services::IronicApi
- OS::TripleO::Services::IronicConductor
- OS::TripleO::Services::NovaIronic
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::OpenDaylightApi
- OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::BarbicanApi
- OS::TripleO::Services::PankoApi
- OS::TripleO::Services::Zaqar
- OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::CinderHPELeftHandISCSI
- OS::TripleO::Services::Etcd
- OS::TripleO::Services::AuditD
- name: Compute
CountDefault: 1
HostnameFormatDefault: '%stackname%-novacompute-%index%'
disable_upgrade_deployment: True
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephClient
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::NovaCompute
- OS::TripleO::Services::NovaLibvirt
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::ComputeNeutronCorePlugin
- OS::TripleO::Services::ComputeNeutronOvsAgent
- OS::TripleO::Services::ComputeCeilometerAgent
- OS::TripleO::Services::ComputeNeutronL3Agent
- OS::TripleO::Services::ComputeNeutronMetadataAgent
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::AuditD
- name: BlockStorage
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::BlockStorageCinderVolume
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::AuditD
- name: ObjectStorage
disable_upgrade_deployment: True
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::AuditD
- name: CephStorage
disable_upgrade_deployment: True
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephOSD
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::AuditD
- name: ContrailController
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::ContrailConfig
- OS::TripleO::Services::ContrailControl
- OS::TripleO::Services::ContrailDatabase
- OS::TripleO::Services::ContrailWebUI
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- name: ContrailAnalytics
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::ContrailAnalytics
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- name: ContrailAnalyticsDatabase
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::ContrailAnalyticsDatabase
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- name: ContrailTsn
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::ContrailTsn
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient

View File

@ -1,25 +0,0 @@
# A Heat environment file which can be used to enable OpenContrail
# extensions, configured via puppet
resource_registry:
OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
# Override the NeutronCorePlugin to use Nuage
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginOpencontrail
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-opencontrail.yaml
parameter_defaults:
NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.v2.plugin.LoadBalancerPluginV2
NeutronTunnelTypes: ''
# required params:
#ContrailApiServerIp:
#ContrailExtensions: ''
# optional params
# ContrailApiServerPort: 8082
# ContrailMultiTenancy: false

View File

@ -17,6 +17,39 @@ parameter_defaults:
CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
ContrailAnalyticsApiAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiPublic: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpAdmin: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpInternal: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpPublic: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshAdmin: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshInternal: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshPublic: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsHttpAdmin: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsHttpInternal: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsHttpPublic: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisAdmin: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisInternal: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisPublic: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailConfigAdmin: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailConfigInternal: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailConfigPublic: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailDiscoveryAdmin: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailDiscoveryInternal: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailDiscoveryPublic: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailWebuiHttpAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpsAdmin: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
ContrailWebuiHttpsInternal: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
ContrailWebuiHttpsPublic: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
Ec2ApiAdmin: {protocol: 'http', port: '8788', host: 'IP_ADDRESS'}
Ec2ApiInternal: {protocol: 'http', port: '8788', host: 'IP_ADDRESS'}
Ec2ApiPublic: {protocol: 'https', port: '13788', host: 'CLOUDNAME'}

View File

@ -17,6 +17,39 @@ parameter_defaults:
CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
CinderPublic: {protocol: 'https', port: '13776', host: 'IP_ADDRESS'}
ContrailAnalyticsApiAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiPublic: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpAdmin: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpInternal: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpPublic: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshAdmin: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshInternal: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshPublic: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsHttpAdmin: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsHttpInternal: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsHttpPublic: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisAdmin: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisInternal: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisPublic: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailConfigAdmin: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailConfigInternal: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailConfigPublic: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailDiscoveryAdmin: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailDiscoveryInternal: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailDiscoveryPublic: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailWebuiHttpAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpsAdmin: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
ContrailWebuiHttpsInternal: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
ContrailWebuiHttpsPublic: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
Ec2ApiAdmin: {protocol: 'http', port: '8788', host: 'IP_ADDRESS'}
Ec2ApiInternal: {protocol: 'http', port: '8788', host: 'IP_ADDRESS'}
Ec2ApiPublic: {protocol: 'https', port: '13788', host: 'IP_ADDRESS'}

View File

@ -17,6 +17,39 @@ parameter_defaults:
CinderAdmin: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
CinderInternal: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
ContrailAnalyticsApiAdmin: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiInternal: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsApiPublic: {protocol: 'http', port: '8081', host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpAdmin: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpInternal: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorHttpPublic: {protocol: 'http', port: '8089',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshAdmin: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshInternal: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsCollectorSandeshPublic: {protocol: 'http', port: '8086',
host: 'IP_ADDRESS'}
ContrailAnalyticsHttpAdmin: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsHttpInternal: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsHttpPublic: {protocol: 'http', port: '8090', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisAdmin: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisInternal: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailAnalyticsRedisPublic: {protocol: 'http', port: '6379', host: 'IP_ADDRESS'}
ContrailConfigAdmin: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailConfigInternal: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailConfigPublic: {protocol: 'http', port: '8082', host: 'IP_ADDRESS'}
ContrailDiscoveryAdmin: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailDiscoveryInternal: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailDiscoveryPublic: {protocol: 'http', port: '5998', host: 'IP_ADDRESS'}
ContrailWebuiHttpAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
ContrailWebuiHttpsAdmin: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
ContrailWebuiHttpsInternal: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
ContrailWebuiHttpsPublic: {protocol: 'http', port: '8143', host: 'IP_ADDRESS'}
Ec2ApiAdmin: {protocol: 'https', port: '8788', host: 'CLOUDNAME'}
Ec2ApiInternal: {protocol: 'https', port: '8788', host: 'CLOUDNAME'}
Ec2ApiPublic: {protocol: 'https', port: '13788', host: 'CLOUDNAME'}

View File

@ -0,0 +1,105 @@
heat_template_version: ocata
parameters:
ContrailRepo:
type: string
default: http://192.168.24.1/contrail
VrouterPhysicalInterface:
default: 'eth0'
description: vRouter physical interface
type: string
description: >
Prepares vhost0 interface to be used by os-net-config
resources:
userdata:
type: OS::Heat::MultipartMime
properties:
parts:
- config: {get_resource: vrouter_module_config}
vrouter_module_config:
type: OS::Heat::SoftwareConfig
properties:
config:
str_replace:
template: |
#!/bin/bash
sed -i '/\[main\]/a \ \ \ \ \parser = future' /etc/puppet/puppet.conf
cat <<EOF > /etc/yum.repos.d/contrail.repo
[Contrail]
name=Contrail Repo
baseurl=$contrail_repo
enabled=1
gpgcheck=0
protect=1
EOF
if [[ `hostname |awk -F"-" '{print $2}'` == "novacompute" || `hostname |awk -F"-" '{print $2}'` == "contrailtsn" ]]; then
yum install -y contrail-vrouter-utils
function pkt_setup () {
for f in /sys/class/net/$1/queues/rx-*
do
q="$(echo $f | cut -d '-' -f2)"
r=$(($q%32))
s=$(($q/32))
((mask=1<<$r))
str=(`printf "%x" $mask`)
if [ $s -gt 0 ]; then
for ((i=0; i < $s; i++))
do
str+=,00000000
done
fi
echo $str > $f/rps_cpus
done
ifconfig $1 up
}
function insert_vrouter() {
insmod /tmp/vrouter.ko
if [ -f /sys/class/net/pkt1/queues/rx-0/rps_cpus ]; then
pkt_setup pkt1
fi
if [ -f /sys/class/net/pkt2/queues/rx-0/rps_cpus ]; then
pkt_setup pkt2
fi
if [ -f /sys/class/net/pkt3/queues/rx-0/rps_cpus ]; then
pkt_setup pkt3
fi
DEV_MAC=$(cat /sys/class/net/$phy_int/address)
vif --create vhost0 --mac $DEV_MAC
vif --add $phy_int --mac $DEV_MAC --vrf 0 --vhost-phys --type physical
vif --add vhost0 --mac $DEV_MAC --vrf 0 --type vhost --xconnect $phy_int
ip link set vhost0 up
return 0
}
yumdownloader contrail-vrouter --destdir /tmp
cd /tmp
rpm2cpio /tmp/contrail-vrouter*.rpm | cpio -idmv
cp `find /tmp/lib/modules -name vrouter.ko |tail -1` /tmp
insert_vrouter
if [[ `ifconfig $dev |grep "inet "` ]]; then
def_gw=''
if [[ `ip route show |grep default|grep $dev` ]]; then
def_gw=`ip route show |grep default|grep $dev|awk '{print $3}'`
fi
ip=`ifconfig $dev |grep "inet "|awk '{print $2}'`
mask=`ifconfig $dev |grep "inet "|awk '{print $4}'`
ip address delete $ip/$mask dev $dev
ip address add $ip/$mask dev vhost0
if [[ $def_gw ]]; then
ip route add default via $def_gw
fi
fi
fi
params:
$phy_int: {get_param: VrouterPhysicalInterface}
$contrail_repo: {get_param: ContrailRepo}
outputs:
# This means get_resource from the parent template will get the userdata, see:
# http://docs.openstack.org/developer/heat/template_guide/composition.html#making-your-template-resource-more-transparent
# Note this is new-for-kilo, an alternative is returning a value then using
# get_attr in the parent template instead.
OS::stack_id:
value: {get_resource: userdata}

View File

@ -28,6 +28,87 @@ Ceilometer:
net_param: CeilometerApi
port: 8777
ContrailConfig:
Internal:
net_param: ContrailConfig
Public:
net_param: Public
Admin:
net_param: ContrailConfig
port: 8082
ContrailDiscovery:
Internal:
net_param: ContrailConfig
Public:
net_param: Public
Admin:
net_param: ContrailConfig
port: 5998
ContrailAnalyticsCollectorHttp:
Internal:
net_param: ContrailAnalytics
Public:
net_param: Public
Admin:
net_param: ContrailAnalytics
port: 8089
ContrailAnalyticsApi:
Internal:
net_param: ContrailAnalytics
Public:
net_param: Public
Admin:
net_param: ContrailAnalytics
port: 8081
ContrailAnalyticsHttp:
Internal:
net_param: ContrailAnalytics
Public:
net_param: Public
Admin:
net_param: ContrailAnalytics
port: 8090
ContrailAnalyticsCollectorSandesh:
Internal:
net_param: ContrailAnalytics
Public:
net_param: Public
Admin:
net_param: ContrailAnalytics
port: 8086
ContrailAnalyticsRedis:
Internal:
net_param: ContrailAnalytics
Public:
net_param: Public
Admin:
net_param: ContrailAnalytics
port: 6379
ContrailWebuiHttp:
Internal:
net_param: ContrailConfig
Public:
net_param: Public
Admin:
net_param: ContrailConfig
port: 8080
ContrailWebuiHttps:
Internal:
net_param: ContrailConfig
Public:
net_param: Public
Admin:
net_param: ContrailConfig
port: 8143
Ec2Api:
Internal:
net_param: Ec2Api

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,13 @@ parameters:
ApacheNetwork: internal_api
NeutronTenantNetwork: tenant
CeilometerApiNetwork: internal_api
ContrailAnalyticsNetwork: internal_api
ContrailAnalyticsDatabaseNetwork: internal_api
ContrailConfigNetwork: internal_api
ContrailControlNetwork: internal_api
ContrailDatabaseNetwork: internal_api
ContrailWebuiNetwork: internal_api
ContrailTsnNetwork: internal_api
AodhApiNetwork: internal_api
PankoApiNetwork: internal_api
BarbicanApiNetwork: internal_api

View File

@ -154,7 +154,6 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginML2OVN: puppet/services/neutron-plugin-ml2-ovn.yaml
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
OS::TripleO::Services::NeutronCorePluginOpencontrail: puppet/services/neutron-plugin-opencontrail.yaml
OS::TripleO::Services::OVNDBs: OS::Heat::None
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml
@ -228,11 +227,6 @@ resource_registry:
OS::TripleO::Services::OpenDaylightApi: OS::Heat::None
OS::TripleO::Services::OpenDaylightOvs: OS::Heat::None
OS::TripleO::Services::SensuClient: OS::Heat::None
OS::TripleO::Services::ContrailAnalytics: puppet/services/network/contrail-analytics.yaml
OS::TripleO::Services::ContrailConfig: puppet/services/network/contrail-config.yaml
OS::TripleO::Services::ContrailControl: puppet/services/network/contrail-control.yaml
OS::TripleO::Services::ContrailDatabase: puppet/services/network/contrail-database.yaml
OS::TripleO::Services::ContrailWebui: puppet/services/network/contrail-webui.yaml
OS::TripleO::Services::TLSProxyBase: OS::Heat::None
OS::TripleO::Services::Zaqar: OS::Heat::None
OS::TripleO::Services::NeutronML2FujitsuCfab: OS::Heat::None

View File

@ -1,59 +0,0 @@
heat_template_version: ocata
description: Compute node hieradata for Neutron OpenContrail configuration
parameters:
server:
description: ID of the compute node to apply this config to
type: string
ContrailApiServerIp:
description: IP address of the OpenContrail API server
type: string
ContrailApiServerPort:
description: Port of the OpenContrail API
type: string
default: 8082
resources:
ComputeContrailConfig:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
hiera:
datafiles:
neutron_opencontrail_data:
mapped_data:
nova::network::neutron::network_api_class: nova.network.neutronv2.api.API
contrail::vrouter::provision_vrouter::api_address: {get_input: contrail_api_server_ip}
contrail::vrouter::provision_vrouter::api_port: {get_input: contrail_api_server_port}
contrail::vrouter::provision_vrouter::keystone_admin_user: admin
contrail::vrouter::provision_vrouter::keystone_admin_tenant_name: admin
contrail::vrouter::provision_vrouter::keystone_admin_password: '"%{::admin_password}"'
contrail::vnc_api::vnc_api_config:
'auth/AUTHN_TYPE':
value: keystone
'auth/AUTHN_PROTOCOL':
value: http
'auth/AUTHN_SERVER':
value: "%{hiera('keystone_admin_api_vip')}"
'auth/AUTHN_PORT':
value: 35357
'auth/AUTHN_URL':
value: '/v2.0/tokens'
ComputeContrailDeployment:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: ComputeContrailConfig}
server: {get_param: server}
input_values:
contrail_api_server_ip: {get_param: ContrailApiServerIp}
contrail_api_server_port: {get_param: ContrailApiServerPort}
outputs:
deploy_stdout:
description: Output of the extra hiera data deployment
value: {get_attr: [ComputeContrailDeployment, deploy_stdout]}

View File

@ -0,0 +1,43 @@
heat_template_version: ocata
description: >
Contrail Analytics Database service deployment using puppet, this YAML file
creates the interface between the HOT template
and the puppet manifest that actually installs
and configures Contrail Analytics Database.
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
resources:
ContrailBase:
type: ./contrail-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role Contrail Analytics Database using composable services.
value:
service_name: contrail_analytics_database
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::analytics::database::host_ip: {get_param: [ServiceNetMap, ContrailAnalyticsDatabaseNetwork]}
step_config: |
include ::tripleo::network::contrail::analyticsdatabase

View File

@ -21,44 +21,6 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContrailAnalyticsHostIP:
description: host IP address of Analytics
type: string
ContrailAnalyticsRedisServerIp:
description: Redis server ip address
type: string
ContrailAnalyticsCollectorServerHttpPort:
description: Collector http port
type: number
default: 8089
ContrailAnalyticsCollectorSandeshPort:
description: Collector sandesh port
type: number
default: 8086
ContrailAnalyticsHttpServerPort:
description: Analytics http port
type: number
default: 8090
ContrailAnalyticsListenAddress:
default: '0.0.0.0'
description: IP address Config API is listening on
type: string
ContrailAnalyticsListenPort:
default: 8082
description: Port Config API is listening on
type: number
ContrailAnalyticsRedisServerPort:
description: Redis server port
type: number
default: 6379
ContrailAnalyticsRestApiIp:
description: IP address Analytics rest interface listens on
type: string
default: '0.0.0.0'
ContrailAnalyticsRestApiPort:
description: Analytics rest port
type: number
default: 8081
resources:
ContrailBase:
@ -76,15 +38,14 @@ outputs:
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::analytics::collector_http_server_port: {get_param: ContrailAnalyticsCollectorServerHttpPort}
contrail::analytics::collector_sandesh_port: {get_param: ContrailAnalyticsCollectorSandeshPort}
contrail::analytics::host_ip: {get_param: ContrailAnalyticsHostIP}
contrail::analytics::http_server_port: {get_param: ContrailAnalyticsHttpServerPort}
contrail::analytics::listen_ip_address: {get_param: ContrailAnalyticsListenAddress}
contrail::analytics::listen_port: {get_param: ContrailAnalyticsListenPort}
contrail::analytics::redis_server: {get_param: ContrailAnalyticsRedisServerIp}
contrail::analytics::redis_server_port: {get_param: ContrailAnalyticsRedisServerPort}
contrail::analytics::rest_api_ip: {get_param: ContrailAnalyticsRestApiIp}
contrail::analytics::rest_api_port: {get_param: ContrailAnalyticsRestApiPort}
- contrail::analytics::collector_http_server_port: {get_param: [EndpointMap, ContrailAnalyticsCollectorHttpInternal, port]}
contrail::analytics::collector_sandesh_port: {get_param: [EndpointMap, ContrailAnalyticsCollectorSandeshInternal, port]}
contrail::analytics::host_ip: {get_param: [ServiceNetMap, ContrailAnalyticsNetwork]}
contrail::analytics::http_server_port: {get_param: [EndpointMap, ContrailAnalyticsHttpInternal, port]}
contrail::analytics::listen_ip_address: {get_param: [ServiceNetMap, ContrailAnalyticsNetwork]}
contrail::analytics::redis_server: '127.0.0.1'
contrail::analytics::redis_server_port: {get_param: [EndpointMap, ContrailAnalyticsRedisInternal, port]}
contrail::analytics::rest_api_ip: {get_param: [ServiceNetMap, ContrailAnalyticsNetwork]}
contrail::analytics::rest_api_port: {get_param: [EndpointMap, ContrailAnalyticsApiInternal, port]}
step_config: |
include ::tripleo::network::contrail::analytics

View File

@ -18,47 +18,42 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContrailAAAMode:
description: AAAmode can be no-auth, cloud-admin or rbac
type: string
default: 'rbac'
ContrailAAAModeAnalytics:
description: AAAmode for analytics can be no-auth, cloud-admin or rbac
type: string
default: 'no-auth'
AdminPassword:
description: Keystone admin user password
type: string
hidden: true
AdminTenantName:
description: Keystone admin tenant name
type: string
default: 'admin'
AdminToken:
description: Keystone admin token
type: string
hidden: true
AdminUser:
description: Keystone admin user name
type: string
AuthHost:
description: Keystone host IP address
type: string
AuthPort:
default: 35357
description: Keystone port
default: 'admin'
AuthPortSSL:
default: 13357
description: Keystone SSL port
type: number
AuthPortSSLPublic:
default: 13000
description: Keystone Public SSL port
type: number
AuthProtocol:
default: 'http'
description: Keystone authentication protocol
type: string
ContrailDiscoveryServerIp:
description: Discovery server ip address
type: string
ContrailKafkaBrokerList:
description: List of kafka servers
type: comma_delimited_list
ContrailAuth:
default: 'keystone'
description: Keystone authentication method
type: string
ContrailCassandraServerList:
default: []
description: List of cassandra servers
type: comma_delimited_list
ContrailDiscoveryServerPort:
description: Discovery server port
type: number
default: 5998
ContrailInsecure:
default: false
description: Keystone insecure mode
@ -67,14 +62,18 @@ parameters:
default: '127.0.0.1:12111'
description: Memcached server
type: string
ContrailMultiTenancy:
default: true
description: Turn on/off multi-tenancy
type: boolean
ContrailZkServerIp:
default: []
description: List of zookeeper servers
type: comma_delimited_list
RabbitPassword:
description: The password for RabbitMQ
type: string
hidden: true
RabbitUserName:
default: guest
description: The username for RabbitMQ
type: string
RabbitClientPort:
default: 5672
description: Set rabbit subscriber port, change this if using SSL
type: number
outputs:
role_data:
@ -82,19 +81,23 @@ outputs:
value:
service_name: contrail_base
config_settings:
contrail::aaa_mode: {get_param: ContrailAAAMode}
contrail::analytics_aaa_mode: {get_param: ContrailAAAModeAnalytics}
contrail::admin_password: {get_param: AdminPassword}
contrail::admin_tenant_name: {get_param: AdminTenantName}
contrail::admin_token: {get_param: AdminToken}
contrail::admin_user: {get_param: AdminUser}
contrail::auth_host: {get_param: [EndpointMap, KeystoneInternal, host] }
contrail::auth_port: {get_param: [EndpointMap, KeystoneInternal, port] }
contrail::auth_protocol: {get_param: [EndpointMap, KeystoneInternal, protocol] }
contrail::disc_server_ip: {get_param: ContrailDiscoveryServerIp}
contrail::kafka_broker_list: {get_param: ContrailKafkaBrokerList}
contrail::auth: {get_param: ContrailAuth}
contrail::cassandra_server_list: {get_param: ContrailCassandraServerList}
contrail::disc_server_port: {get_param: ContrailDiscoveryServerPort}
contrail::auth_host: {get_param: [EndpointMap, KeystonePublic, host] }
contrail::auth_port: {get_param: [EndpointMap, KeystoneAdmin, port] }
contrail::auth_port_ssl: {get_param: AuthPortSSL }
contrail::auth_port_public: {get_param: [EndpointMap, KeystonePublic, port] }
contrail::auth_port_ssl_public: {get_param: AuthPortSSLPublic }
contrail::auth_protocol: {get_param: [EndpointMap, KeystoneInternal, protocol] }
contrail::api_port: {get_param: [EndpointMap, ContrailConfigInternal, port] }
contrail::disc_server_port: {get_param: [EndpointMap, ContrailDiscoveryInternal, port] }
contrail::insecure: {get_param: ContrailInsecure}
contrail::memcached_server: {get_param: ContrailMemcachedServer}
contrail::multi_tenancy: {get_param: ContrailMultiTenancy}
contrail::zk_server_ip: {get_param: ContrailZkServerIp}
contrail::rabbit_password: {get_param: RabbitPassword}
contrail::rabbit_user: {get_param: RabbitUserName}
contrail::rabbit_port: {get_param: RabbitClientPort}

View File

@ -21,29 +21,14 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContrailConfigIfmapServerIp:
description: Ifmap server ip address
type: string
ContrailConfigIfmapUserName:
description: Ifmap user name
type: string
default: 'api-server'
ContrailConfigIfmapUserPassword:
description: Ifmap user password
type: string
ContrailConfigRabbitServerIp:
description: RabbitMq server ip address
type: string
ContrailConfigRedisServerIp:
description: Redis server ip address
type: string
ContrailConfigListenAddress:
default: '0.0.0.0'
description: IP address Config API is listening on
type: string
ContrailConfigListenPort:
default: 8082
description: Port Config API is listening on
type: number
default: 'api-server'
resources:
ContrailBase:
@ -62,11 +47,10 @@ outputs:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::config::ifmap_password: {get_param: ContrailConfigIfmapUserPassword}
contrail::config::ifmap_server_ip: {get_param: ContrailConfigIfmapServerIp}
contrail::config::ifmap_username: {get_param: ContrailConfigIfmapUserName}
contrail::config::listen_ip_address: {get_param: ContrailConfigListenAddress}
contrail::config::listen_port: {get_param: ContrailConfigListenPort}
contrail::config::rabbit_server: {get_param: ContrailConfigRabbitServerIp}
contrail::config::redis_server: {get_param: ContrailConfigRedisServerIp}
contrail::config::listen_ip_address: {get_param: [ServiceNetMap, ContrailConfigNetwork]}
contrail::config::listen_port: {get_param: [EndpointMap, ContrailConfigInternal, port] }
contrail::config::redis_server: '127.0.0.1'
contrail::config::host_ip: {get_param: [ServiceNetMap, ContrailConfigNetwork] }
step_config: |
include ::tripleo::network::contrail::config

View File

@ -21,15 +21,14 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContrailControlHostIP:
description: host IP address of Analytics
type: string
ContrailControlIfmapUserName:
description: Ifmap user name
type: string
ContrailControlIfmapUserPassword:
description: Ifmap user password
ContrailControlASN:
description: Autonomous System Number
type: number
default: 64512
ContrailControlRNDCSecret:
description: sda1/256 hmac key, e.g. echo -n "values" | openssl dgst -sha256 -hmac key -binary | base64
type: string
hidden: true
resources:
ContrailBase:
@ -47,8 +46,8 @@ outputs:
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::control::host_ip: {get_param: ContrailControlHostIP}
contrail::control::ifmap_username: {get_param: ContrailControlIfmapUserName}
contrail::control::ifmap_password: {get_param: ContrailControlIfmapUserPassword}
- contrail::control::asn: {get_param: ContrailControlASN }
contrail::control::host_ip: {get_param: [ServiceNetMap, ContrailControlNetwork]}
contrail::control::rndc_secret: {get_param: ContrailControlRNDCSecret}
step_config: |
include ::tripleo::network::contrail::control

View File

@ -21,13 +21,6 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContrailDatabaseHostIP:
description: host IP address of Database node
type: string
ContrailDatabaseMinDisk:
description: Minimum disk size for database
type: number
default: 64
resources:
ContrailBase:
@ -45,7 +38,6 @@ outputs:
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::database::host_ip: {get_param: ContrailDatabaseHostIP}
contrail::database::minimum_diskGB: {get_param: ContrailDatabaseMinDisk}
- contrail::database::host_ip: {get_param: [ServiceNetMap, ContrailDatabaseNetwork]}
step_config: |
include ::tripleo::profile::contrail::database
include ::tripleo::network::contrail::database

View File

@ -0,0 +1,40 @@
heat_template_version: ocata
description: >
Contrail Heat plugin adds Contrail specific heat resources enabling heat
to orchestrate Contrail
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
resources:
ContrailBase:
type: ./contrail-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Contrail Heat plugin
value:
service_name: contrail_heat
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
step_config: |
include ::tripleo::network::contrail::heat

View File

@ -0,0 +1,45 @@
heat_template_version: ocata
description: >
OpenStack Neutron Opencontrail plugin
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
ContrailExtensions:
description: List of OpenContrail extensions to be enabled
type: comma_delimited_list
default: ''
resources:
ContrailBase:
type: ./contrail-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Neutron Opencontrail plugin
value:
service_name: contrail_neutron_plugin
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- neutron::api_extensions_path: /usr/lib/python2.7/site-packages/neutron_plugin_contrail/extensions
contrail::vrouter::contrail_extensions: {get_param: ContrailExtensions}
step_config: |
include tripleo::network::contrail::neutron_plugin

View File

@ -1,7 +1,7 @@
heat_template_version: ocata
description: >
OpenStack Neutron Compute OpenContrail plugin
Provision Contrail services after deployment
parameters:
ServiceNetMap:
@ -19,11 +19,21 @@ parameters:
via parameter_defaults in the resource registry.
type: json
resources:
ContrailBase:
type: ./contrail-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Neutron Compute OpenContrail plugin
description: Contrail provisioning role
value:
service_name: neutron_compute_plugin_opencontrail
service_name: contrail_provision
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
step_config: |
include ::tripleo::profile::base::neutron::opencontrail::vrouter
include ::tripleo::network::contrail::provision

View File

@ -0,0 +1,64 @@
heat_template_version: ocata
description: >
Contrail TSN Service
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
NeutronMetadataProxySharedSecret:
description: Metadata Secret
type: string
VrouterPhysicalInterface:
default: 'eth0'
description: vRouter physical interface
type: string
VrouterGateway:
default: '192.168.24.1'
description: vRouter default gateway
type: string
VrouterNetmask:
default: '255.255.255.0'
description: vRouter netmask
type: string
resources:
ContrailBase:
type: ./contrail-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Contrail TSN Service
value:
service_name: contrail_tsn
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::vrouter::host_ip: {get_param: [ServiceNetMap, NeutronCorePluginOpencontrailNetwork]}
contrail::vrouter::physical_interface: {get_param: VrouterPhysicalInterface}
contrail::vrouter::gateway: {get_param: VrouterGateway}
contrail::vrouter::netmask: {get_param: VrouterNetmask}
contrail::vrouter::metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
contrail::vrouter::is_tsn: 'true'
tripleo.neutron_compute_plugin_opencontrail.firewall_rules:
'111 neutron_compute_plugin_opencontrail proxy':
dport: 8097
proto: tcp
step_config: |
include ::tripleo::network::contrail::vrouter

View File

@ -0,0 +1,64 @@
heat_template_version: ocata
description: >
OpenStack Neutron Compute OpenContrail plugin
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
NeutronMetadataProxySharedSecret:
description: Metadata Secret
type: string
hidden: true
ContrailVrouterPhysicalInterface:
default: 'eth0'
description: vRouter physical interface
type: string
ContrailVrouterGateway:
default: '192.0.2.1'
description: vRouter default gateway
type: string
ContrailVrouterNetmask:
default: '255.255.255.0'
description: vRouter netmask
type: string
resources:
ContrailBase:
type: ./contrail-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Neutron Compute OpenContrail plugin
value:
service_name: contrail_vrouter
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::vrouter::host_ip: {get_param: [ServiceNetMap, NeutronCorePluginOpencontrailNetwork]}
contrail::vrouter::physical_interface: {get_param: ContrailVrouterPhysicalInterface}
contrail::vrouter::gateway: {get_param: ContrailVrouterGateway}
contrail::vrouter::netmask: {get_param: ContrailVrouterNetmask}
contrail::vrouter::metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
tripleo.neutron_compute_plugin_opencontrail.firewall_rules:
'111 neutron_compute_plugin_opencontrail proxy':
dport: 8097
proto: tcp
step_config: |
include ::tripleo::network::contrail::vrouter

View File

@ -21,27 +21,6 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContrailWebUiAnalyticsVip:
description: Contrail Analytics VIP
type: string
ContrailWebUiConfigVip:
description: Contrail Config VIP
type: string
ContrailWebUiNeutronVip:
description: Neutron VIP
type: string
ContrailWebuiHttpPort:
default: 8080
description: HTTP Port of Webui
type: number
ContrailWebuiHttpsPort:
default: 8143
description: HTTPS Port of Webui
type: number
ContrailWebUiRedisIp:
description: Redis IP
type: string
default: '127.0.0.1'
resources:
ContrailBase:
@ -59,11 +38,8 @@ outputs:
config_settings:
map_merge:
- get_attr: [ContrailBase, role_data, config_settings]
- contrail::webui::contrail_analytics_vip: {get_param: ContrailWebUiAnalyticsVip}
contrail::webui::contrail_config_vip: {get_param: ContrailWebUiConfigVip}
contrail::webui::contrail_webui_http_port: {get_param: ContrailWebuiHttpPort}
contrail::webui::contrail_webui_https_port: {get_param: ContrailWebuiHttpsPort}
contrail::webui::neutron_vip: {get_param: ContrailWebUiNeutronVip}
contrail::webui::redis_ip: {get_param: ContrailWebUiRedisIp}
- contrail::webui::http_port: {get_param: [EndpointMap, ContrailWebuiHttpInternal, port] }
contrail::webui::https_port: {get_param: [EndpointMap, ContrailWebuiHttpsInternal, port] }
contrail::webui::redis_ip: '127.0.0.1'
step_config: |
include ::tripleo::network::contrail::webui

View File

@ -1,74 +0,0 @@
heat_template_version: ocata
description: >
OpenStack Neutron Opencontrail plugin
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
AdminPassword:
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
hidden: true
AdminToken:
description: The keystone auth secret and db password.
type: string
hidden: true
ContrailApiServerIp:
description: IP address of the OpenContrail API server
type: string
ContrailApiServerPort:
description: Port of the OpenContrail API
type: string
default: 8082
ContrailMultiTenancy:
description: Whether to enable multi tenancy
type: boolean
default: false
ContrailExtensions:
description: List of OpenContrail extensions to be enabled
type: comma_delimited_list
default: ''
resources:
NeutronBase:
type: ./neutron-base.yaml
properties:
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Neutron Opencontrail plugin
value:
service_name: neutron_plugin_opencontrail
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]
- neutron::api_extensions_path: /usr/lib/python2.7/site-packages/neutron_plugin_contrail/extensions,/usr/lib/python2.7/site-packages/neutron_lbaas/extensions
neutron::plugins::opencontrail::api_server_ip: {get_param: ContrailApiServerIp}
neutron::plugins::opencontrail::api_server_port: {get_param: ContrailApiServerPort}
neutron::plugins::opencontrail::multi_tenancy: {get_param: ContrailMultiTenancy}
neutron::plugins::opencontrail::contrail_extensions: {get_param: ContrailExtensions}
neutron::plugins::opencontrail::keystone_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri] }
neutron::plugins::opencontrail::keystone_admin_user: admin
neutron::plugins::opencontrail::keystone_admin_tenant_name: admin
neutron::plugins::opencontrail::keystone_admin_password: {get_param: AdminPassword}
neutron::plugins::opencontrail::keystone_admin_token: {get_param: AdminToken}
step_config: |
include tripleo::profile::base::neutron::plugins::opencontrail