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
This commit is contained in:
Carlos Camacho 2016-06-29 15:25:23 +02:00 committed by Emilien Macchi
parent 81ee3b79d0
commit c4f27255c5
6 changed files with 37 additions and 59 deletions

View File

@ -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

View File

@ -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}

View File

@ -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}

View File

@ -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':

View File

@ -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'),

View File

@ -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