Merge pull request #447 from enovance/icehouse-support
Icehouse Support
This commit is contained in:
commit
c24f143132
@ -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'
|
||||||
|
20
Puppetfile
20
Puppetfile
@ -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'
|
||||||
|
@ -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': }
|
||||||
|
@ -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,
|
||||||
|
@ -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':
|
||||||
|
@ -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.
|
||||||
|
@ -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):
|
||||||
|
@ -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
|
||||||
|
@ -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":
|
||||||
|
25
manifests/telemetry/notification.pp
Normal file
25
manifests/telemetry/notification.pp
Normal 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': }
|
||||||
|
|
||||||
|
}
|
@ -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': }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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',
|
||||||
|
@ -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',
|
||||||
|
@ -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(
|
||||||
|
@ -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',
|
||||||
|
@ -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(
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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'
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user