aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifests/haproxy.pp28
-rw-r--r--manifests/profile/base/aodh/api.pp15
-rw-r--r--manifests/profile/base/ceilometer/api.pp5
-rw-r--r--manifests/profile/base/heat.pp1
-rw-r--r--manifests/profile/base/ironic.pp2
-rw-r--r--manifests/profile/base/keystone.pp1
-rw-r--r--manifests/profile/base/mistral.pp1
-rw-r--r--manifests/profile/base/neutron/opendaylight.pp46
-rw-r--r--manifests/profile/base/neutron/plugins/ml2.pp5
-rw-r--r--manifests/profile/base/neutron/plugins/ml2/opendaylight.pp54
-rw-r--r--manifests/profile/base/neutron/plugins/ovs/opendaylight.pp73
-rw-r--r--manifests/profile/base/neutron/sriov.pp42
-rw-r--r--manifests/profile/base/ui.pp24
-rw-r--r--manifests/profile/pacemaker/manila.pp55
14 files changed, 346 insertions, 6 deletions
diff --git a/manifests/haproxy.pp b/manifests/haproxy.pp
index e2b2cc9..075433b 100644
--- a/manifests/haproxy.pp
+++ b/manifests/haproxy.pp
@@ -228,6 +228,10 @@
#
# [*zaqar_api*]
# (optional) Enable or not Zaqar Api binding
+# Defaults to false
+#
+# [*opendaylight*]
+# (optional) Enable or not OpenDaylight binding
# Defaults to false
#
# [*service_ports*]
@@ -329,6 +333,7 @@ class tripleo::haproxy (
$redis_password = undef,
$midonet_api = false,
$zaqar_api = false,
+ $opendaylight = false,
$service_ports = {}
) {
$default_service_ports = {
@@ -924,4 +929,27 @@ class tripleo::haproxy (
public_ssl_port => $ports[zaqar_api_ssl_port],
}
}
+
+ $opendaylight_api_vip = hiera('opendaylight_api_vip', $controller_virtual_ip)
+ $opendaylight_bind_opts = {
+ "${opendaylight_api_vip}:8081" => [],
+ "${public_virtual_ip}:8081" => [],
+ }
+
+ if $opendaylight {
+ haproxy::listen { 'opendaylight':
+ bind => $opendaylight_bind_opts,
+ options => {
+ 'balance' => 'source',
+ },
+ collect_exported => false,
+ }
+ haproxy::balancermember { 'opendaylight':
+ listening_service => 'opendaylight',
+ ports => '8081',
+ ipaddresses => hiera('opendaylight_api_node_ips', $controller_hosts_real),
+ server_names => $controller_hosts_names_real,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ }
+ }
}
diff --git a/manifests/profile/base/aodh/api.pp b/manifests/profile/base/aodh/api.pp
index 3c4c0b6..2dcf802 100644
--- a/manifests/profile/base/aodh/api.pp
+++ b/manifests/profile/base/aodh/api.pp
@@ -23,8 +23,14 @@
# for more details.
# Defaults to hiera('step')
#
+# [*enable_combination_alarms*]
+# (optional) Setting to enable combination alarms
+# Defaults to: false
+#
+
class tripleo::profile::base::aodh::api (
- $step = hiera('step'),
+ $step = hiera('step'),
+ $enable_combination_alarms = false,
) {
include ::tripleo::profile::base::aodh
@@ -32,5 +38,12 @@ class tripleo::profile::base::aodh::api (
if $step >= 4 {
include ::aodh::api
include ::aodh::wsgi::apache
+
+ #NOTE: Combination alarms are deprecated in newton and disabled by default.
+ # we need a way to override this setting for users still using this type
+ # of alarms.
+ aodh_config {
+ 'api/enable_combination_alarms' : value => $enable_combination_alarms;
+ }
}
}
diff --git a/manifests/profile/base/ceilometer/api.pp b/manifests/profile/base/ceilometer/api.pp
index b6419c2..da94da2 100644
--- a/manifests/profile/base/ceilometer/api.pp
+++ b/manifests/profile/base/ceilometer/api.pp
@@ -30,9 +30,6 @@ class tripleo::profile::base::ceilometer::api (
if $step >= 4 {
include ::ceilometer::api
- #NOTE: remove conditional once tht changes are merged
- if hiera('ceilometer_wsgi', false) {
- include ::ceilometer::wsgi::apache
- }
+ include ::ceilometer::wsgi::apache
}
}
diff --git a/manifests/profile/base/heat.pp b/manifests/profile/base/heat.pp
index dcf0f21..cafe95e 100644
--- a/manifests/profile/base/heat.pp
+++ b/manifests/profile/base/heat.pp
@@ -56,6 +56,7 @@ class tripleo::profile::base::heat (
notification_driver => $notification_driver,
}
include ::heat::config
+ include ::heat::cors
}
if $step >= 5 {
diff --git a/manifests/profile/base/ironic.pp b/manifests/profile/base/ironic.pp
index f098d37..da89839 100644
--- a/manifests/profile/base/ironic.pp
+++ b/manifests/profile/base/ironic.pp
@@ -45,5 +45,7 @@ class tripleo::profile::base::ironic (
class { '::ironic':
sync_db => $sync_db,
}
+
+ include ::ironic::cors
}
}
diff --git a/manifests/profile/base/keystone.pp b/manifests/profile/base/keystone.pp
index fc4ef8b..354d24c 100644
--- a/manifests/profile/base/keystone.pp
+++ b/manifests/profile/base/keystone.pp
@@ -58,6 +58,7 @@ class tripleo::profile::base::keystone (
include ::keystone::config
include ::keystone::wsgi::apache
+ include ::keystone::cors
if $manage_roles {
include ::keystone::roles::admin
diff --git a/manifests/profile/base/mistral.pp b/manifests/profile/base/mistral.pp
index 0c41193..cffb03e 100644
--- a/manifests/profile/base/mistral.pp
+++ b/manifests/profile/base/mistral.pp
@@ -46,5 +46,6 @@ class tripleo::profile::base::mistral (
include ::mistral::config
include ::mistral::client
include ::mistral::db::sync
+ include ::mistral::cors
}
}
diff --git a/manifests/profile/base/neutron/opendaylight.pp b/manifests/profile/base/neutron/opendaylight.pp
new file mode 100644
index 0000000..ffe28ce
--- /dev/null
+++ b/manifests/profile/base/neutron/opendaylight.pp
@@ -0,0 +1,46 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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::profile::base::neutron::opendaylight
+#
+# OpenDaylight Neutron profile for TripleO
+#
+# === Parameters
+#
+# [*step*]
+# (Optional) The current step of the deployment
+# Defaults to hiera('step')
+#
+# [*primary_controller*]
+# (Optional) The hostname of the first controller
+# Defaults to hiera('bootstrap_nodeid', undef)
+#
+class tripleo::profile::base::neutron::opendaylight (
+ $step = hiera('step'),
+ $primary_controller = hiera('bootstrap_nodeid', undef),
+) {
+
+ include ::tripleo::profile::base::neutron
+
+ if ! str2bool(hiera('opendaylight::enable_l3')) {
+ include ::tripleo::profile::base::neutron::l3
+ }
+
+ if $step >= 1 {
+ # Configure ODL only on first controller
+ if hiera('odl_on_controller') and $primary_controller == downcase($::hostname) {
+ include ::opendaylight
+ }
+ }
+}
diff --git a/manifests/profile/base/neutron/plugins/ml2.pp b/manifests/profile/base/neutron/plugins/ml2.pp
index c89bc02..401e627 100644
--- a/manifests/profile/base/neutron/plugins/ml2.pp
+++ b/manifests/profile/base/neutron/plugins/ml2.pp
@@ -63,5 +63,10 @@ class tripleo::profile::base::neutron::plugins::ml2 (
if 'bsn_ml2' in $mechanism_drivers {
include ::neutron::plugins::ml2::bigswitch::restproxy
}
+
+ if 'opendaylight' in $mechanism_drivers {
+ include ::tripleo::profile::base::neutron::plugins::ml2::opendaylight
+ }
+
}
}
diff --git a/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp b/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
new file mode 100644
index 0000000..f25aea6
--- /dev/null
+++ b/manifests/profile/base/neutron/plugins/ml2/opendaylight.pp
@@ -0,0 +1,54 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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::profile::base::neutron::plugins::ml2::opendaylight
+#
+# OpenDaylight ML2 Neutron profile for TripleO
+#
+# === Parameters
+#
+# [*odl_port*]
+# (Optional) Port to use for OpenDaylight
+# Defaults to hiera('opendaylight::odl_rest_port')
+#
+# [*conn_proto*]
+# (Optional) Protocol to use to for ODL REST access
+# Defaults to hiera('opendaylight::nb_connection_protocol')
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::neutron::plugins::ml2::opendaylight (
+ $odl_port = hiera('opendaylight::odl_rest_port'),
+ $conn_proto = hiera('opendaylight::nb_connection_protocol'),
+ $step = hiera('step'),
+) {
+
+ if $step >= 4 {
+ # Figure out ODL IP
+ if hiera('odl_on_controller') {
+ $odl_url_ip = hiera('opendaylight_api_vip')
+ } else {
+ $odl_url_ip = hiera('opendaylight::odl_bind_ip')
+ }
+
+ if ! $odl_url_ip { fail('OpenDaylight Controller IP/VIP is Empty') }
+
+ class { '::neutron::plugins::ml2::opendaylight':
+ odl_url => "${conn_proto}://${odl_url_ip}:${odl_port}/controller/nb/v2/neutron";
+ }
+ }
+}
diff --git a/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp b/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
new file mode 100644
index 0000000..7548046
--- /dev/null
+++ b/manifests/profile/base/neutron/plugins/ovs/opendaylight.pp
@@ -0,0 +1,73 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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::profile::base::neutron::plugins::ovs::opendaylight
+#
+# OpenDaylight Neutron OVS profile for TripleO
+#
+# === Parameters
+#
+# [*odl_port*]
+# (Optional) Port to use for OpenDaylight
+# Defaults to hiera('opendaylight::odl_rest_port')
+#
+# [*odl_check_url*]
+# (Optional) URL path used to check if ODL is up
+# Defaults to hiera('opendaylight_check_url')
+#
+# [*odl_api_ips*]
+# (Optional) List of OpenStack Controller IPs for ODL API
+# Defaults to hiera('opendaylight_api_node_ips')
+#
+# [*conn_proto*]
+# (Optional) Protocol to use to for ODL REST access
+# Defaults to hiera('opendaylight::nb_connection_protocol')
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::neutron::plugins::ovs::opendaylight (
+ $odl_port = hiera('opendaylight::odl_rest_port'),
+ $odl_check_url = hiera('opendaylight_check_url'),
+ $odl_api_ips = hiera('opendaylight_api_node_ips'),
+ $conn_proto = hiera('opendaylight::nb_connection_protocol'),
+ $step = hiera('step'),
+) {
+
+ if $step >= 4 {
+ # Figure out ODL IP (and VIP if on controller)
+ if hiera('odl_on_controller') {
+ $opendaylight_controller_ip = $odl_api_ips[0]
+ $odl_url_ip = hiera('opendaylight_api_vip')
+ } else {
+ $opendaylight_controller_ip = hiera('opendaylight::odl_bind_ip')
+ $odl_url_ip = $opendaylight_controller_ip
+ }
+
+ if ! $opendaylight_controller_ip { fail('OpenDaylight Controller IP is Empty') }
+
+ if ! $odl_url_ip { fail('OpenDaylight API VIP is Empty') }
+
+ # Build URL to check if ODL is up before connecting OVS
+ $opendaylight_url = "${conn_proto}://${odl_url_ip}:${odl_port}/${odl_check_url}"
+
+ class { '::neutron::plugins::ovs::opendaylight':
+ tunnel_ip => hiera('neutron::agents::ml2::ovs::local_ip'),
+ odl_check_url => $opendaylight_url,
+ odl_ovsdb_iface => "tcp:${opendaylight_controller_ip}:6640",
+ }
+ }
+}
diff --git a/manifests/profile/base/neutron/sriov.pp b/manifests/profile/base/neutron/sriov.pp
new file mode 100644
index 0000000..9b5f34c
--- /dev/null
+++ b/manifests/profile/base/neutron/sriov.pp
@@ -0,0 +1,42 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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::profile::base::neutron::sriov
+#
+# Neutron SR-IOV nic Agent profile for tripleo
+#
+# === Parameters
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+# [*mechanism_drivers*]
+# (Optional) The mechanism drivers to use with the Ml2 plugin
+# Defaults to hiera('neutron::plugins::ml2::mechanism_drivers')
+#
+
+class tripleo::profile::base::neutron::sriov(
+ $step = hiera('step'),
+ $mechanism_drivers = hiera('neutron::plugins::ml2::mechanism_drivers'),
+) {
+
+ if $step >= 4 {
+ if 'sriovnicswitch' in $mechanism_drivers {
+ include ::neutron::agents::ml2::sriov
+ }
+ }
+
+}
diff --git a/manifests/profile/base/ui.pp b/manifests/profile/base/ui.pp
new file mode 100644
index 0000000..22371d1
--- /dev/null
+++ b/manifests/profile/base/ui.pp
@@ -0,0 +1,24 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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::profile::base::ui
+#
+# UI profile for tripleo
+#
+class tripleo::profile::base::ui () {
+ package {'openstack-tripleo-ui': }
+
+ include ::apache
+}
+
diff --git a/manifests/profile/pacemaker/manila.pp b/manifests/profile/pacemaker/manila.pp
index 43ae875..37c67ab 100644
--- a/manifests/profile/pacemaker/manila.pp
+++ b/manifests/profile/pacemaker/manila.pp
@@ -83,6 +83,34 @@
# (Optional)
# Defaults to hiera('manila::backend::generic::volume_snapshot_name_template')
#
+# [*manila_cephfsnative_enable*]
+# (Optional) Enable the CephFS Native backend.
+# Defaults to hiera('manila_cephfsnative_enable_backend', 'false')
+#
+# [*cephfs_handles_share_servers*]
+# (Optional)
+# Defaults to hiera('manila::backend::cephfsnative::driver_handles_share_servers', false)
+#
+# [*cephfs_backend_name*]
+# (Optional)
+# Defaults to hiera('manila::backend::cephfsnative::cephfs_backend_name')
+#
+# [*cephfs_conf_path*]
+# (Optional)
+# Defaults to hiera('manila::backend::cephfsnative::cephfs_conf_path')
+#
+# [*cephfs_auth_id*]
+# (Optional)
+# Defaults to hiera('manila::backend::cephfsnative::cephfs_auth_id')
+#
+# [*cephfs_cluster_name*]
+# (Optional)
+# Defaults to hiera('manila::backend::cephfsnative::cephfs_cluster_name')
+#
+# [*cephfs_enable_snapshots*]
+# (Optional)
+# Defaults to hiera('manila::backend::cephfsnative::cephfs_enable_snapshots')
+#
class tripleo::profile::pacemaker::manila (
$bootstrap_node = hiera('bootstrap_nodeid'),
$cinder_volume_type = hiera('manila::backend::generic::cinder_volume_type', ''),
@@ -100,6 +128,13 @@ class tripleo::profile::pacemaker::manila (
$step = hiera('step'),
$volume_name_template = hiera('manila::backend::generic::volume_name_template'),
$volume_snapshot_name_template = hiera('manila::backend::generic::volume_snapshot_name_template'),
+ $manila_cephfsnative_enable = hiera('manila::backend::cephfsnative::enable_backend', false),
+ $cephfs_handles_share_servers = hiera('manila::backend::cephfsnative::driver_handles_share_servers'),
+ $cephfs_backend_name = hiera('manila::backend::cephfsnative::cephfs_backend_name'),
+ $cephfs_conf_path = hiera('manila::backend::cephfsnative::cephfs_conf_path'),
+ $cephfs_auth_id = hiera('manila::backend::cephfsnative::cephfs_auth_id'),
+ $cephfs_cluster_name = hiera('manila::backend::cephfsnative::cephfs_cluster_name'),
+ $cephfs_enable_snapshots = hiera('manila::backend::cephfsnative::cephfs_enable_snapshots'),
) {
if $::hostname == downcase($bootstrap_node) {
$pacemaker_master = true
@@ -145,7 +180,25 @@ class tripleo::profile::pacemaker::manila (
include ::manila::volume::cinder
}
- $manila_enabled_backends = delete_undef_values([$manila_generic_backend])
+ # manila cephfsnative:
+ if $manila_cephfsnative_enable {
+ $manila_cephfsnative_backend = hiera('manila::backend::cephfsnative::title')
+ manila::backend::cephfsnative { $manila_cephfsnative_backend :
+ driver_handles_share_servers => $cephfs_handles_share_servers,
+ cephfs_backend_name => $cephfs_backend_name,
+ cephfs_conf_path => $cephfs_conf_path,
+ cephfs_auth_id => $cephfs_auth_id,
+ cephfs_cluster_name => $cephfs_cluster_name,
+ cephfs_enable_snapshots => $cephfs_enable_snapshots,
+ }
+ }
+
+ $manila_enabled_backends = delete_undef_values(
+ [
+ $manila_generic_backend,
+ $manila_cephfsnative_backend
+ ]
+ )
class { '::manila::backends' :
enabled_share_backends => $manila_enabled_backends,
}