Merge "Re-organizes Contrail services to the correct roles"

This commit is contained in:
Jenkins 2017-02-09 17:02:55 +00:00 committed by Gerrit Code Review
commit f190469c01
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
@ -229,11 +228,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