Introduce scenario004
Introduce scenario004 that will test Ceph RGW with OpenStack. Co-Authored-by: Emilien Macchi <emilien@redhat.com> Co-Authored-by: Keith Schincke <keith.schincke@gmail.com> Co-Authored-by: Andrew Woodward <awoodward@mirantis.com> Change-Id: I0dc1ad61a5f7e4f149e368055f045846ce88c21c
This commit is contained in:
parent
e4c6f48efa
commit
4f9710d9ca
62
README.md
62
README.md
@ -22,43 +22,43 @@ Infrastructure environment.
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
OpenStack Infrastructure is deploying three jobs per supported Operating System
|
OpenStack Infrastructure is deploying four jobs per supported Operating System
|
||||||
(Ubuntu and CentOS): scenario001, scenario002 and scenario003.
|
(Ubuntu and CentOS): scenario001, scenario002, scenario003 and scenario004.
|
||||||
|
|
||||||
OpenStack services are balanced between three scenarios because OpenStack
|
OpenStack services are balanced between four scenarios because OpenStack
|
||||||
Infastructure Jenkins slaves can not afford the load of running everything on
|
Infastructure Jenkins slaves can not afford the load of running everything on
|
||||||
the same node.
|
the same node.
|
||||||
One manifest (scenario-aio) is used for people who want to [run a simple All-In-One
|
One manifest (scenario-aio) is used for people who want to [run a simple All-In-One
|
||||||
scenario](#all-in-one).
|
scenario](#all-in-one).
|
||||||
|
|
||||||
| - | scenario001 | scenario002 | scenario003 | scenario-aio |
|
| - | scenario001 | scenario002 | scenario003 | scenario004 | scenario-aio |
|
||||||
|:----------:|:-----------:|:-----------:|:-----------:|:-------------:
|
|:----------:|:-----------:|:-----------:|:-----------:|:-----------:|:------------:|
|
||||||
| ssl | yes | yes | yes | no |
|
| ssl | yes | yes | yes | yes | no |
|
||||||
| ipv6 | centos7 | centos7 | centos7 | no |
|
| ipv6 | centos7 | centos7 | centos7 | no | no |
|
||||||
| keystone | X | X | X | X |
|
| keystone | X | X | X | X | X |
|
||||||
| tokens | uuid | uuid | fernet | uuid |
|
| tokens | uuid | uuid | fernet | fernet | uuid |
|
||||||
| glance | rbd | swift | file | file |
|
| glance | rbd | swift | file | swift+rgw | file |
|
||||||
| nova | rbd | X | X | X |
|
| nova | rbd | X | X | rbd | X |
|
||||||
| neutron | ovs | ovs | linuxbridge | ovs |
|
| neutron | ovs | ovs | linuxbridge | ovs | ovs |
|
||||||
| lbaas | v2 | v2 | v2 | v2 |
|
| lbaas | v2 | v2 | v2 | | v2 |
|
||||||
| cinder | rbd | iscsi | | iscsi |
|
| cinder | rbd | iscsi | | | iscsi |
|
||||||
| ceilometer | X | | | |
|
| ceilometer | X | | | | |
|
||||||
| aodh | X | | | |
|
| aodh | X | | | | |
|
||||||
| designate | | | bind | |
|
| designate | | | bind | | |
|
||||||
| backup | | swift | | |
|
| backup | | swift | | | |
|
||||||
| gnocchi | rbd | | | |
|
| gnocchi | rbd | | | | |
|
||||||
| ec2api | | X | | |
|
| ec2api | | X | | | |
|
||||||
| heat | | | X | |
|
| heat | | | X | | |
|
||||||
| swift | | X | | |
|
| swift | | X | | | |
|
||||||
| sahara | | | X | |
|
| sahara | | | X | | |
|
||||||
| trove | | | X | |
|
| trove | | | X | | |
|
||||||
| horizon | | | X | X |
|
| horizon | | | X | | X |
|
||||||
| ironic | | X | | |
|
| ironic | | X | | | |
|
||||||
| zaqar | | X | | |
|
| zaqar | | X | | | |
|
||||||
| barbican | | X | | |
|
| barbican | | X | | | |
|
||||||
| murano | | | X | |
|
| ceph | X | | | X | |
|
||||||
| ceph | X | | | |
|
| ceph rgw | | | | X | |
|
||||||
| mongodb | | X | | |
|
| mongodb | | X | | | |
|
||||||
|
|
||||||
When the Jenkins slave is created, the *run_tests.sh* script will executed.
|
When the Jenkins slave is created, the *run_tests.sh* script will executed.
|
||||||
This script will execute *install_modules.sh* that prepare /etc/puppet/modules
|
This script will execute *install_modules.sh* that prepare /etc/puppet/modules
|
||||||
|
54
fixtures/scenario004.pp
Normal file
54
fixtures/scenario004.pp
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2016 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Disable SSL (workaround for Xenial)
|
||||||
|
if $::operatingsystem == 'Ubuntu' {
|
||||||
|
$ssl_enabled = false
|
||||||
|
} else {
|
||||||
|
$ssl_enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
include ::openstack_integration
|
||||||
|
class { '::openstack_integration::config':
|
||||||
|
ssl => $ssl_enabled,
|
||||||
|
ipv6 => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
include ::openstack_integration::cacert
|
||||||
|
include ::openstack_integration::memcached
|
||||||
|
include ::openstack_integration::rabbitmq
|
||||||
|
include ::openstack_integration::mysql
|
||||||
|
class { '::openstack_integration::keystone':
|
||||||
|
token_provider => 'fernet',
|
||||||
|
}
|
||||||
|
class { '::openstack_integration::glance':
|
||||||
|
backend => 'swift',
|
||||||
|
}
|
||||||
|
include ::openstack_integration::neutron
|
||||||
|
class { '::openstack_integration::nova':
|
||||||
|
libvirt_rbd => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
class { '::openstack_integration::ceph':
|
||||||
|
deploy_rgw => true,
|
||||||
|
swift_dropin => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
include ::openstack_integration::provision
|
||||||
|
|
||||||
|
# Don't test swift, radosgw won't pass the current tests
|
||||||
|
# Glance, nova, neutron are true by default.
|
||||||
|
include ::openstack_integration::tempest
|
@ -1,4 +1,19 @@
|
|||||||
class openstack_integration::ceph {
|
# Configure the Ceph services
|
||||||
|
#
|
||||||
|
# [*deploy_rgw*]
|
||||||
|
# (optional) Setting flag to enable the deployment
|
||||||
|
# of Ceph RadosGW and configure various services
|
||||||
|
# to use Swift provided by RGW as a backend.
|
||||||
|
# Defaults to false
|
||||||
|
#
|
||||||
|
# [*swift_dropin*]
|
||||||
|
# (optional) Flag if Ceph RGW will provide swift
|
||||||
|
# services for openstack
|
||||||
|
#
|
||||||
|
class openstack_integration::ceph (
|
||||||
|
$deploy_rgw = false,
|
||||||
|
$swift_dropin = false,
|
||||||
|
) {
|
||||||
|
|
||||||
include ::openstack_integration::config
|
include ::openstack_integration::config
|
||||||
|
|
||||||
@ -43,6 +58,11 @@ class openstack_integration::ceph {
|
|||||||
osds => {
|
osds => {
|
||||||
'/var/lib/ceph/data' => {},
|
'/var/lib/ceph/data' => {},
|
||||||
},
|
},
|
||||||
|
# Configure Ceph RadosGW
|
||||||
|
# These could be always set in the above call to ceph::profile::params
|
||||||
|
frontend_type => 'civetweb',
|
||||||
|
rgw_frontends => "civetweb port=${::openstack_integration::config::ip_for_url}:8080",
|
||||||
|
rgw_user => 'ceph',
|
||||||
}
|
}
|
||||||
|
|
||||||
$ceph_pools = ['glance', 'nova', 'cinder', 'gnocchi']
|
$ceph_pools = ['glance', 'nova', 'cinder', 'gnocchi']
|
||||||
@ -66,4 +86,50 @@ class openstack_integration::ceph {
|
|||||||
class { '::ceph::conf':
|
class { '::ceph::conf':
|
||||||
args => $ceph_extra_config,
|
args => $ceph_extra_config,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if $deploy_rgw {
|
||||||
|
|
||||||
|
ceph::key { 'client.radosgw.gateway':
|
||||||
|
user => 'ceph',
|
||||||
|
secret => 'AQD7kyJQQGoOBhAAqrPAqSopSwPrrfMMomzVdw==',
|
||||||
|
cap_mon => 'allow rwx',
|
||||||
|
cap_osd => 'allow rwx',
|
||||||
|
inject => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
# FIXME(Xarses) switch to param when supported in puppet-ceph
|
||||||
|
class { '::ceph::profile::rgw':
|
||||||
|
# swift_dropin = $swift_dropin
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$password = 'secret'
|
||||||
|
$auth_name = 'rgwuser'
|
||||||
|
$project = 'services'
|
||||||
|
$user_domain = 'default'
|
||||||
|
|
||||||
|
#configure rgw to use keystone
|
||||||
|
ceph::rgw::keystone { 'radosgw.gateway':
|
||||||
|
rgw_keystone_url => $::openstack_integration::config::keystone_admin_uri,
|
||||||
|
rgw_keystone_version => 'v3',
|
||||||
|
user => 'ceph',
|
||||||
|
use_pki => false,
|
||||||
|
rgw_keystone_accepted_roles => ['admin', 'Member'],
|
||||||
|
rgw_keystone_admin_domain => $user_domain,
|
||||||
|
rgw_keystone_admin_project => $project,
|
||||||
|
rgw_keystone_admin_user => $auth_name,
|
||||||
|
rgw_keystone_admin_password => $password,
|
||||||
|
}
|
||||||
|
|
||||||
|
if $swift_dropin {
|
||||||
|
class { '::ceph::rgw::keystone::auth':
|
||||||
|
password => $password,
|
||||||
|
public_url => "http://${::openstack_integration::config::ip_for_url}:8080/swift/v1",
|
||||||
|
admin_url => "http://${::openstack_integration::config::ip_for_url}:8080/swift/v1",
|
||||||
|
internal_url => "http://${::openstack_integration::config::ip_for_url}:8080/swift/v1",
|
||||||
|
}
|
||||||
|
# FIXME(Xarses) remove when supported in puppet-ceph
|
||||||
|
Service<| tag == 'ceph-radosgw' |> -> Service <| tag == 'glance-service' |>
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,6 @@ class openstack_integration::glance (
|
|||||||
Exec['create-glance'] -> Service['glance-api']
|
Exec['create-glance'] -> Service['glance-api']
|
||||||
}
|
}
|
||||||
'swift': {
|
'swift': {
|
||||||
Service<| tag == 'swift-service' |> -> Service['glance-api']
|
|
||||||
$backend_store = ['swift']
|
$backend_store = ['swift']
|
||||||
class { '::glance::backend::swift':
|
class { '::glance::backend::swift':
|
||||||
swift_store_user => 'services:glance',
|
swift_store_user => 'services:glance',
|
||||||
|
Loading…
Reference in New Issue
Block a user