blob: f60f0f45e2c2911c3c2a4dc1f287c95d4e1735ef [file] [log] [blame]
Felipe Monteiroa44dddf2017-05-26 18:39:37 +01001#!/usr/bin/env bash
2# Plugin file for Patrole Tempest plugin
3# --------------------------------------
4
5# Dependencies:
6# ``functions`` file
7# ``DEST`` must be defined
8
9# Save trace setting
10XTRACE=$(set +o | grep xtrace)
11set -o xtrace
12
Felipe Monteiro739041f2018-03-25 00:24:03 -040013function install_patrole_tempest_plugin {
14 setup_package $PATROLE_DIR -e
Felipe Monteiroa44dddf2017-05-26 18:39:37 +010015
Felipe Monteiro739041f2018-03-25 00:24:03 -040016 if [[ ${DEVSTACK_SERIES} == 'pike' ]]; then
Mykola Yakovlieve0f35502018-09-26 18:26:57 -050017 IFS=',' read -ra roles_array <<< "$RBAC_TEST_ROLES"
18 RBAC_TEST_ROLES=""
19 for i in "${roles_array[@]}"; do
20 if [[ $i == "member" ]]; then
21 i="Member"
22 fi
23 RBAC_TEST_ROLES="$i,$RBAC_TEST_ROLES"
24 done
Felipe Monteiro2fc29292018-06-15 18:26:27 -040025
Felipe Monteiro739041f2018-03-25 00:24:03 -040026 # Policies used by Patrole testing that were changed in a backwards-incompatible way.
Felipe Monteiro2fc29292018-06-15 18:26:27 -040027 # TODO(felipemonteiro): Remove these once stable/pike becomes EOL.
Felipe Monteiro739041f2018-03-25 00:24:03 -040028 iniset $TEMPEST_CONFIG policy-feature-enabled create_port_fixed_ips_ip_address_policy False
29 iniset $TEMPEST_CONFIG policy-feature-enabled update_port_fixed_ips_ip_address_policy False
30 iniset $TEMPEST_CONFIG policy-feature-enabled limits_extension_used_limits_policy False
31 iniset $TEMPEST_CONFIG policy-feature-enabled volume_extension_volume_actions_attach_policy False
32 iniset $TEMPEST_CONFIG policy-feature-enabled volume_extension_volume_actions_reserve_policy False
33 iniset $TEMPEST_CONFIG policy-feature-enabled volume_extension_volume_actions_unreserve_policy False
Felipe Monteiro6bffc5c2018-08-19 22:54:33 +010034
Felipe Monteiroc38aca72018-10-31 01:21:48 -040035 # TODO(cl566n): Remove these once stable/pike becomes EOL.
Felipe Monteiro6bffc5c2018-08-19 22:54:33 +010036 # These policies were removed in Stein but are available in Pike.
37 iniset $TEMPEST_CONFIG policy-feature-enabled removed_nova_policies_stein False
Felipe Monteiroc38aca72018-10-31 01:21:48 -040038 iniset $TEMPEST_CONFIG policy-feature-enabled removed_keystone_policies_stein False
Chi Lo8c04bd82018-06-01 16:21:50 -050039 iniset $TEMPEST_CONFIG policy-feature-enabled added_cinder_policies_stein False
Rick Bartra97fffed2019-09-12 13:35:10 -040040
41 # TODO(rb560u): Remove this once stable/pike becomes EOL.
42 # Make the 'test_list_trusts' test backwards compatible.
43 # The Keystone Trust API is enforced differently depending on passed
44 # arguments
45 iniset $TEMPEST_CONFIG policy-feature-enabled keystone_policy_enforcement_train False
Felipe Monteiroa44dddf2017-05-26 18:39:37 +010046 fi
Felipe Monteiro2fc29292018-06-15 18:26:27 -040047
48 if [[ ${DEVSTACK_SERIES} == 'queens' ]]; then
Mykola Yakovlieve0f35502018-09-26 18:26:57 -050049 IFS=',' read -ra roles_array <<< "$RBAC_TEST_ROLES"
50 RBAC_TEST_ROLES=""
51 for i in "${roles_array[@]}"; do
52 if [[ $i == "member" ]]; then
53 i="Member"
54 fi
55 RBAC_TEST_ROLES="$i,$RBAC_TEST_ROLES"
56 done
Felipe Monteiro6bffc5c2018-08-19 22:54:33 +010057
Felipe Monteiroc38aca72018-10-31 01:21:48 -040058 # TODO(cl566n): Remove these once stable/queens becomes EOL.
Felipe Monteiro6bffc5c2018-08-19 22:54:33 +010059 # These policies were removed in Stein but are available in Queens.
60 iniset $TEMPEST_CONFIG policy-feature-enabled removed_nova_policies_stein False
Felipe Monteiroc38aca72018-10-31 01:21:48 -040061 iniset $TEMPEST_CONFIG policy-feature-enabled removed_keystone_policies_stein False
Chi Lo8c04bd82018-06-01 16:21:50 -050062 iniset $TEMPEST_CONFIG policy-feature-enabled added_cinder_policies_stein False
Rick Bartra97fffed2019-09-12 13:35:10 -040063
64 # TODO(rb560u): Remove this once stable/queens becomes EOL.
65 # Make the 'test_list_trusts' test backwards compatible.
66 # The Keystone Trust API is enforced differently depending on passed
67 # arguments
68 iniset $TEMPEST_CONFIG policy-feature-enabled keystone_policy_enforcement_train False
Chi Lo8c04bd82018-06-01 16:21:50 -050069 fi
70
71 if [[ ${DEVSTACK_SERIES} == 'rocky' ]]; then
72 # TODO(cl566n): Policies used by Patrole testing. Remove these once stable/rocky becomes EOL.
73 iniset $TEMPEST_CONFIG policy-feature-enabled added_cinder_policies_stein False
Felipe Monteiroc38aca72018-10-31 01:21:48 -040074 iniset $TEMPEST_CONFIG policy-feature-enabled removed_keystone_policies_stein False
Rick Bartra97fffed2019-09-12 13:35:10 -040075
76 # TODO(rb560u): Remove this once stable/rocky becomes EOL.
77 # Make the 'test_list_trusts' test backwards compatible.
78 # The Keystone Trust API is enforced differently depending on passed
79 # arguments
80 iniset $TEMPEST_CONFIG policy-feature-enabled keystone_policy_enforcement_train False
81 fi
82
83 if [[ ${DEVSTACK_SERIES} == 'stein' ]]; then
84 # TODO(rb560u): Remove this once stable/stein becomes EOL.
85 # Make the 'test_list_trusts' test backwards compatible.
86 # The Keystone Trust API is enforced differently depending on passed
87 # arguments
88 iniset $TEMPEST_CONFIG policy-feature-enabled keystone_policy_enforcement_train False
Felipe Monteiro2fc29292018-06-15 18:26:27 -040089 fi
90
Mykola Yakovlieve0f35502018-09-26 18:26:57 -050091 iniset $TEMPEST_CONFIG patrole rbac_test_roles $RBAC_TEST_ROLES
Felipe Monteiroa44dddf2017-05-26 18:39:37 +010092}
93
94if is_service_enabled tempest; then
95 if [[ "$1" == "stack" && "$2" == "test-config" ]]; then
96 echo_summary "Installing Patrole Tempest plugin"
97 install_patrole_tempest_plugin
98 fi
99fi
100
101# Restore xtrace
102$XTRACE