Merge pull request #447 from enovance/icehouse-support

Icehouse Support
This commit is contained in:
Sebastien Badia 2014-05-07 22:22:14 +02:00
commit c24f143132
23 changed files with 150 additions and 80 deletions

View File

@ -2,31 +2,31 @@ fixtures:
repositories: repositories:
'cinder': 'cinder':
repo: 'git://github.com/enovance/puppet-cinder' repo: 'git://github.com/enovance/puppet-cinder'
ref: 'bd1536626f2b5d66f9ea77bcd69ba7d1f5f33961' ref: 'eccaa59fb9635c62d108029e797388d456e8f6c2'
'keystone': 'keystone':
repo: 'git://github.com/enovance/puppet-keystone.git' repo: 'git://github.com/enovance/puppet-keystone.git'
ref: 'ce49f6b6d9bb0e89e3e1e63a88a1d63d5a930851' ref: '77dbc80de15b5ef02a5e89c8ef040e70df576a1d'
'nova': 'nova':
repo: 'git://github.com/enovance/puppet-nova.git' repo: 'git://github.com/enovance/puppet-nova.git'
ref: 'b7811392062b649572f470f5f3ddca1882997210' ref: '1e77a9d48a85a3ae6d30993b3c887f58e4a5973c'
'glance': 'glance':
repo: 'git://github.com/enovance/puppet-glance.git' repo: 'git://github.com/enovance/puppet-glance.git'
ref: '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda' ref: 'f3bbfd9efcc2436d6ed4beca87d62168bb109453'
'horizon': 'horizon':
repo: 'git://github.com/enovance/puppet-horizon' repo: 'git://github.com/enovance/puppet-horizon'
ref: 'da0cedce6f14f5c35e733ac345d8d862db11cd2b' ref: '36383e90d1c4013d7989561b00ffcb08c76908de'
'swift': 'swift':
repo: 'git://github.com/enovance/puppet-swift' repo: 'git://github.com/enovance/puppet-swift'
ref: '9b60581a1c8fd2c1a98adafc1bcdc53796859e23' ref: '9874edd2655e122bf8bd3eedc70e697bc5b83326'
'neutron': 'neutron':
repo: 'git://github.com/enovance/puppet-neutron' repo: 'git://github.com/enovance/puppet-neutron'
ref: '39b7efdbc83c65966b7a961df98561c5550c2d23' ref: '66c436bc2f06c5a71d79c674697394a11ec227f9'
'ceilometer': 'ceilometer':
repo: 'git://github.com/enovance/puppet-ceilometer' repo: 'git://github.com/enovance/puppet-ceilometer'
ref: 'f71f935a3e41dcd11f8f5986a1fe0708b124e589' ref: '615b6463ba04af34b810a358e106da25f208b080'
'heat': 'heat':
repo: 'git://github.com/enovance/puppet-heat' repo: 'git://github.com/enovance/puppet-heat'
ref: 'bdf094da21161ec6f78530775a0c41fc76fd3339' ref: '17736b2fd726858cb83590f8a8b1d594a087ea44'
'apt': 'apt':
repo: 'git://github.com/enovance/puppetlabs-apt.git' repo: 'git://github.com/enovance/puppetlabs-apt.git'
ref: '9b001af8775c7231ea2656b7eb43d6141b536f49' ref: '9b001af8775c7231ea2656b7eb43d6141b536f49'
@ -68,7 +68,7 @@ fixtures:
ref: 'ae23a4db97d2815ec305d0529912685f07746d3c' ref: 'ae23a4db97d2815ec305d0529912685f07746d3c'
'vswitch': 'vswitch':
repo: 'git://github.com/enovance/puppet-vswitch' repo: 'git://github.com/enovance/puppet-vswitch'
ref: '065fadb2d33857cd31f293677de56d18793e1412' ref: '49dbaff15e8f017dbe365ebf08eb505472b695a1'
'stdlib': 'stdlib':
repo: 'git://github.com/enovance/puppetlabs-stdlib.git' repo: 'git://github.com/enovance/puppetlabs-stdlib.git'
ref: '224b8f9a191f635b03ee900a9bf87bfdb0f1a6ed' ref: '224b8f9a191f635b03ee900a9bf87bfdb0f1a6ed'

