cd44577546
Change-Id: If1fddd56828c93c19499ac8dadb2337b3f2afc46
171 lines
5.2 KiB
Puppet
171 lines
5.2 KiB
Puppet
# class: tempest::magnum
|
|
#
|
|
# Configures Tempest in order to be able to test the Magnum container service.
|
|
# Sane defaults are used where possible in order to provide a working testing
|
|
# configuration.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*provision_image*]
|
|
# (Optional) If ::tempest::magnum should configure the testing image
|
|
# Defaults to true
|
|
#
|
|
# [*image_source*]
|
|
# (Optional) If provision_image is true, the location of the image
|
|
# Defaults to 'https://fedorapeople.org/groups/magnum/fedora-atomic-latest.qcow2'
|
|
#
|
|
# [*image_os_distro*]
|
|
# (Optional) If provision_image is true, the os_distro propery of the image
|
|
# Defaults to fedora-atomic-latest
|
|
#
|
|
# [*image_name*]
|
|
# (Optional) The name of the image to be used for ClusterTemplate
|
|
# Defaults to 'fedora-atomic-latest'
|
|
#
|
|
# [*provision_flavors*]
|
|
# (Optional) If ::tempest::magnum should configure the testing flavors
|
|
# Defaults to true
|
|
#
|
|
# [*flavor_id*]
|
|
# (Optional) The name of the flavor to be used for ClusterTemplate
|
|
# Defaults to 's1.magnum'
|
|
#
|
|
# [*master_flavor_id*]
|
|
# (Optional) The name of the master flavor to be used for ClusterTemplate
|
|
# Defaults to 'm1.magnum'
|
|
#
|
|
# [*provision_keypair*]
|
|
# (Optional) If ::tempest::magnum should configure the testing keypair
|
|
# Defaults to false (not yet supported, will be true when implemented)
|
|
#
|
|
# [*keypair_name*]
|
|
# (Optional) The keypair_id parameter used in Magnum tempest configuration
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*nic_id*]
|
|
# (Optional) The nic_id parameter used in Magnum tempest configuration
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*magnum_url*]
|
|
# (Optional) Bypass URL for Magnum to skip service catalog lookup
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*copy_logs*]
|
|
# (Optional) Whether to copy nova server logs on failure
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*dns_nameserver*]
|
|
# (Optional) DNS nameserver to use for ClusterTemplate
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*catalog_type*]
|
|
# (Optional) Catalog type of the coe service
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*manage_tests_packages*]
|
|
# (Optional) Manage the plugin package
|
|
# Defaults to true
|
|
#
|
|
# DEPRECATED PARAMETERS
|
|
#
|
|
# [*keypair_id*]
|
|
# (Optional) The keypair_id parameter used in Magnum tempest configuration
|
|
# Defaults to undef
|
|
#
|
|
# [*tempest_config_file*]
|
|
# Defaults to undef
|
|
#
|
|
class tempest::magnum (
|
|
Boolean $provision_image = true,
|
|
String[1] $image_source = 'https://fedorapeople.org/groups/magnum/fedora-atomic-latest.qcow2',
|
|
String[1] $image_name = 'fedora-atomic-latest',
|
|
String[1] $image_os_distro = 'fedora-atomic',
|
|
Boolean $provision_flavors = true,
|
|
String[1] $flavor_id = 's1.magnum',
|
|
String[1] $master_flavor_id = 'm1.magnum',
|
|
Boolean $provision_keypair = false,
|
|
$keypair_name = $facts['os_service_default'],
|
|
$nic_id = $facts['os_service_default'],
|
|
$magnum_url = $facts['os_service_default'],
|
|
$copy_logs = $facts['os_service_default'],
|
|
$dns_nameserver = $facts['os_service_default'],
|
|
$catalog_type = $facts['os_service_default'],
|
|
Boolean $manage_tests_packages = true,
|
|
# DEPRECATED PARAMETERS
|
|
$keypair_id = undef,
|
|
$tempest_config_file = undef,
|
|
) {
|
|
include tempest::params
|
|
include tempest
|
|
|
|
if $keypair_id != undef {
|
|
warning("The keypair_id parameter is deprecated and has no effect. \
|
|
Use the keypair_name parameter.")
|
|
}
|
|
|
|
if $tempest_config_file != undef {
|
|
warning('The tempest_config_file parameter has been deprecated and has no effect')
|
|
}
|
|
|
|
if $provision_image {
|
|
$image_properties = { 'os_distro' => $image_os_distro }
|
|
glance_image { $image_name:
|
|
ensure => present,
|
|
container_format => 'bare',
|
|
disk_format => 'qcow2',
|
|
is_public => 'yes',
|
|
source => $image_source,
|
|
properties => $image_properties,
|
|
}
|
|
}
|
|
|
|
if $provision_flavors {
|
|
nova_flavor { $flavor_id:
|
|
ensure => present,
|
|
id => '200',
|
|
ram => '512',
|
|
disk => '10',
|
|
vcpus => '1',
|
|
}
|
|
|
|
nova_flavor { $master_flavor_id:
|
|
ensure => present,
|
|
id => '100',
|
|
ram => '1024',
|
|
disk => '10',
|
|
vcpus => '1',
|
|
}
|
|
}
|
|
|
|
if $manage_tests_packages {
|
|
if $::tempest::params::python_magnum_tests {
|
|
package { 'python-magnum-tests':
|
|
ensure => present,
|
|
name => $::tempest::params::python_magnum_tests,
|
|
tag => ['openstack', 'tempest-package'],
|
|
}
|
|
}
|
|
}
|
|
|
|
Tempest_config {
|
|
path => $::tempest::tempest_conf,
|
|
}
|
|
|
|
tempest_config {
|
|
'magnum/image_id': value => $image_name;
|
|
'magnum/nic_id': value => $nic_id;
|
|
'magnum/keypair_name': value => $keypair_name;
|
|
'magnum/flavor_id': value => $flavor_id;
|
|
'magnum/master_flavor_id': value => $master_flavor_id;
|
|
'magnum/magnum_url': value => $magnum_url;
|
|
'magnum/copy_logs': value => $copy_logs;
|
|
'magnum/dns_nameserver': value => $dns_nameserver;
|
|
'magnum/catalog_type': value => $catalog_type;
|
|
}
|
|
|
|
# TODO(tkajinam): Remove this after 2025.1
|
|
tempest_config {
|
|
'magnum/keypair_id': ensure => absent;
|
|
}
|
|
}
|