aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/network
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/network')
-rw-r--r--manifests/network/contrail/analytics.pp245
-rw-r--r--manifests/network/contrail/config.pp215
-rw-r--r--manifests/network/contrail/control.pp153
-rw-r--r--manifests/network/contrail/database.pp53
-rw-r--r--manifests/network/contrail/webui.pp108
5 files changed, 774 insertions, 0 deletions
diff --git a/manifests/network/contrail/analytics.pp b/manifests/network/contrail/analytics.pp
new file mode 100644
index 0000000..4359a43
--- /dev/null
+++ b/manifests/network/contrail/analytics.pp
@@ -0,0 +1,245 @@
+#
+# Copyright (C) 2015 Juniper Networks
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::network::contrail::analytics
+#
+# Configure Contrail Analytics services
+#
+# == Parameters:
+#
+# [*host_ip*]
+# (required) host IP address of Analytics
+# String (IPv4) value.
+#
+# [*admin_password*]
+# (optional) admin password
+# String value.
+# Defaults to hiera('contrail::admin_password')
+#
+# [*admin_tenant_name*]
+# (optional) admin tenant name.
+# 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')
+#
+# [*auth_host*]
+# (optional) keystone server ip address
+# String (IPv4) value.
+# Defaults to hiera('contrail::auth_host')
+#
+# [*auth_port*]
+# (optional) keystone port.
+# Integer value.
+# Defaults to hiera('contrail::auth_port')
+#
+# [*auth_protocol*]
+# (optional) authentication protocol.
+# String value.
+# Defaults to hiera('contrail::auth_protocol')
+#
+# [*cassandra_server_list*]
+# (optional) List IPs+port of Cassandra servers
+# Array of strings value.
+# Defaults to hiera('contrail::cassandra_server_list')
+#
+# [*collector_http_server_port*]
+# (optional) Collector http port
+# Integer value.
+# Defaults to 8089
+#
+# [*collector_sandesh_port*]
+# (optional) Collector sandesh port
+# Integer value.
+# Defaults to 8086
+#
+# [*disc_server_ip*]
+# (optional) IPv4 address of discovery server.
+# String (IPv4) value.
+# Defaults to hiera('contrail::disc_server_ip')
+#
+# [*disc_server_port*]
+# (optional) port Discovery server listens on.
+# Integer value.
+# Defaults to hiera('contrail::disc_server_port')
+#
+# [*http_server_port*]
+# (optional) Analytics http port
+# Integer value.
+# Defaults to 8090
+#
+# [*insecure*]
+# (optional) insecure mode.
+# Boolean value.
+# Defaults to falsehiera('contrail::insecure')
+#
+# [*kafka_broker_list*]
+# (optional) List IPs+port of kafka servers
+# Array of strings value.
+# Defaults to hiera('contrail::kafka_broker_list')
+#
+# [*memcached_servers*]
+# (optional) IPv4 address of memcached servers
+# String (IPv4) value + port
+# Defaults to hiera('contrail::memcached_server')
+#
+# [*redis_server*]
+# (optional) IPv4 address of redis server.
+# String (IPv4) value.
+# Defaults to '127.0.0.1'.
+#
+# [*redis_server_port*]
+# (optional) port Redis server listens on.
+# Integer value.
+# Defaults to 6379
+#
+# [*rest_api_ip*]
+# (optional) IP address Analytics rest interface listens on
+# String (IPv4) value.
+# Defaults to '0.0.0.0'
+#
+# [*rest_api_port*]
+# (optional) Analytics rest port
+# Integer value.
+# Defaults to 8081
+#
+# [*zk_server_ip*]
+# (optional) List IPs+port of Zookeeper servers
+# Array of strings value.
+# Defaults to hiera('contrail::zk_server_ip')
+#
+class tripleo::network::contrail::analytics(
+ $host_ip,
+ $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'),
+ $cassandra_server_list = hiera('contrail::cassandra_server_list'),
+ $collector_http_server_port = 8089,
+ $collector_sandesh_port = 8086,
+ $disc_server_ip = hiera('contrail::disc_server_ip'),
+ $disc_server_port = hiera('contrail::disc_server_port'),
+ $http_server_port = 8090,
+ $insecure = hiera('contrail::insecure'),
+ $kafka_broker_list = hiera('contrail::kafka_broker_list'),
+ $memcached_servers = hiera('contrail::memcached_server'),
+ $redis_server = '127.0.0.1',
+ $redis_server_port = 6379,
+ $rest_api_ip = '0.0.0.0',
+ $rest_api_port = 8081,
+ $zk_server_ip = hiera('contrail::zk_server_ip'),
+)
+{
+ class {'::contrail::keystone':
+ keystone_config => {
+ 'KEYSTONE' => {
+ 'admin_password' => $admin_password,
+ 'admin_tenant_name' => $admin_tenant_name,
+ 'admin_token' => $admin_token,
+ 'admin_user' => $admin_user,
+ 'auth_host' => $auth_host,
+ 'auth_port' => $auth_port,
+ 'auth_protocol' => $auth_protocol,
+ 'insecure' => $insecure,
+ 'memcached_servers' => $memcached_servers,
+ },
+ },
+ } ->
+ class {'::contrail::analytics':
+ analytics_api_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'host_ip' => $host_ip,
+ 'http_server_port' => $http_server_port,
+ 'redis_server' => $redis_server,
+ 'rest_api_ip' => $rest_api_ip,
+ 'rest_api_port' => $rest_api_port,
+ },
+ 'DISCOVERY' => {
+ 'disc_server_ip' => $disc_server_ip,
+ 'disc_server_port' => $disc_server_port,
+ },
+ 'REDIS' => {
+ 'redis_server_port' => $redis_server_port,
+ 'redis_query_port' => $redis_server_port,
+ 'server' => $redis_server,
+ },
+ },
+ collector_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'disc_server_ip' => $disc_server_ip,
+ 'hostip' => $host_ip,
+ 'http_server_port' => $collector_http_server_port,
+ 'kafka_broker_list' => $kafka_broker_list,
+ 'zookeeper_server_list' => $zk_server_ip,
+ },
+ 'COLLECTOR' => {
+ 'port' => $collector_sandesh_port,
+ },
+ 'DISCOVERY' => {
+ 'port' => $disc_server_port,
+ 'server' => $disc_server_ip,
+ },
+ 'REDIS' => {
+ 'port' => $redis_server_port,
+ 'server' => $redis_server,
+ },
+ },
+ query_engine_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'hostip' => $host_ip,
+ },
+ 'DISCOVERY' => {
+ 'port' => $disc_server_port,
+ 'server' => $disc_server_ip,
+ },
+ 'REDIS' => {
+ 'port' => $redis_server_port,
+ 'server' => $redis_server,
+ },
+ },
+ snmp_collector_config => {
+ 'DEFAULTS' => {
+ 'zk_server_ip' => $zk_server_ip,
+ },
+ 'DISCOVERY' => {
+ 'disc_server_ip' => $disc_server_ip,
+ 'disc_server_port' => $disc_server_port,
+ },
+ },
+ topology_config => {
+ 'DEFAULTS' => {
+ 'zk_server_ip' => $zk_server_ip,
+ },
+ 'DISCOVERY' => {
+ 'disc_server_ip' => $disc_server_ip,
+ 'disc_server_port' => $disc_server_port,
+ },
+ },
+ }
+}
diff --git a/manifests/network/contrail/config.pp b/manifests/network/contrail/config.pp
new file mode 100644
index 0000000..7b9c85f
--- /dev/null
+++ b/manifests/network/contrail/config.pp
@@ -0,0 +1,215 @@
+#
+# Copyright (C) 2015 Juniper Networks
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::network::contrail::config
+#
+# Configure Contrail Config services
+#
+# == Parameters:
+#
+# [*ifmap_password*]
+# (required) ifmap password
+# String value.
+#
+# [*ifmap_server_ip*]
+# (required) ifmap server ip address.
+# String value.
+#
+# [*ifmap_username*]
+# (required) ifmap username
+# String value.
+#
+# [*rabbit_server*]
+# (required) IPv4 address of rabbit server.
+# String (IPv4) value.
+#
+# [*admin_password*]
+# (optional) admin password
+# String value.
+# Defaults to hiera('contrail::admin_password')
+#
+# [*admin_tenant_name*]
+# (optional) admin tenant name.
+# 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')
+#
+# [*auth*]
+# (optional) Authentication method.
+# Defaults to hiera('contrail::auth')
+#
+# [*auth_host*]
+# (optional) keystone server ip address
+# String (IPv4) value.
+# Defaults to hiera('contrail::auth_host')
+#
+# [*auth_port*]
+# (optional) keystone port.
+# Defaults to hiera('contrail::auth_port')
+#
+# [*auth_protocol*]
+# (optional) authentication protocol.
+# Defaults to hiera('contrail::auth_protocol')
+#
+# [*cassandra_server_list*]
+# (optional) List IPs+port of Cassandra servers
+# Array of strings value.
+# Defaults to hiera('contrail::cassandra_server_list')
+#
+# [*disc_server_ip*]
+# (optional) IPv4 address of discovery server.
+# String (IPv4) value.
+# Defaults to hiera('contrail::disc_server_ip')
+#
+# [*insecure*]
+# (optional) insecure mode.
+# Defaults to hiera('contrail::insecure')
+#
+# [*listen_ip_address*]
+# (optional) IP address to listen on.
+# String (IPv4) value.
+# Defaults to '0.0.0.0'
+#
+# [*listen_port*]
+# (optional) Listen port for config-api
+# Defaults to 8082
+#
+# [*memcached_servers*]
+# (optional) IPv4 address of memcached servers
+# String (IPv4) value + port
+# Defaults to hiera('contrail::memcached_server')
+#
+# [*multi_tenancy*]
+# (optional) Defines if mutli-tenancy is enabled.
+# Defaults to hiera('contrail::multi_tenancy')
+#
+# [*redis_server*]
+# (optional) IPv4 address of redis server.
+# String (IPv4) value.
+# Defaults to '127.0.0.1'
+#
+# [*zk_server_ip*]
+# (optional) List IPs+port of Zookeeper servers
+# Array of strings value.
+# Defaults to hiera('contrail::zk_server_ip')
+#
+class tripleo::network::contrail::config(
+ $ifmap_password,
+ $ifmap_server_ip,
+ $ifmap_username,
+ $rabbit_server,
+ $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 = hiera('contrail::auth'),
+ $auth_host = hiera('contrail::auth_host'),
+ $auth_port = hiera('contrail::auth_port'),
+ $auth_protocol = hiera('contrail::auth_protocol'),
+ $cassandra_server_list = hiera('contrail::cassandra_server_list'),
+ $disc_server_ip = hiera('contrail::disc_server_ip'),
+ $insecure = hiera('contrail::insecure'),
+ $listen_ip_address = '0.0.0.0',
+ $listen_port = 8082,
+ $memcached_servers = hiera('contrail::memcached_server'),
+ $multi_tenancy = hiera('contrail::multi_tenancy'),
+ $redis_server = '127.0.0.1',
+ $zk_server_ip = hiera('contrail::zk_server_ip'),
+)
+{
+ validate_ip_address($listen_ip_address)
+ validate_ip_address($disc_server_ip)
+ validate_ip_address($ifmap_server_ip)
+ class {'::contrail::keystone':
+ keystone_config => {
+ 'KEYSTONE' => {
+ 'admin_password' => $admin_password,
+ 'admin_tenant_name' => $admin_tenant_name,
+ 'admin_token' => $admin_token,
+ 'admin_user' => $admin_user,
+ 'auth_host' => $auth_host,
+ 'auth_port' => $auth_port,
+ 'auth_protocol' => $auth_protocol,
+ 'insecure' => $insecure,
+ 'memcached_servers' => $memcached_servers,
+ },
+ },
+ } ->
+ class {'::contrail::config':
+ api_config => {
+ 'DEFAULTS' => {
+ 'auth' => $auth,
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'disc_server_ip' => $disc_server_ip,
+ 'ifmap_password' => $ifmap_password,
+ 'ifmap_server_ip' => $ifmap_server_ip,
+ 'ifmap_username' => $ifmap_username,
+ 'listen_ip_addr' => $listen_ip_address,
+ 'listen_port' => $listen_port,
+ 'multi_tenancy' => $multi_tenancy,
+ 'rabbit_server' => $rabbit_server,
+ 'redis_server' => $redis_server,
+ 'zk_server_ip' => $zk_server_ip,
+ },
+ },
+ device_manager_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'disc_server_ip' => $disc_server_ip,
+ 'rabbit_server' => $rabbit_server,
+ 'redis_server' => $redis_server,
+ 'zk_server_ip' => $zk_server_ip,
+ },
+ },
+ schema_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'disc_server_ip' => $disc_server_ip,
+ 'ifmap_password' => $ifmap_password,
+ 'ifmap_server_ip' => $ifmap_server_ip,
+ 'ifmap_username' => $ifmap_username,
+ 'rabbit_server' => $rabbit_server,
+ 'redis_server' => $redis_server,
+ 'zk_server_ip' => $zk_server_ip,
+ },
+ },
+ discovery_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'zk_server_ip' => $zk_server_ip,
+ },
+ },
+ svc_monitor_config => {
+ 'DEFAULTS' => {
+ 'cassandra_server_list' => $cassandra_server_list,
+ 'disc_server_ip' => $disc_server_ip,
+ 'ifmap_password' => $ifmap_password,
+ 'ifmap_server_ip' => $ifmap_server_ip,
+ 'ifmap_username' => $ifmap_username,
+ 'rabbit_server' => $rabbit_server,
+ 'redis_server' => $redis_server,
+ },
+ },
+ }
+}
diff --git a/manifests/network/contrail/control.pp b/manifests/network/contrail/control.pp
new file mode 100644
index 0000000..2e50108
--- /dev/null
+++ b/manifests/network/contrail/control.pp
@@ -0,0 +1,153 @@
+#
+# Copyright (C) 2015 Juniper Networks
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::network::contrail::control
+#
+# Configure Contrail Control services
+#
+# == 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.
+# Defaults to hiera('contrail::admin_password'),
+#
+# [*admin_tenant_name*]
+# (optional) admin tenant name.
+# 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'),
+#
+# [*auth_host*]
+# (optional) keystone server ip address
+# String (IPv4) value.
+# Defaults to hiera('contrail::auth_host'),
+#
+# [*auth_port*]
+# (optional) keystone port.
+# Defaults to hiera('contrail::auth_port'),
+#
+# [*auth_protocol*]
+# (optional) authentication protocol.
+# Defaults to hiera('contrail::auth_protocol'),
+#
+# [*disc_server_ip*]
+# (optional) IPv4 address of discovery server.
+# String (IPv4) value.
+# Defaults to hiera('contrail::disc_server_ip'),
+#
+# [*disc_server_port*]
+# (optional) port Discovery server listens on.
+# Integer value.
+# Defaults to hiera('contrail::disc_server_port'),
+#
+# [*insecure*]
+# (optional) insecure mode.
+# Defaults to hiera('contrail::insecure'),
+#
+# [*memcached_servers*]
+# (optional) IPv4 address of memcached servers
+# String (IPv4) value + port
+# Defaults to hiera('contrail::memcached_servers'),
+#
+class tripleo::network::contrail::control(
+ $host_ip,
+ $ifmap_password,
+ $ifmap_username,
+ $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'),
+ $memcached_servers = hiera('contrail::memcached_server'),
+)
+{
+ 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,
+ },
+ },
+ } ->
+ class {'::contrail::control':
+ control_config => {
+ 'DEFAULTS' => {
+ 'hostip' => $host_ip,
+ },
+ '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,
+ },
+ },
+ }
+}
diff --git a/manifests/network/contrail/database.pp b/manifests/network/contrail/database.pp
new file mode 100644
index 0000000..58f2670
--- /dev/null
+++ b/manifests/network/contrail/database.pp
@@ -0,0 +1,53 @@
+#
+# Copyright (C) 2015 Juniper Networks
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::network::contrail::control
+#
+# Configure Contrail Control services
+#
+# == Parameters:
+#
+# [*host_ip*]
+# (required) host IP address of Database node
+# String (IPv4) value.
+#
+# [*disc_server_ip*]
+# (optional) IPv4 address of discovery server.
+# String (IPv4) value.
+# Defaults to hiera('contrail::disc_server_ip')
+#
+# [*disc_server_port*]
+# (optional) port Discovery server listens on.
+# Integer value.
+# Defaults to hiera('contrail::disc_server_port')
+#
+class tripleo::network::contrail::database(
+ $host_ip,
+ $disc_server_ip = hiera('contrail::disc_server_ip'),
+ $disc_server_port = hiera('contrail::disc_server_port'),
+)
+{
+ class {'::contrail::database':
+ database_nodemgr_config => {
+ 'DEFAULTS' => {
+ 'hostip' => $host_ip,
+ },
+ 'DISCOVERY' => {
+ 'port' => $disc_server_port,
+ 'server' => $disc_server_ip,
+ },
+ },
+ }
+}
diff --git a/manifests/network/contrail/webui.pp b/manifests/network/contrail/webui.pp
new file mode 100644
index 0000000..0b308a4
--- /dev/null
+++ b/manifests/network/contrail/webui.pp
@@ -0,0 +1,108 @@
+#
+# Copyright (C) 2015 Juniper Networks
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::network::contrail::webui
+#
+# Configure Contrail Webui services
+#
+# == Parameters:
+#
+# [*contrail_analytics_vip*]
+# (required) VIP of Contrail Analytics
+# String (IPv4) value.
+#
+# [*contrail_config_vip*]
+# (required) VIP of Contrail Config
+# String (IPv4) value.
+#
+# [*neutron_vip*]
+# (required) VIP of Neutron
+# String (IPv4) value.
+#
+# [*admin_password*]
+# (optional) admin password
+# String value.
+# Defaults to hiera('contrail::admin_password')
+#
+# [*admin_tenant_name*]
+# (optional) admin tenant name.
+# 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')
+#
+# [*auth_host*]
+# (optional) keystone server ip address
+# String (IPv4) value.
+# Defaults to hiera('contrail::auth_host')
+#
+# [*cassandra_server_list*]
+# (optional) List IPs+port of Cassandra servers
+# Array of strings value.
+# Defaults to hiera('contrail::cassandra_server_list')
+#
+# [*contrail_webui_http_port*]
+# (optional) Webui HTTP Port
+# Integer value.
+# Defaults to 8080
+#
+# [*contrail_webui_https_port*]
+# (optional) Webui HTTPS Port
+# Integer value.
+# Defaults to 8143
+#
+# [*redis_ip*]
+# (optional) IP of Redis
+# String (IPv4) value.
+# Defaults to '127.0.0.1'
+#
+class tripleo::network::contrail::webui(
+ $contrail_analytics_vip,
+ $contrail_config_vip,
+ $neutron_vip,
+ $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'),
+ $cassandra_server_list = hiera('contrail::cassandra_server_list'),
+ $contrail_webui_http_port = 8080,
+ $contrail_webui_https_port = 8143,
+ $redis_ip = '127.0.0.1',
+)
+{
+ class {'::contrail::webui':
+ openstack_vip => $auth_host,
+ contrail_config_vip => $contrail_config_vip,
+ contrail_analytics_vip => $contrail_analytics_vip,
+ neutron_vip => $neutron_vip,
+ cassandra_ip => $cassandra_server_list,
+ redis_ip => $redis_ip,
+ contrail_webui_http_port => $contrail_webui_http_port,
+ contrail_webui_https_port => $contrail_webui_https_port,
+ admin_user => $admin_user,
+ admin_password => $admin_password,
+ admin_token => $admin_token,
+ admin_tenant_name => $admin_tenant_name,
+ }
+}