View File

@ -19,31 +19,31 @@ forge 'http://forge.puppetlabs.com'
# Core OpenStack projects # Core OpenStack projects
mod 'ceilometer', mod 'ceilometer',
:git => 'git://github.com/enovance/puppet-ceilometer.git', :git => 'git://github.com/enovance/puppet-ceilometer.git',
:ref => 'f71f935a3e41dcd11f8f5986a1fe0708b124e589' :ref => '615b6463ba04af34b810a358e106da25f208b080'
mod 'cinder', mod 'cinder',
:git => 'git://github.com/enovance/puppet-cinder.git', :git => 'git://github.com/enovance/puppet-cinder.git',
:ref => 'bd1536626f2b5d66f9ea77bcd69ba7d1f5f33961' :ref => 'eccaa59fb9635c62d108029e797388d456e8f6c2'
mod 'glance', mod 'glance',
:git => 'git://github.com/enovance/puppet-glance.git', :git => 'git://github.com/enovance/puppet-glance.git',
:ref => '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda' :ref => 'f3bbfd9efcc2436d6ed4beca87d62168bb109453'
mod 'heat', mod 'heat',
:git => 'git://github.com/enovance/puppet-heat.git', :git => 'git://github.com/enovance/puppet-heat.git',
:ref => 'bdf094da21161ec6f78530775a0c41fc76fd3339' :ref => '17736b2fd726858cb83590f8a8b1d594a087ea44'
mod 'horizon', mod 'horizon',
:git => 'git://github.com/enovance/puppet-horizon.git', :git => 'git://github.com/enovance/puppet-horizon.git',
:ref => 'da0cedce6f14f5c35e733ac345d8d862db11cd2b' :ref => '36383e90d1c4013d7989561b00ffcb08c76908de'
mod 'keystone', mod 'keystone',
:git => 'git://github.com/enovance/puppet-keystone.git', :git => 'git://github.com/enovance/puppet-keystone.git',
:ref => 'ce49f6b6d9bb0e89e3e1e63a88a1d63d5a930851' :ref => '77dbc80de15b5ef02a5e89c8ef040e70df576a1d'
mod 'neutron', mod 'neutron',
:git => 'git://github.com/enovance/puppet-neutron.git', :git => 'git://github.com/enovance/puppet-neutron.git',
:ref => '39b7efdbc83c65966b7a961df98561c5550c2d23' :ref => '66c436bc2f06c5a71d79c674697394a11ec227f9'
mod 'nova', mod 'nova',
:git => 'git://github.com/enovance/puppet-nova.git', :git => 'git://github.com/enovance/puppet-nova.git',
:ref => 'b7811392062b649572f470f5f3ddca1882997210' :ref => '1e77a9d48a85a3ae6d30993b3c887f58e4a5973c'
mod 'swift', mod 'swift',
:git => 'git://github.com/enovance/puppet-swift.git', :git => 'git://github.com/enovance/puppet-swift.git',
:ref => '9b60581a1c8fd2c1a98adafc1bcdc53796859e23' :ref => '9874edd2655e122bf8bd3eedc70e697bc5b83326'
# Dependency # Dependency
mod 'apache', mod 'apache',
@ -122,7 +122,7 @@ mod 'sysctl',
:ref => '4a463384e844f51b270428643a5b8beb3628e854' :ref => '4a463384e844f51b270428643a5b8beb3628e854'
mod 'vswitch', mod 'vswitch',
:git => 'git://github.com/enovance/puppet-vswitch.git', :git => 'git://github.com/enovance/puppet-vswitch.git',
:ref => '065fadb2d33857cd31f293677de56d18793e1412' :ref => '49dbaff15e8f017dbe365ebf08eb505472b695a1'
mod 'xinetd', mod 'xinetd',
:git => 'git://github.com/enovance/puppetlabs-xinetd.git', :git => 'git://github.com/enovance/puppetlabs-xinetd.git',
:ref => '7557af0e418d1a587df04fe7d01322ff2473c32e' :ref => '7557af0e418d1a587df04fe7d01322ff2473c32e'

