puppet-zaqar/spec/acceptance/zaqar_mongo_spec.rb
ZhongShengping 7cf66df9e1 Add support for Debian system
We can add suport for Debian system due to have the
zaqar package in Debian system.
The Debian system does not support the use of services to run
a second instance, because there is no zaqar-server@.service
in zaqar package, so do not test it. I will Re-test it after
the zaqar package solve the problem.

Change-Id: I026b7d8f2b5994114d5a319200ed7c7d099b4fb5
2016-11-29 12:53:23 +08:00

75 lines
1.9 KiB
Ruby

require 'spec_helper_acceptance'
describe 'basic zaqar' do
context 'default parameters' do
it 'zaqar with mongo should work with no errors' do
pp= <<-EOS
include ::openstack_integration
include ::openstack_integration::repos
include ::openstack_integration::mysql
include ::openstack_integration::keystone
class { '::zaqar::keystone::auth':
password => 'a_big_secret',
}
class { '::zaqar::keystone::auth_websocket':
password => 'a_big_secret',
}
include ::mongodb::globals
include ::mongodb::client
class { '::mongodb::server':
replset => 'zaqar',
replset_members => ['127.0.0.1:27017'],
dbpath_fix => false,
}
$zaqar_mongodb_conn_string = 'mongodb://127.0.0.1:27017'
Mongodb_replset['zaqar'] -> Package['zaqar-common']
# TODO(zhongshengping): temporarily added this package
if $::osfamily == 'Debian' {
package { 'python-pymongo':
ensure => present,
}
}
class {'::zaqar::management::mongodb':
uri => $zaqar_mongodb_conn_string
}
class {'::zaqar::messaging::mongodb':
uri => $zaqar_mongodb_conn_string
}
class {'::zaqar::keystone::authtoken':
password => 'a_big_secret',
}
class {'::zaqar':
unreliable => true,
}
include ::zaqar::server
# run a second instance using websockets, the Debian system does
# not support the use of services to run a second instance.
if $::osfamily == 'RedHat' {
zaqar::server_instance{ '1':
transport => 'websocket'
}
}
EOS
# Run it twice and test for idempotency
apply_manifest(pp, :catch_failures => true)
apply_manifest(pp, :catch_changes => true)
end
describe port(8888) do
it { is_expected.to be_listening.with('tcp') }
end
end
end