Merge "Make Horizon get Neutron related parameters from Hiera"

This commit is contained in:
Jenkins 2016-06-20 11:47:48 +00:00 committed by Gerrit Code Review
commit a517f0121b
2 changed files with 34 additions and 12 deletions

View File

@ -43,8 +43,6 @@ class openstack_tasks::horizon::horizon {
# Don't use custom backend until its code lands to MOS 9.0.
$cache_backend = try_get_value($horizon_hash, 'cache_backend', 'django.core.cache.backends.memcached.MemcachedCache')
$neutron_dvr = pick($neutron_advanced_config['neutron_dvr'], false)
$ssl_hash = hiera_hash('use_ssl', {})
$internal_auth_protocol = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'protocol', 'http')
$internal_auth_address = get_ssl_property($ssl_hash, {}, 'keystone', 'internal', 'hostname', [$service_endpoint, $management_vip])
@ -53,7 +51,16 @@ class openstack_tasks::horizon::horizon {
$keystone_url = "${internal_auth_protocol}://${internal_auth_address}:${internal_auth_port}/${keystone_api}"
$cinder_options = {'enable_backup' => pick($storage_hash['volumes_ceph'], false)}
$neutron_options = {'enable_distributed_router' => $neutron_dvr}
$neutron_options = {
'enable_lb' => pick($neutron_advanced_config['neutron_lb'], false),
'enable_firewall' => pick($neutron_advanced_config['neutron_firewall'], false),
'enable_quotas' => pick($neutron_advanced_config['neutron_quotas'], true),
'enable_security_group' => pick($neutron_advanced_config['neutron_security_group'], true),
'enable_vpn' => pick($neutron_advanced_config['neutron_vpn'], false),
'enable_distributed_router' => pick($neutron_advanced_config['neutron_dvr'], false),
'enable_ha_router' => pick($neutron_advanced_config['neutron_ha_router'], false),
'profile_support' => pick($neutron_advanced_config['neutron_profile_support'], 'None'),
}
$hypervisor_options = {'enable_quotas' => hiera('nova_quota')}
$temp_root_default = '/var/lib/horizon'

View File

@ -75,6 +75,17 @@ describe manifest do
Noop.puppet_function 'pick', horizon_hash['upload_max_size'], '10737418235'
end
let(:neutron_advanced_config) { Noop.hiera_hash 'neutron_advanced_configuration', {} }
let(:enable_lb) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_lb'], false }
let(:enable_firewall) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_firewall'], false }
let(:enable_quotas) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_quotas'], true }
let(:enable_security_group) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_security_group'], true }
let(:enable_vpn) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_vpn'], false }
let(:enable_distributed_router) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_dvr'], false }
let(:enable_ha_router) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_ha_router'], false }
let(:profile_support) { Noop.puppet_function 'pick', neutron_advanced_config['neutron_profile_support'], 'None' }
it 'contains ::horizon::wsgi::apache' do
if facts[:osfamily] == 'Debian' and file_upload_max_size
custom_fragment = "\n <Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>\n Order allow,deny\n Allow from all\n </Directory>\n\n LimitRequestBody #{file_upload_max_size}\n\n"
@ -145,17 +156,21 @@ describe manifest do
)
end
context 'with Neutron DVR', :if => Noop.hiera_structure('neutron_advanced_configuration/neutron_dvr') do
it 'should configure horizon for neutron DVR' do
should contain_class('horizon').with(
'neutron_options' => {
'enable_distributed_router' => Noop.hiera_structure('neutron_advanced_configuration/neutron_dvr')
}
)
end
it 'should configure horizon to use advanced neutron options' do
should contain_class('horizon').with(
'neutron_options' => {
'enable_lb' => enable_lb,
'enable_firewall' => enable_firewall,
'enable_quotas' => enable_quotas,
'enable_security_group' => enable_security_group,
'enable_vpn' => enable_vpn,
'enable_distributed_router' => enable_distributed_router,
'enable_ha_router' => enable_ha_router,
'profile_support' => profile_support,
}
)
end
it 'should have explicit ordering between LB classes and particular actions' do
expect(graph).to ensure_transitive_dependency("Class[horizon]", "Haproxy_backend_status[keystone-public]")
expect(graph).to ensure_transitive_dependency("Class[horizon]", "Haproxy_backend_status[keystone-admin]")