
CI is currently flacky / broken.
1. ubuntu: exclude test_create_show_delete_firewall from tempest
f2088f3b7b
This patch broke us when running Tempest with Ubuntu Ocata.
File "/usr/lib/python2.7/dist-packages/neutron_fwaas/tests/tempest_plugin/tests/api/test_fwaas_extensions.py", line 102, in _wait_until_ready
if not test.call_until_true(_wait, CONF.network.build_timeout,
AttributeError: 'module' object has no attribute 'call_until_true'
2. Start Designate services after RabbitMQ resources are ready
This makes sure Designate services can start correctly at first Puppet
run and make second Puppet run idempotent.
3. Disable vitrage which is unstable now, until we figure out what's
wrong with configuration. It seems related to auth parameters.
Change-Id: I84921cbf4f4f838bff4f970113e709181801bed9
126 lines
4.2 KiB
Puppet
126 lines
4.2 KiB
Puppet
# Configure the Designate service
|
|
#
|
|
|
|
class openstack_integration::designate {
|
|
|
|
include ::openstack_integration::config
|
|
include ::openstack_integration::params
|
|
include ::openstack_integration::bind
|
|
|
|
rabbitmq_user { 'designate':
|
|
admin => true,
|
|
password => 'an_even_bigger_secret',
|
|
provider => 'rabbitmqctl',
|
|
require => Class['::rabbitmq'],
|
|
}
|
|
rabbitmq_user_permissions { 'designate@/':
|
|
configure_permission => '.*',
|
|
write_permission => '.*',
|
|
read_permission => '.*',
|
|
provider => 'rabbitmqctl',
|
|
require => Class['::rabbitmq'],
|
|
}
|
|
|
|
Rabbitmq_user_permissions['designate@/'] -> Service<| tag == 'designate-service' |>
|
|
|
|
class { '::designate::db::mysql':
|
|
password => 'designate',
|
|
}
|
|
|
|
class { '::designate':
|
|
rabbit_userid => 'designate',
|
|
rabbit_password => 'an_even_bigger_secret',
|
|
rabbit_host => $::openstack_integration::config::ip_for_url,
|
|
rabbit_port => $::openstack_integration::config::rabbit_port,
|
|
# TODO(aschultz): switch after ubuntu updates designate to a version
|
|
# that works with this.
|
|
#default_transport_url => os_transport_url({
|
|
# 'transport' => 'rabbit',
|
|
# 'host' => $::openstack_integration::config::host,
|
|
# 'port' => $::openstack_integration::config::rabbit_port,
|
|
# 'username' => 'designate',
|
|
# 'password' => 'an_even_bigger_secret',
|
|
#}),
|
|
rabbit_use_ssl => $::openstack_integration::config::ssl,
|
|
debug => true,
|
|
}
|
|
|
|
class { '::designate::db':
|
|
database_connection => 'mysql+pymysql://designate:designate@127.0.0.1/designate?charset=utf8'
|
|
}
|
|
|
|
include '::designate::client'
|
|
|
|
# TODO: Support SSL
|
|
class { '::designate::keystone::auth':
|
|
password => 'a_big_secret',
|
|
public_url => "http://${::openstack_integration::config::ip_for_url}:9001",
|
|
internal_url => "http://${::openstack_integration::config::ip_for_url}:9001",
|
|
admin_url => "http://${::openstack_integration::config::ip_for_url}:9001",
|
|
}
|
|
class { '::designate::keystone::authtoken':
|
|
password => 'a_big_secret',
|
|
user_domain_name => 'Default',
|
|
project_domain_name => 'Default',
|
|
auth_url => $::openstack_integration::config::keystone_admin_uri,
|
|
auth_uri => $::openstack_integration::config::keystone_auth_uri,
|
|
memcached_servers => $::openstack_integration::config::memcached_servers,
|
|
}
|
|
|
|
class { '::designate::api':
|
|
listen => "${::openstack_integration::config::ip_for_url}:9001",
|
|
api_base_uri => "http://${::openstack_integration::config::ip_for_url}:9001",
|
|
auth_strategy => 'keystone',
|
|
enable_api_v2 => true,
|
|
enable_api_admin => true
|
|
}
|
|
|
|
# IPv6 doesn't work for mdns ? https://bugs.launchpad.net/designate/+bug/1501396
|
|
class { '::designate::mdns':
|
|
listen => '127.0.0.1:5354'
|
|
}
|
|
|
|
class { '::designate::central':
|
|
backend_driver => 'bind9',
|
|
}
|
|
|
|
class { '::designate::pool_manager':
|
|
pool_id => '794ccc2c-d751-44fe-b57f-8894c9f5c842',
|
|
}
|
|
|
|
class { '::designate::pool_manager_cache::memcache':
|
|
memcached_servers => $::openstack_integration::config::memcached_servers,
|
|
}
|
|
|
|
class { '::designate::backend::bind9':
|
|
rndc_host => '127.0.0.1',
|
|
rndc_config_file => '/etc/rndc.conf',
|
|
rndc_key_file => $::dns::params::rndckeypath,
|
|
}
|
|
|
|
# TODO: Implement pools.yaml management in puppet-designate
|
|
file { '/etc/designate/pools.yaml':
|
|
ensure => present,
|
|
content => template("${module_name}/pools.yaml.erb"),
|
|
require => Service['designate-central'],
|
|
}
|
|
|
|
# Validate that designate-central is ready for pool update
|
|
$command = "openstack --os-auth-url ${::openstack_integration::config::keystone_auth_uri} \
|
|
--os-project-name services --os-username designate --os-password a_big_secret zone list"
|
|
openstacklib::service_validation { 'designate-central':
|
|
command => $command,
|
|
timeout => '15',
|
|
refreshonly => true,
|
|
}
|
|
|
|
exec { 'Update designate pools':
|
|
command => 'designate-manage pool update --file /etc/designate/pools.yaml',
|
|
path => '/usr/bin',
|
|
refreshonly => true,
|
|
logoutput => 'on_failure',
|
|
subscribe => File['/etc/designate/pools.yaml'],
|
|
require => Anchor['create designate-central anchor'],
|
|
}
|
|
}
|