aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.fixtures.yml4
-rw-r--r--Gemfile4
-rw-r--r--manifests/cluster/cassandra.pp26
-rw-r--r--manifests/cluster/zookeeper.pp8
-rw-r--r--manifests/loadbalancer.pp67
-rw-r--r--manifests/network/midonet/agent.pp9
-rw-r--r--manifests/network/midonet/api.pp7
-rw-r--r--spec/classes/tripleo_cluster_cassandra_spec.rb23
8 files changed, 123 insertions, 25 deletions
diff --git a/.fixtures.yml b/.fixtures.yml
index e2444d1..69512da 100644
--- a/.fixtures.yml
+++ b/.fixtures.yml
@@ -12,8 +12,8 @@ fixtures:
repo: 'git://github.com/puppetlabs/puppetlabs-inifile.git'
ref: '1.4.2'
'cassandra':
- repo: 'git://github.com/midonet/puppet-cassandra.git'
- ref: 'v1.1.1'
+ repo: 'git://github.com/locp/cassandra.git'
+ ref: '1.9.2'
'zookeeper':
repo: 'git://github.com/deric/puppet-zookeeper.git'
ref: 'v0.3.9'
diff --git a/Gemfile b/Gemfile
index 6d4ce9a..91c5f0a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -14,6 +14,10 @@ group :development, :test do
gem 'puppet-lint-numericvariable', :require => 'false'
gem 'json', :require => 'false'
gem 'webmock', :require => 'false'
+ # adding 'psych' explicitly
+ # https://github.com/bundler/bundler/issues/2068
+ # TODO: drop it in a future release of 'bundle'.
+ gem 'psych', :require => 'false'
end
group :system_tests do
diff --git a/manifests/cluster/cassandra.pp b/manifests/cluster/cassandra.pp
index a810ccd..b20926b 100644
--- a/manifests/cluster/cassandra.pp
+++ b/manifests/cluster/cassandra.pp
@@ -52,18 +52,22 @@ class tripleo::cluster::cassandra(
$client_port_thrift = '9160'
)
{
- validate_array($cassandra_servers)
+
+ # TODO: Remove this comment once we can guarantee that all the distros
+ # deploying TripleO use Puppet > 3.7 because of this bug:
+ # https://tickets.puppetlabs.com/browse/PUP-1299
+ #
+ # validate_array($cassandra_servers)
validate_ipv4_address($cassandra_ip)
- class {'::cassandra::run':
- seeds => $cassandra_servers,
- seed_address => $cassandra_ip,
- conf_dir => '/etc/cassandra/default.conf',
- pid_dir => '/var/run/cassandra',
- service_path => '/sbin',
- storage_port => $storage_port,
- ssl_storage_port => $ssl_storage_port,
- client_port => $client_port,
- client_port_thrift => $client_port_thrift
+ class {'::cassandra':
+ cluster_name => 'TripleO',
+ seeds => $cassandra_servers,
+ listen_address => $cassandra_ip,
+ storage_port => $storage_port,
+ ssl_storage_port => $ssl_storage_port,
+ native_transport_port => $client_port,
+ rpc_port => $client_port_thrift
}
+
}
diff --git a/manifests/cluster/zookeeper.pp b/manifests/cluster/zookeeper.pp
index 6f4adbc..82d21ee 100644
--- a/manifests/cluster/zookeeper.pp
+++ b/manifests/cluster/zookeeper.pp
@@ -39,9 +39,13 @@ class tripleo::cluster::zookeeper(
$zookeeper_hostnames
)
{
- validate_array($zookeeper_server_ips)
+ # TODO: Remove comments below once we can guarantee that all the distros
+ # deploying TripleO use Puppet > 3.7 because of this bug:
+ # https://tickets.puppetlabs.com/browse/PUP-1299
+
+ # validate_array($zookeeper_server_ips)
validate_ipv4_address($zookeeper_client_ip)
- validate_array($zookeeper_hostnames)
+ # validate_array($zookeeper_hostnames)
# TODO(devvesa) Zookeeper package should provide these paths,
# remove this lines as soon as it will.
diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp
index 7890b06..37c8c66 100644
--- a/manifests/loadbalancer.pp
+++ b/manifests/loadbalancer.pp
@@ -134,6 +134,11 @@
# When set, enables SSL on the Ceilometer public API endpoint using the specified file.
# Defaults to undef
#
+# [*aodh_certificate*]
+# Filename of an HAProxy-compatible certificate and key file
+# When set, enables SSL on the Aodh public API endpoint using the specified file.
+# Defaults to undef
+#
# [*swift_certificate*]
# Filename of an HAProxy-compatible certificate and key file
# When set, enables SSL on the Swift public API endpoint using the specified file.
@@ -202,6 +207,10 @@
# (optional) Enable or not Ceilometer API binding
# Defaults to false
#
+# [*aodh*]
+# (optional) Enable or not Aodh API binding
+# Defaults to false
+#
# [*swift_proxy_server*]
# (optional) Enable or not Swift API binding
# Defaults to false
@@ -242,6 +251,10 @@
# (optional) Enable or not Redis binding
# Defaults to false
#
+# [*midonet_api*]
+# (optional) Enable or not MidoNet API binding
+# Defaults to false
+#
class tripleo::loadbalancer (
$controller_virtual_ip,
$control_virtual_interface,
@@ -267,6 +280,7 @@ class tripleo::loadbalancer (
$glance_certificate = undef,
$nova_certificate = undef,
$ceilometer_certificate = undef,
+ $aodh_certificate = undef,
$swift_certificate = undef,
$heat_certificate = undef,
$horizon_certificate = undef,
@@ -283,6 +297,7 @@ class tripleo::loadbalancer (
$nova_metadata = false,
$nova_novncproxy = false,
$ceilometer = false,
+ $aodh = false,
$swift_proxy_server = false,
$heat_api = false,
$heat_cloudwatch = false,
@@ -293,6 +308,7 @@ class tripleo::loadbalancer (
$mysql_clustercheck = false,
$rabbitmq = false,
$redis = false,
+ $midonet_api = false,
) {
if !$controller_host and !$controller_hosts {
@@ -426,6 +442,11 @@ class tripleo::loadbalancer (
} else {
$ceilometer_bind_certificate = $service_certificate
}
+ if $aodh_certificate {
+ $aodh_bind_certificate = $aodh_certificate
+ } else {
+ $aodh_bind_certificate = $service_certificate
+ }
if $swift_certificate {
$swift_bind_certificate = $swift_certificate
} else {
@@ -563,6 +584,19 @@ class tripleo::loadbalancer (
}
}
+ $aodh_api_vip = hiera('aodh_api_vip', $controller_virtual_ip)
+ if $aodh_bind_certificate {
+ $aodh_bind_opts = {
+ "${aodh_api_vip}:8042" => [],
+ "${public_virtual_ip}:13042" => ['ssl', 'crt', $aodh_bind_certificate],
+ }
+ } else {
+ $aodh_bind_opts = {
+ "${aodh_api_vip}:8042" => [],
+ "${public_virtual_ip}:8042" => [],
+ }
+ }
+
$swift_proxy_vip = hiera('swift_proxy_vip', $controller_virtual_ip)
if $swift_bind_certificate {
$swift_bind_opts = {
@@ -846,6 +880,20 @@ class tripleo::loadbalancer (
}
}
+ if $aodh {
+ haproxy::listen { 'aodh':
+ bind => $aodh_bind_opts,
+ collect_exported => false,
+ }
+ haproxy::balancermember { 'aodh':
+ listening_service => 'aodh',
+ ports => '8042',
+ ipaddresses => hiera('aodh_api_node_ips', $controller_hosts_real),
+ server_names => $controller_hosts_names_real,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ }
+ }
+
if $swift_proxy_server {
haproxy::listen { 'swift_proxy_server':
bind => $swift_bind_opts,
@@ -1007,4 +1055,23 @@ class tripleo::loadbalancer (
}
}
+ $midonet_api_vip = hiera('midonet_api_vip', $controller_virtual_ip)
+ $midonet_bind_opts = {
+ "${midonet_api_vip}:8081" => [],
+ "${public_virtual_ip}:8081" => [],
+ }
+
+ if $midonet_api {
+ haproxy::listen { 'midonet_api':
+ bind => $midonet_bind_opts,
+ collect_exported => false,
+ }
+ haproxy::balancermember { 'midonet_api':
+ listening_service => 'midonet_api',
+ ports => '8081',
+ ipaddresses => hiera('midonet_api_node_ips', $controller_hosts_real),
+ server_names => $controller_hosts_names_real,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ }
+ }
}
diff --git a/manifests/network/midonet/agent.pp b/manifests/network/midonet/agent.pp
index 2f1da94..0e65282 100644
--- a/manifests/network/midonet/agent.pp
+++ b/manifests/network/midonet/agent.pp
@@ -33,8 +33,13 @@ class tripleo::network::midonet::agent (
$cassandra_seeds
) {
- validate_array($zookeeper_servers)
- validate_array($cassandra_seeds)
+ # TODO: Remove comments below once we can guarantee that all the distros
+ # deploying TripleO use Puppet > 3.7 because of this bug:
+ # https://tickets.puppetlabs.com/browse/PUP-1299
+
+ # validate_array($zookeeper_servers)
+ # validate_array($cassandra_seeds)
+
# FIXME: This statement should be controlled by hiera on heat templates
# project
diff --git a/manifests/network/midonet/api.pp b/manifests/network/midonet/api.pp
index 33b2217..83efd2c 100644
--- a/manifests/network/midonet/api.pp
+++ b/manifests/network/midonet/api.pp
@@ -78,7 +78,12 @@ class tripleo::network::midonet::api(
$admin_tenant_name = 'admin'
)
{
- validate_array($zookeeper_servers)
+
+ # TODO: Remove this comment once we can guarantee that all the distros
+ # deploying TripleO use Puppet > 3.7 because of this bug:
+ # https://tickets.puppetlabs.com/browse/PUP-1299
+
+ # validate_array($zookeeper_servers)
validate_ip_address($vip)
validate_ip_address($keystone_ip)
validate_ip_address($bind_address)
diff --git a/spec/classes/tripleo_cluster_cassandra_spec.rb b/spec/classes/tripleo_cluster_cassandra_spec.rb
index 4f2eb6c..13be98e 100644
--- a/spec/classes/tripleo_cluster_cassandra_spec.rb
+++ b/spec/classes/tripleo_cluster_cassandra_spec.rb
@@ -21,6 +21,14 @@ describe 'tripleo::cluster::cassandra' do
shared_examples_for 'cassandra cluster service' do
+ let :facts do
+ {
+ :hostname => 'host1.midonet',
+ :osfamily => 'RedHat',
+ :operatingsystemmajrelease => 7,
+ }
+ end
+
let :params do
{
:cassandra_servers => ['192.168.2.2', '192.168.2.3'],
@@ -29,14 +37,15 @@ describe 'tripleo::cluster::cassandra' do
end
it 'should configure cassandra' do
- is_expected.to contain_class('cassandra::run').with(
- :seeds => ['192.168.2.2', '192.168.2.3'],
- :seed_address => '192.168.2.2',
- :storage_port => '7000',
- :ssl_storage_port => '7001',
- :client_port => '9042',
- :client_port_thrift => '9160'
+ is_expected.to contain_class('cassandra').with(
+ :seeds => ['192.168.2.2', '192.168.2.3'],
+ :listen_address => '192.168.2.2',
+ :storage_port => 7000,
+ :ssl_storage_port => 7001,
+ :native_transport_port => 9042,
+ :rpc_port => 9160
)
+
end
end