summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Camacho <ccamacho@redhat.com>2016-06-29 15:25:23 +0200
committerEmilien Macchi <emilien@redhat.com>2016-07-11 17:18:07 -0400
commitc4f27255c50a8afc737346db549b701515494f79 (patch)
treeb94b56ad3ace36b7c68b2dbc686b3fbb866ec50c
parent81ee3b79d01f065528b0e17675aba311863c25b2 (diff)
Composable Horizon service - tripleo-heat-templates
Add horizon as a composable service Depends-on: Iff6508972edfd5f330b239719bc5eb14d3f71944 Change-Id: I734c3e0784c25f30adff2e13faf1155a3e45cefd Partially-implements: blueprint composable-services-within-roles
-rw-r--r--overcloud-resource-registry-puppet.yaml1
-rw-r--r--overcloud.yaml7
-rw-r--r--puppet/controller.yaml6
-rw-r--r--puppet/manifests/overcloud_controller.pp21
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp27
-rw-r--r--puppet/services/horizon.yaml34
6 files changed, 37 insertions, 59 deletions
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index bc902a78..379daab8 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -178,6 +178,7 @@ resource_registry:
OS::TripleO::Services::CeilometerExpirer: puppet/services/ceilometer-expirer.yaml
OS::TripleO::Services::CeilometerAgentCentral: puppet/services/ceilometer-agent-central.yaml
OS::TripleO::Services::CeilometerAgentNotification: puppet/services/ceilometer-agent-notification.yaml
+ OS::TripleO::Services::Horizon: puppet/services/horizon.yaml
parameter_defaults:
EnablePackageInstall: false
diff --git a/overcloud.yaml b/overcloud.yaml
index 255c7b57..1e56126d 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -48,10 +48,6 @@ parameters:
default: /dev/log
description: Syslog address where HAproxy will send its log
type: string
- HorizonAllowedHosts:
- default: '*'
- description: A list of IP/Hostname allowed to connect to horizon
- type: comma_delimited_list
ImageUpdatePolicy:
default: 'REBUILD_PRESERVE_EPHEMERAL'
description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
@@ -512,6 +508,8 @@ parameters:
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CeilometerAgentCentral
- OS::TripleO::Services::CeilometerAgentNotification
+ - OS::TripleO::Services::Horizon
+
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
@@ -789,7 +787,6 @@ resources:
GnocchiIndexerBackend: {get_param: GnocchiIndexerBackend}
HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
- HorizonAllowedHosts: {get_param: HorizonAllowedHosts}
HorizonSecret: {get_resource: HorizonSecret}
Image: {get_param: controllerImage}
ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index 65238eb5..79b141db 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -128,10 +128,6 @@ parameters:
description: Auth encryption key for heat-engine
type: string
hidden: true
- HorizonAllowedHosts:
- default: '*'
- description: A list of IP/Hostname allowed to connect to horizon
- type: comma_delimited_list
HorizonSecret:
description: Secret key for Django
type: string
@@ -524,7 +520,6 @@ resources:
haproxy_stats_password: {get_param: HAProxyStatsPassword}
haproxy_stats_user: {get_param: HAProxyStatsUser}
heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
- horizon_allowed_hosts: {get_param: HorizonAllowedHosts}
horizon_secret: {get_param: HorizonSecret}
admin_password: {get_param: AdminPassword}
debug: {get_param: Debug}
@@ -894,7 +889,6 @@ resources:
# Horizon
apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
apache::ip: {get_input: horizon_network}
- horizon::allowed_hosts: {get_input: horizon_allowed_hosts}
horizon::django_debug: {get_input: debug}
horizon::secret_key: {get_input: horizon_secret}
horizon::bind_address: {get_input: horizon_network}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 4f15bb72..9cdbda0f 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -77,27 +77,6 @@ if hiera('step') >= 4 {
include ::aodh::listener
include ::aodh::client
- # Horizon
- include ::apache::mod::remoteip
- if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- $_profile_support = 'cisco'
- } else {
- $_profile_support = 'None'
- }
- $neutron_options = merge({'profile_support' => $_profile_support },hiera('horizon::neutron_options',undef))
-
- $memcached_ipv6 = hiera('memcached_ipv6', false)
- if $memcached_ipv6 {
- $horizon_memcached_servers = hiera('memcache_node_ips_v6', '[::1]')
- } else {
- $horizon_memcached_servers = hiera('memcache_node_ips', '127.0.0.1')
- }
-
- class { '::horizon':
- cache_server_ip => $horizon_memcached_servers,
- neutron_options => $neutron_options,
- }
-
# Gnocchi
$gnocchi_database_connection = hiera('gnocchi_mysql_conn_string')
class { '::gnocchi':
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 9a9d0081..cfa693be 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -269,33 +269,6 @@ MYSQL_HOST=localhost\n",
include ::nova::config
- # httpd/apache and horizon
- # NOTE(gfidente): server-status can be consumed by the pacemaker resource agent
- class { '::apache' :
- service_enable => false,
- # service_manage => false, # <-- not supported with horizon&apache mod_wsgi?
- }
- include ::apache::mod::remoteip
- include ::apache::mod::status
- if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- $_profile_support = 'cisco'
- } else {
- $_profile_support = 'None'
- }
- $neutron_options = merge({'profile_support' => $_profile_support },hiera('horizon::neutron_options',undef))
-
- $memcached_ipv6 = hiera('memcached_ipv6', false)
- if $memcached_ipv6 {
- $horizon_memcached_servers = hiera('memcache_node_ips_v6', '[::1]')
- } else {
- $horizon_memcached_servers = hiera('memcache_node_ips', '127.0.0.1')
- }
-
- class { '::horizon':
- cache_server_ip => $horizon_memcached_servers,
- neutron_options => $neutron_options,
- }
-
# Aodh
class { '::aodh' :
database_connection => hiera('aodh_mysql_conn_string'),
diff --git a/puppet/services/horizon.yaml b/puppet/services/horizon.yaml
new file mode 100644
index 00000000..01cf5791
--- /dev/null
+++ b/puppet/services/horizon.yaml
@@ -0,0 +1,34 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Horizon service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ HorizonAllowedHosts:
+ default: '*'
+ description: A list of IP/Hostname allowed to connect to horizon
+ type: comma_delimited_list
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network.
+ type: comma_delimited_list
+
+outputs:
+ role_data:
+ description: Role data for the Horizon role.
+ value:
+ config_settings:
+ horizon::allowed_hosts: {get_param: HorizonAllowedHosts}
+ neutron::plugins::ml2::mechanism_drivers:
+ str_replace:
+ template: MECHANISMS
+ params:
+ MECHANISMS: {get_param: NeutronMechanismDrivers}
+ step_config: |
+ include ::tripleo::profile::base::horizon