summaryrefslogtreecommitdiffstats
path: root/tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml
blob: 596db25bb6e7fa70dbd4f096ace3263ce8ee7dad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# This class installs and configures Opencontrail Neutron Plugin.
#
# === Parameters
#
# [*admin_password*]
#  (optional) admin password
#  String value.
#  Defaults to hiera('contrail::admin_password')
#
# [*admin_tenant_name*]
#  (optional) admin tenant name.
#  String value.
#  Defaults to hiera('contrail::admin_tenant_name')
#
# [*admin_token*]
#  (optional) admin token
#  String value.
#  Defaults to hiera('contrail::admin_token')
#
# [*admin_user*]
#  (optional) admin user name.
#  String value.
#  Defaults to hiera('contrail::adm
th_protocol') # # [*ca_file*] # (optional) ca file name # String value. # Defaults to hiera('contrail::service_certificate',false) # # [*cert_file*] # (optional) cert file name # String value. # Defaults to hiera('contrail::service_certificate',false) # # [*api_server_ip*] # IP address of the API Server # Defaults to $::os_service_default # # [*api_server_port*] # Port of the API Server. # Defaults to $::os_service_default # # [*contrail_extensions*] # Array of OpenContrail extensions to be supported # Defaults to $::os_service_default # Example: # # class {'neutron::plugins::opencontrail' : # contrail_extensions => ['ipam:neutron_plugin_contrail.plugins.opencontrail.contrail_plugin_ipam.NeutronPluginContrailIpam'] # } # # [*keystone_auth_url*] # Url of the keystone auth server # Defaults to $::os_service_default # # [*keystone_admin_user*] # Admin user name # Defaults to $::os_service_default # # [*keystone_admin_tenant_name*] # Admin_tenant_name # Defaults to $::os_service_default # # [*keystone_admin_password*] # Admin password # Defaults to $::os_service_default # # [*keystone_admin_token*] # Admin token # Defaults to $::os_service_default # # [*package_ensure*] # (optional) Ensure state for package. # Defaults to 'present'. # # [*purge_config*] # (optional) Whether to set only the specified config options # in the opencontrail config. # Defaults to false. # class tripleo::network::contrail::neutron_plugin ( $contrail_extensions = hiera('contrail::vrouter::contrail_extensions'), $admin_password = hiera('contrail::admin_password'), $admin_tenant_name = hiera('contrail::admin_tenant_name'), $admin_token = hiera('contrail::admin_token'), $admin_user = hiera('contrail::admin_user'), $api_server = hiera('contrail_config_vip',hiera('internal_api_virtual_ip')), $api_port = hiera('contrail::api_port'), $auth_host = hiera('contrail::auth_host'), $auth_port = hiera('contrail::auth_port'), $auth_protocol = hiera('contrail::auth_protocol'), $ca_file = hiera('tripleo::haproxy::service_certificate',false), $cert_file = hiera('tripleo::haproxy::service_certificate',false), $purge_config = false, $package_ensure = 'present', ) { include ::neutron::deps include ::neutron::params validate_array($contrail_extensions) package { 'neutron-plugin-contrail': ensure => $package_ensure, name => $::neutron::params::opencontrail_plugin_package, tag => ['neutron-package', 'openstack'], } package {'python-contrail': ensure => installed, } ensure_resource('file', '/etc/neutron/plugins/opencontrail', { ensure => directory, owner => 'root', group => 'neutron', mode => '0640'} ) if $::osfamily == 'Debian' { file_line { '/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG': path => '/etc/default/neutron-server', match => '^NEUTRON_PLUGIN_CONFIG=(.*)$', line => "NEUTRON_PLUGIN_CONFIG=${::neutron::params::opencontrail_config_file}", tag => 'neutron-file-line', } } if $::osfamily == 'Redhat' { file { '/etc/neutron/plugin.ini': ensure => link, target => $::neutron::params::opencontrail_config_file, require => Package[$::neutron::params::opencontrail_plugin_package], tag => 'neutron-config-file', } $api_paste_config_file = '/usr/share/neutron/api-paste.ini' } ini_setting { 'filter:user_token': ensure => present, path => $api_paste_config_file, section => 'filter:user_token', setting => 'paste.filter_factory', value => 'neutron_plugin_contrail.plugins.opencontrail.neutron_middleware:token_factory', } ini_setting { 'composite:neutronapi_v2_0': ensure => present, path => $api_paste_config_file, section => 'composite:neutronapi_v2_0', setting => 'keystone', value => 'user_token cors http_proxy_to_wsgi request_id catch_errors authtoken keystonecontext extensions neutronapiapp_v2_0', } resources { 'neutron_plugin_opencontrail': purge => $purge_config, } exec { 'add neutron user to haproxy group': command => '/usr/sbin/usermod -a -G haproxy neutron', } $auth_url = join([$auth_protocol,'://',$auth_host,':',$auth_port,'/v2.0']) if $auth_protocol == 'https' { neutron_plugin_opencontrail { 'APISERVER/api_server_ip': value => $api_server; 'APISERVER/api_server_port': value => $api_port; 'APISERVER/contrail_extensions': value => join($contrail_extensions, ','); 'KEYSTONE/auth_url': value => $auth_url; 'KEYSTONE/admin_user' : value => $admin_user; 'KEYSTONE/admin_tenant_name': value => $admin_tenant_name; 'KEYSTONE/admin_password': value => $admin_password, secret =>true; 'KEYSTONE/admin_token': value => $admin_token, secret =>true; 'KEYSTONE/cafile': value => $ca_file; 'KEYSTONE/certfile': value => $cert_file; 'keystone_authtoken/admin_user': value => $admin_user; 'keystone_authtoken/admin_tenant': value => $admin_tenant_name; 'keystone_authtoken/admin_password': value => $admin_password, secret =>true; 'keystone_authtoken/auth_host': value => $auth_host; 'keystone_authtoken/auth_protocol': value => $auth_protocol; 'keystone_authtoken/auth_port': value => $auth_port; 'keystone_authtoken/cafile': value => $ca_file; 'keystone_authtoken/certfile': value => $cert_file; } } else { neutron_plugin_opencontrail { 'APISERVER/api_server_ip': value => $api_server; 'APISERVER/api_server_port': value => $api_port; 'APISERVER/contrail_extensions': value => join($contrail_extensions, ','); 'KEYSTONE/auth_url': value => $auth_url; 'KEYSTONE/admin_user' : value => $admin_user; 'KEYSTONE/admin_tenant_name': value => $admin_tenant_name; 'KEYSTONE/admin_password': value => $admin_password, secret =>true; 'KEYSTONE/admin_token': value => $admin_token, secret =>true; 'keystone_authtoken/admin_user': value => $admin_user; 'keystone_authtoken/admin_tenant': value => $admin_tenant_name; 'keystone_authtoken/admin_password': value => $admin_password, secret =>true; 'keystone_authtoken/auth_host': value => $auth_host; 'keystone_authtoken/auth_protocol': value => $auth_protocol; 'keystone_authtoken/auth_port': value => $auth_port; } } }