aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/network/contrail/control.pp
diff options
context:
space:
mode:
authorMichael Henkel <mhenkel@juniper.net>2017-01-27 00:36:54 +0100
committerMichael Henkel <mhenkel@juniper.net>2017-01-27 12:35:15 +0100
commit9c9667e214987fe4a41a96d13f58541f0ddd53a2 (patch)
tree9e607492632f5b1b78663185a834e50c5c689607 /manifests/network/contrail/control.pp
parent4d356ed4ae5e609bf4ffc9a1729690e0b0c6df22 (diff)
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. Furthermore contrail tripleo puppet modules are being refactored to conform to the new interface of the puppet-contrail modules. Closes-Bug: 1659560 Change-Id: Id0dd35b95c5fe9d0fcc1e16c4b7d6cc601f10818
Diffstat (limited to 'manifests/network/contrail/control.pp')
-rw-r--r--manifests/network/contrail/control.pp197
1 files changed, 121 insertions, 76 deletions
diff --git a/manifests/network/contrail/control.pp b/manifests/network/contrail/control.pp
index 2e50108..e9c7a9e 100644
--- a/manifests/network/contrail/control.pp
+++ b/manifests/network/contrail/control.pp
@@ -19,19 +19,6 @@
#
# == Parameters:
#
-# [*host_ip*]
-# (required) host IP address of Control
-# String (IPv4) value.
-#
-# [*ifmap_password*]
-# (required) ifmap password
-# String value.
-#
-# [*ifmap_username*]
-# (optional) ifmap username
-# String value.
-# Defaults to hiera('contrail::ifmap_username'),
-#
# [*admin_password*]
# (optional) admin password
# String value.
@@ -42,16 +29,21 @@
# String value.
# Defaults to hiera('contrail::admin_tenant_name'),
#
-# [*admin_token*]
-# (optional) admin token
-# String value.
-# Defaults to hiera('contrail::admin_token'),
-#
# [*admin_user*]
# (optional) admin user name.
# String value.
# Defaults to hiera('contrail::admin_user'),
#
+# [*api_server*]
+# (optional) IP address of api server
+# String value.
+# Defaults to hiera('contrail_config_vip')
+#
+# [*api_port*]
+# (optional) port of api server
+# String value.
+# Defaults to hiera('contrail::api_port')
+#
# [*auth_host*]
# (optional) keystone server ip address
# String (IPv4) value.
@@ -68,13 +60,33 @@
# [*disc_server_ip*]
# (optional) IPv4 address of discovery server.
# String (IPv4) value.
-# Defaults to hiera('contrail::disc_server_ip'),
+# Defaults to hiera('contrail_config_vip')
#
# [*disc_server_port*]
# (optional) port Discovery server listens on.
# Integer value.
# Defaults to hiera('contrail::disc_server_port'),
#
+# [*host_ip*]
+# (optional) IP address of host
+# String (IPv4) value.
+# Defaults to hiera('contrail::control::host_ip')
+#
+# [*ibgp_auto_mesh*]
+# (optional) iBPG auto mesh
+# String value.
+# Defaults to true
+#
+# [*ifmap_password*]
+# (optional) ifmap password
+# String value.
+# Defaults to hiera('contrail::ifmap_password'),
+#
+# [*ifmap_username*]
+# (optional) ifmap username
+# String value.
+# Defaults to hiera('contrail::ifmap_username'),
+#
# [*insecure*]
# (optional) insecure mode.
# Defaults to hiera('contrail::insecure'),
@@ -84,70 +96,103 @@
# String (IPv4) value + port
# Defaults to hiera('contrail::memcached_servers'),
#
+# [*public_vip*]
+# (optional) Public Virtual IP address
+# String (IPv4) value
+# Defaults to hiera('public_virtual_ip')
+#
+# [*router_asn*]
+# (optional) Autonomus System Number
+# String value
+# Defaults to hiera('contrail::control::asn')
+#
+# [*secret*]
+# (optional) RNDC secret for named
+# String value
+# Defaults to hiera('contrail::control::rndc_secret')
+#
+# [*step*]
+# (optional) Step stack is in
+# Integer value.
+# Defaults to hiera('step')
+#
class tripleo::network::contrail::control(
- $host_ip,
- $ifmap_password,
- $ifmap_username,
- $admin_password = hiera('contrail::admin_password'),
+ $step = hiera('step'),
+ $admin_password = hiera('contrail::admin_password'),
$admin_tenant_name = hiera('contrail::admin_tenant_name'),
- $admin_token = hiera('contrail::admin_token'),
- $admin_user = hiera('contrail::admin_user'),
- $auth_host = hiera('contrail::auth_host'),
- $auth_port = hiera('contrail::auth_port'),
- $auth_protocol = hiera('contrail::auth_protocol'),
- $disc_server_ip = hiera('contrail::disc_server_ip'),
- $disc_server_port = hiera('contrail::disc_server_port'),
- $insecure = hiera('contrail::insecure'),
+ $admin_user = hiera('contrail::admin_user'),
+ $api_server = hiera('contrail_config_vip'),
+ $api_port = hiera('contrail::api_port'),
+ $auth_host = hiera('contrail::auth_host'),
+ $auth_port = hiera('contrail::auth_port'),
+ $auth_protocol = hiera('contrail::auth_protocol'),
+ $disc_server_ip = hiera('contrail_config_vip'),
+ $disc_server_port = hiera('contrail::disc_server_port'),
+ $host_ip = hiera('contrail::control::host_ip'),
+ $ibgp_auto_mesh = true,
+ $ifmap_password = hiera('contrail::control::host_ip'),
+ $ifmap_username = hiera('contrail::control::host_ip'),
+ $insecure = hiera('contrail::insecure'),
$memcached_servers = hiera('contrail::memcached_server'),
+ $public_vip = hiera('public_virtual_ip'),
+ $router_asn = hiera('contrail::control::asn'),
+ $secret = hiera('contrail::control::rndc_secret'),
)
{
- class {'::contrail::keystone':
- keystone_config => {
- 'KEYSTONE' => {
- 'admin_tenant_name' => $admin_tenant_name,
- 'admin_token' => $admin_token,
- 'admin_password' => $admin_password,
- 'admin_user' => $admin_user,
- 'auth_host' => $auth_host,
- 'auth_port' => $auth_port,
- 'auth_protocol' => $auth_protocol,
- 'insecure' => $insecure,
- 'memcached_servers' => $memcached_servers,
+ $control_ifmap_user = "${ifmap_username}.control"
+ $control_ifmap_password = "${ifmap_username}.control"
+ $dns_ifmap_user = "${ifmap_username}.dns"
+ $dns_ifmap_password = "${ifmap_username}.dns"
+
+ if $step >= 3 {
+ class {'::contrail::control':
+ secret => $secret,
+ control_config => {
+ 'DEFAULT' => {
+ 'hostip' => $host_ip,
+ },
+ 'DISCOVERY' => {
+ 'port' => $disc_server_port,
+ 'server' => $disc_server_ip,
+ },
+ 'IFMAP' => {
+ 'password' => $control_ifmap_user,
+ 'user' => $control_ifmap_password,
+ },
},
- },
- } ->
- class {'::contrail::control':
- control_config => {
- 'DEFAULTS' => {
- 'hostip' => $host_ip,
+ dns_config => {
+ 'DEFAULT' => {
+ 'hostip' => $host_ip,
+ 'rndc_secret' => $secret,
+ },
+ 'DISCOVERY' => {
+ 'port' => $disc_server_port,
+ 'server' => $disc_server_ip,
+ },
+ 'IFMAP' => {
+ 'password' => $dns_ifmap_user,
+ 'user' => $dns_ifmap_password,
+ }
},
- 'DISCOVERY' => {
- 'port' => $disc_server_port,
- 'server' => $disc_server_ip,
+ control_nodemgr_config => {
+ 'DISCOVERY' => {
+ 'port' => $disc_server_port,
+ 'server' => $disc_server_ip,
+ },
},
- 'IFMAP' => {
- 'password' => $ifmap_password,
- 'user' => $ifmap_username,
- },
- },
- dns_config => {
- 'DEFAULTS' => {
- 'hostip' => $host_ip,
- },
- 'DISCOVERY' => {
- 'port' => $disc_server_port,
- 'server' => $disc_server_ip,
- },
- 'IFMAP' => {
- 'password' => $ifmap_password,
- 'user' => $ifmap_username,
- }
- },
- control_nodemgr_config => {
- 'DISCOVERY' => {
- 'port' => $disc_server_port,
- 'server' => $disc_server_ip,
- },
- },
+ }
+ }
+ if $step >= 5 {
+ class {'::contrail::control::provision_control':
+ api_address => $api_server,
+ api_port => $api_port,
+ control_node_address => $host_ip,
+ control_node_name => $::hostname,
+ ibgp_auto_mesh => $ibgp_auto_mesh,
+ keystone_admin_user => $admin_user,
+ keystone_admin_password => $admin_password,
+ keystone_admin_tenant_name => $admin_tenant_name,
+ router_asn => $router_asn,
+ }
}
}