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
|
||||
-----------
|
||||
|
||||
OpenStack Infrastructure is deploying three jobs per supported Operating System
|
||||
(Ubuntu and CentOS): scenario001, scenario002 and scenario003.
|
||||
OpenStack Infrastructure is deploying four jobs per supported Operating System
|
||||
(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
|
||||
the same node.
|
||||
One manifest (scenario-aio) is used for people who want to [run a simple All-In-One
|
||||
scenario](#all-in-one).
|
||||
|
||||
| - | scenario001 | scenario002 | scenario003 | scenario-aio |
|
||||
|:----------:|:-----------:|:-----------:|:-----------:|:-------------:
|
||||
| ssl | yes | yes | yes | no |
|
||||
| ipv6 | centos7 | centos7 | centos7 | no |
|
||||
| keystone | X | X | X | X |
|
||||
| tokens | uuid | uuid | fernet | uuid |
|
||||
| glance | rbd | swift | file | file |
|
||||
| nova | rbd | X | X | X |
|
||||
| neutron | ovs | ovs | linuxbridge | ovs |
|
||||
| lbaas | v2 | v2 | v2 | v2 |
|
||||
| cinder | rbd | iscsi | | iscsi |
|
||||
| ceilometer | X | | | |
|
||||
| aodh | X | | | |
|
||||
| designate | | | bind | |
|
||||
| backup | | swift | | |
|
||||
| gnocchi | rbd | | | |
|
||||
| ec2api | | X | | |
|
||||
| heat | | | X | |
|
||||
| swift | | X | | |
|
||||
| sahara | | | X | |
|
||||
| trove | | | X | |
|
||||
| horizon | | | X | X |
|
||||
| ironic | | X | | |
|
||||
| zaqar | | X | | |
|
||||
| barbican | | X | | |
|
||||
| murano | | | X | |
|
||||
| ceph | X | | | |
|
||||
| mongodb | | X | | |
|
||||
| - | scenario001 | scenario002 | scenario003 | scenario004 | scenario-aio |
|
||||
|:----------:|:-----------:|:-----------:|:-----------:|:-----------:|:------------:|
|
||||
| ssl | yes | yes | yes | yes | no |
|
||||
| ipv6 | centos7 | centos7 | centos7 | no | no |
|
||||
| keystone | X | X | X | X | X |
|
||||
| tokens | uuid | uuid | fernet | fernet | uuid |
|
||||
| glance | rbd | swift | file | swift+rgw | file |
|
||||
| nova | rbd | X | X | rbd | X |
|
||||
| neutron | ovs | ovs | linuxbridge | ovs | ovs |
|
||||
| lbaas | v2 | v2 | v2 | | v2 |
|
||||
| cinder | rbd | iscsi | | | iscsi |
|
||||
| ceilometer | X | | | | |
|
||||
| aodh | X | | | | |
|
||||
| designate | | | bind | | |
|
||||
| backup | | swift | | | |
|
||||
| gnocchi | rbd | | | | |
|
||||
| ec2api | | X | | | |
|
||||
| heat | | | X | | |
|
||||
| swift | | X | | | |
|
||||
| sahara | | | X | | |
|
||||
| trove | | | X | | |
|
||||
| horizon | | | X | | X |
|
||||
| ironic | | X | | | |
|
||||
| zaqar | | X | | | |
|
||||
| barbican | | X | | | |
|
||||
| ceph | X | | | X | |
|
||||
| ceph rgw | | | | X | |
|
||||
| mongodb | | X | | | |
|
||||
|
||||
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
|
||||
|
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
|
||||
|
||||
@ -43,6 +58,11 @@ class openstack_integration::ceph {
|
||||
osds => {
|
||||
'/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']
|
||||
@ -66,4 +86,50 @@ class openstack_integration::ceph {
|
||||
class { '::ceph::conf':
|
||||
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']
|
||||
}
|
||||
'swift': {
|
||||
Service<| tag == 'swift-service' |> -> Service['glance-api']
|
||||
$backend_store = ['swift']
|
||||
class { '::glance::backend::swift':
|
||||
swift_store_user => 'services:glance',
|
||||
|
Loading…
Reference in New Issue
Block a user