View File

@ -130,13 +130,13 @@ Host *
$libvirt_disk_cachemodes_real = ['network=writeback'] $libvirt_disk_cachemodes_real = ['network=writeback']
include 'cloud::storage::rbd' include 'cloud::storage::rbd'
# TODO(EmilienM) Temporary, while https://review.openstack.org/#/c/72440 got merged class { 'nova::compute::rbd':
libvirt_rbd_user => $cinder_rbd_user,
libvirt_images_rbd_pool => $nova_rbd_pool
}
# we don't want puppet-nova manages keyring
nova_config { nova_config {
'DEFAULT/libvirt_images_type': value => 'rbd'; 'libvirt/rbd_secret_uuid': value => $nova_rbd_secret_uuid;
'DEFAULT/libvirt_images_rbd_pool': value => $nova_rbd_pool;
'DEFAULT/libvirt_images_rbd_ceph_conf': value => '/etc/ceph/ceph.conf';
'DEFAULT/rbd_user': value => $cinder_rbd_user;
'DEFAULT/rbd_secret_uuid': value => $nova_rbd_secret_uuid;
} }
File <<| tag == 'ceph_compute_secret_file' |>> File <<| tag == 'ceph_compute_secret_file' |>>
@ -180,9 +180,9 @@ Host *
# Extra config for nova-compute # Extra config for nova-compute
nova_config { nova_config {
'DEFAULT/libvirt_inject_key': value => false; 'libvirt/inject_key': value => false;
'DEFAULT/libvirt_inject_partition': value => '-2'; 'libvirt/inject_partition': value => '-2';
'DEFAULT/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; 'libvirt/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST';
} }
class { 'ceilometer::agent::compute': } class { 'ceilometer::agent::compute': }

View File

@ -462,7 +462,6 @@ class cloud::identity (
if $swift_enabled { if $swift_enabled {
class {'swift::keystone::auth': class {'swift::keystone::auth':
address => $ks_swift_internal_host,
password => $ks_swift_password, password => $ks_swift_password,
public_address => $ks_swift_public_host, public_address => $ks_swift_public_host,
public_port => $ks_swift_public_port, public_port => $ks_swift_public_port,

View File

@ -131,8 +131,7 @@ class cloud::image::api(
# rabbit_host => $rabbit_host, # rabbit_host => $rabbit_host,
# } # }
glance_api_config { glance_api_config {
# TODO(EmilienM) Will be deprecated in Icehouse for notification_driver. 'DEFAULT/notifier_driver': value => 'noop';
'DEFAULT/notifier_strategy': value => 'noop';
} }
class { 'glance::backend::rbd': class { 'glance::backend::rbd':

View File

@ -101,6 +101,7 @@ class cloud::network(
service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
log_dir => $log_dir, log_dir => $log_dir,
dhcp_lease_duration => $dhcp_lease_duration, dhcp_lease_duration => $dhcp_lease_duration,
report_interval => '30',
} }
class { 'neutron::agents::ovs': class { 'neutron::agents::ovs':
@ -116,7 +117,7 @@ class cloud::network(
network_vlan_ranges => $provider_vlan_ranges, network_vlan_ranges => $provider_vlan_ranges,
tunnel_id_ranges => ['1:10000'], tunnel_id_ranges => ['1:10000'],
mechanism_drivers => ['openvswitch','l2population'], mechanism_drivers => ['openvswitch','l2population'],
enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' enable_security_group => true
} }
# TODO(EmilienM) Temporary, need to be fixed upstream. # TODO(EmilienM) Temporary, need to be fixed upstream.

View File

@ -25,7 +25,13 @@ class cloud::network::controller(
$ks_keystone_public_port = 5000, $ks_keystone_public_port = 5000,
$ks_neutron_public_port = 9696, $ks_neutron_public_port = 9696,
$api_eth = '127.0.0.1', $api_eth = '127.0.0.1',
$ks_admin_tenant = 'admin' $ks_admin_tenant = 'admin',
$nova_url = 'http://127.0.0.1:8774/v2',
$nova_admin_auth_url = 'http://127.0.0.1:35357/v2.0',
$nova_admin_username = 'nova',
$nova_admin_tenant_name = 'services',
$nova_admin_password = 'novapassword',
$nova_region_name = 'RegionOne'
) { ) {
include 'cloud::network' include 'cloud::network'
@ -40,7 +46,15 @@ class cloud::network::controller(
database_connection => "mysql://${encoded_user}:${encoded_password}@${neutron_db_host}/neutron?charset=utf8", database_connection => "mysql://${encoded_user}:${encoded_password}@${neutron_db_host}/neutron?charset=utf8",
api_workers => $::processorcount, api_workers => $::processorcount,
agent_down_time => '60', agent_down_time => '60',
report_interval => '30', }
class { 'neutron::server::notifications':
nova_url => $nova_url,
nova_admin_auth_url => $nova_admin_auth_url,
nova_admin_username => $nova_admin_username,
nova_admin_tenant_name => $nova_admin_tenant_name,
nova_admin_password => $nova_admin_password,
nova_region_name => $nova_region_name
} }
# Note(EmilienM): # Note(EmilienM):

View File

@ -25,13 +25,11 @@ class cloud::network::dhcp(
include 'cloud::network' include 'cloud::network'
class { 'neutron::agents::dhcp': class { 'neutron::agents::dhcp':
debug => $debug debug => $debug,
dnsmasq_config_file => '/etc/neutron/dnsmasq-neutron.conf',
enable_isolated_metadata => true
} }
neutron_dhcp_agent_config {
'DEFAULT/dnsmasq_config_file': value => '/etc/neutron/dnsmasq-neutron.conf';
'DEFAULT/enable_isolated_metadata': value => true;
}
if $dnsmasq_dns_server { if $dnsmasq_dns_server {
neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_server': neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_server':
value => $dnsmasq_dns_server value => $dnsmasq_dns_server

View File

@ -21,23 +21,27 @@ class cloud::orchestration::api(
$ks_heat_cfn_internal_port = 8000, $ks_heat_cfn_internal_port = 8000,
$ks_heat_cloudwatch_internal_port = 8003, $ks_heat_cloudwatch_internal_port = 8003,
$api_eth = '127.0.0.1', $api_eth = '127.0.0.1',
$workers = $::processorcount,
) { ) {
include 'cloud::orchestration' include 'cloud::orchestration'
class { 'heat::api': class { 'heat::api':
bind_host => $api_eth, bind_host => $api_eth,
bind_port => $ks_heat_internal_port bind_port => $ks_heat_internal_port,
workers => $workers
} }
class { 'heat::api_cfn': class { 'heat::api_cfn':
bind_host => $api_eth, bind_host => $api_eth,
bind_port => $ks_heat_cfn_internal_port bind_port => $ks_heat_cfn_internal_port,
workers => $workers
} }
class { 'heat::api_cloudwatch': class { 'heat::api_cloudwatch':
bind_host => $api_eth, bind_host => $api_eth,
bind_port => $ks_heat_cloudwatch_internal_port bind_port => $ks_heat_cloudwatch_internal_port,
workers => $workers
} }
@@haproxy::balancermember{"${::fqdn}-heat_api": @@haproxy::balancermember{"${::fqdn}-heat_api":

View File

@ -0,0 +1,25 @@
#
# Copyright (C) 2014 eNovance SAS <licensing@enovance.com>
#
# 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.
#
# Telemetry Notifications nodes
#
class cloud::telemetry::notification {
include 'cloud::telemetry'
class { 'ceilometer::agent::notification': }
}

View File

@ -38,5 +38,6 @@ class cloud::telemetry::server(
class { 'cloud::telemetry::alarmevaluator': } class { 'cloud::telemetry::alarmevaluator': }
class { 'cloud::telemetry::alarmnotifier': } class { 'cloud::telemetry::alarmnotifier': }
class { 'cloud::telemetry::collector': } class { 'cloud::telemetry::collector': }
class { 'cloud::telemetry::notification': }
} }

View File

@ -140,8 +140,7 @@ describe 'cloud::compute::controller' do
let :facts do let :facts do
{ :osfamily => 'RedHat' } { :osfamily => 'RedHat' }
end end
#TODO(sbadia) Wait https://review.openstack.org/#/c/72449/ in stable/havana it_configures 'openstack compute controller'
#it_configures 'openstack compute controller'
end end
end end

View File

@ -138,7 +138,8 @@ describe 'cloud::compute::hypervisor' do
:bind_host => '10.0.0.1', :bind_host => '10.0.0.1',
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false :log_dir => false,
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -152,7 +153,7 @@ describe 'cloud::compute::hypervisor' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end
@ -219,7 +220,7 @@ describe 'cloud::compute::hypervisor' do
end end
it 'should not configure nova-compute for RBD backend' do it 'should not configure nova-compute for RBD backend' do
should_not contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') should_not contain_nova_config('libvirt/rbd_user').with('value' => 'cinder')
end end
it 'configure libvirt driver without disk cachemodes' do it 'configure libvirt driver without disk cachemodes' do
@ -233,9 +234,9 @@ describe 'cloud::compute::hypervisor' do
it 'configure nova-compute with extra parameters' do it 'configure nova-compute with extra parameters' do
should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone')
should contain_nova_config('DEFAULT/libvirt_inject_key').with('value' => false) should contain_nova_config('libvirt/inject_key').with('value' => false)
should contain_nova_config('DEFAULT/libvirt_inject_partition').with('value' => '-2') should contain_nova_config('libvirt/inject_partition').with('value' => '-2')
should contain_nova_config('DEFAULT/live_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST') should contain_nova_config('libvirt/live_migration_flag').with('value' => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST')
end end
context 'with dbus on Ubuntu' do context 'with dbus on Ubuntu' do
@ -265,11 +266,11 @@ describe 'cloud::compute::hypervisor' do
end end
it 'configure nova-compute to support RBD backend' do it 'configure nova-compute to support RBD backend' do
should contain_nova_config('DEFAULT/libvirt_images_type').with('value' => 'rbd') should contain_nova_config('libvirt/images_type').with('value' => 'rbd')
should contain_nova_config('DEFAULT/libvirt_images_rbd_pool').with('value' => 'nova') should contain_nova_config('libvirt/images_rbd_pool').with('value' => 'nova')
should contain_nova_config('DEFAULT/libvirt_images_rbd_ceph_conf').with('value' => '/etc/ceph/ceph.conf') should contain_nova_config('libvirt/images_rbd_ceph_conf').with('value' => '/etc/ceph/ceph.conf')
should contain_nova_config('DEFAULT/rbd_user').with('value' => 'cinder') should contain_nova_config('libvirt/rbd_user').with('value' => 'cinder')
should contain_nova_config('DEFAULT/rbd_secret_uuid').with('value' => 'secrete') should contain_nova_config('libvirt/rbd_secret_uuid').with('value' => 'secrete')
should contain_group('cephkeyring').with(:ensure => 'present') should contain_group('cephkeyring').with(:ensure => 'present')
should contain_exec('add-nova-to-group').with( should contain_exec('add-nova-to-group').with(
:command => 'usermod -a -G cephkeyring nova', :command => 'usermod -a -G cephkeyring nova',

View File

@ -161,7 +161,6 @@ describe 'cloud::identity' do
it 'configure swift endpoints' do it 'configure swift endpoints' do
should contain_class('swift::keystone::auth').with( should contain_class('swift::keystone::auth').with(
:address => '10.0.0.1',
:password => 'secrete', :password => 'secrete',
:public_address => '10.0.0.1', :public_address => '10.0.0.1',
:public_port => '8080', :public_port => '8080',

View File

@ -92,7 +92,7 @@ describe 'cloud::image' do
# :rabbit_host => '10.0.0.1' # :rabbit_host => '10.0.0.1'
# ) # )
# end # end
it { should contain_glance_api_config('DEFAULT/notifier_strategy').with_value('noop') } it { should contain_glance_api_config('DEFAULT/notifier_driver').with_value('noop') }
it 'configure glance rbd backend' do it 'configure glance rbd backend' do
should contain_class('glance::backend::rbd').with( should contain_class('glance::backend::rbd').with(

View File

@ -43,6 +43,12 @@ describe 'cloud::network::controller' do
:ks_neutron_password => 'secrete', :ks_neutron_password => 'secrete',
:ks_keystone_admin_host => '10.0.0.1', :ks_keystone_admin_host => '10.0.0.1',
:ks_keystone_public_port => '5000', :ks_keystone_public_port => '5000',
:nova_url => 'http://127.0.0.1:8774/v2',
:nova_admin_auth_url => 'http://127.0.0.1:35357/v2.0',
:nova_admin_username => 'nova',
:nova_admin_tenant_name => 'services',
:nova_admin_password => 'novapassword',
:nova_region_name => 'RegionOne',
:api_eth => '10.0.0.1' } :api_eth => '10.0.0.1' }
end end
@ -62,7 +68,8 @@ describe 'cloud::network::controller' do
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false, :log_dir => false,
:dhcp_lease_duration => '10' :dhcp_lease_duration => '10',
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -76,7 +83,7 @@ describe 'cloud::network::controller' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end
@ -87,11 +94,20 @@ describe 'cloud::network::controller' do
:auth_port => '5000', :auth_port => '5000',
:database_connection => 'mysql://neutron:secrete@10.0.0.1/neutron?charset=utf8', :database_connection => 'mysql://neutron:secrete@10.0.0.1/neutron?charset=utf8',
:api_workers => '2', :api_workers => '2',
:agent_down_time => '60', :agent_down_time => '60'
:report_interval => '30'
) )
end end
it 'configure neutron server notifications to nova' do
should contain_class('neutron::server::notifications').with(
:nova_url => 'http://127.0.0.1:8774/v2',
:nova_admin_auth_url => 'http://127.0.0.1:35357/v2.0',
:nova_admin_username => 'nova',
:nova_admin_tenant_name => 'services',
:nova_admin_password => 'novapassword',
:nova_region_name => 'RegionOne'
)
end
it 'checks if Neutron DB is populated' do it 'checks if Neutron DB is populated' do
should contain_exec('neutron_db_sync').with( should contain_exec('neutron_db_sync').with(
:command => 'neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head', :command => 'neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head',

View File

@ -57,7 +57,8 @@ describe 'cloud::network::dhcp' do
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false, :log_dir => false,
:dhcp_lease_duration => '10' :dhcp_lease_duration => '10',
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -71,17 +72,17 @@ describe 'cloud::network::dhcp' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end
it 'configure neutron dhcp' do it 'configure neutron dhcp' do
should contain_class('neutron::agents::dhcp').with( should contain_class('neutron::agents::dhcp').with(
:debug => true :debug => true,
:dnsmasq_config_file => '/etc/neutron/dnsmasq-neutron.conf',
:enable_isolated_metadata => true
) )
should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_config_file').with_value('/etc/neutron/dnsmasq-neutron.conf')
should contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value(true)
should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_server').with_ensure('absent') should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_server').with_ensure('absent')
should contain_file('/etc/neutron/dnsmasq-neutron.conf').with( should contain_file('/etc/neutron/dnsmasq-neutron.conf').with(

View File

@ -57,7 +57,8 @@ describe 'cloud::network::l3' do
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false, :log_dir => false,
:dhcp_lease_duration => '10' :dhcp_lease_duration => '10',
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -71,7 +72,7 @@ describe 'cloud::network::l3' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end

View File

@ -57,7 +57,8 @@ describe 'cloud::network::lbaas' do
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false, :log_dir => false,
:dhcp_lease_duration => '10' :dhcp_lease_duration => '10',
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -71,7 +72,7 @@ describe 'cloud::network::lbaas' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end

View File

@ -64,7 +64,8 @@ describe 'cloud::network::metadata' do
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false, :log_dir => false,
:dhcp_lease_duration => '10' :dhcp_lease_duration => '10',
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -78,7 +79,7 @@ describe 'cloud::network::metadata' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end

View File

@ -52,7 +52,8 @@ describe 'cloud::network::vpn' do
:core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin',
:service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'], :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'],
:log_dir => false, :log_dir => false,
:dhcp_lease_duration => '10' :dhcp_lease_duration => '10',
:report_interval => '30'
) )
should contain_class('neutron::agents::ovs').with( should contain_class('neutron::agents::ovs').with(
:enable_tunneling => true, :enable_tunneling => true,
@ -66,7 +67,7 @@ describe 'cloud::network::vpn' do
:mechanism_drivers => ['openvswitch','l2population'], :mechanism_drivers => ['openvswitch','l2population'],
:tunnel_id_ranges => ['1:10000'], :tunnel_id_ranges => ['1:10000'],
:network_vlan_ranges => ['physnet1:1000:2999'], :network_vlan_ranges => ['physnet1:1000:2999'],
:enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' :enable_security_group => true
) )
end end

View File

@ -73,15 +73,18 @@ describe 'cloud::orchestration::api' do
it 'configure heat api' do it 'configure heat api' do
should contain_class('heat::api').with( should contain_class('heat::api').with(
:bind_host => '10.0.0.1', :bind_host => '10.0.0.1',
:bind_port => '8004' :bind_port => '8004',
:workers => '8'
) )
should contain_class('heat::api_cfn').with( should contain_class('heat::api_cfn').with(
:bind_host => '10.0.0.1', :bind_host => '10.0.0.1',
:bind_port => '8000' :bind_port => '8000',
:workers => '8'
) )
should contain_class('heat::api_cloudwatch').with( should contain_class('heat::api_cloudwatch').with(
:bind_host => '10.0.0.1', :bind_host => '10.0.0.1',
:bind_port => '8003' :bind_port => '8003',
:workers => '8'
) )
end end
@ -98,7 +101,8 @@ describe 'cloud::orchestration::api' do
context 'on Debian platforms' do context 'on Debian platforms' do
let :facts do let :facts do
{ :osfamily => 'Debian' } { :osfamily => 'Debian',
:processorcount => '8' }
end end
it_configures 'openstack orchestration api' it_configures 'openstack orchestration api'
@ -106,7 +110,8 @@ describe 'cloud::orchestration::api' do
context 'on RedHat platforms' do context 'on RedHat platforms' do
let :facts do let :facts do
{ :osfamily => 'RedHat' } { :osfamily => 'RedHat',
:processorcount => '8' }
end end
it_configures 'openstack orchestration api' it_configures 'openstack orchestration api'

View File

@ -70,6 +70,10 @@ describe 'cloud::telemetry::server' do
should contain_class('ceilometer::collector') should contain_class('ceilometer::collector')
end end
it 'configure ceilometer notification agent' do
should contain_class('ceilometer::agent::notification')
end
it 'configure ceilometer alarm evaluator' do it 'configure ceilometer alarm evaluator' do
should contain_class('ceilometer::alarm::evaluator') should contain_class('ceilometer::alarm::evaluator')
end end