Use devstack functions to create keystone resources

Change-Id: I34b2dc69232feccf7ba60f1103b996d254f9e286
This commit is contained in:
Takashi Kajinami 2024-09-14 01:02:15 +09:00
parent 93f00a4024
commit 8ac861ca2b

View File

@ -43,12 +43,12 @@ SWIFT_DEFAULT_USER=tester
SWIFT_DEFAULT_USER_PWD=testing SWIFT_DEFAULT_USER_PWD=testing
SWIFT_MEMBER_USER=tester_member SWIFT_MEMBER_USER=tester_member
SWIFT_MEMBER_USER_PWD=member SWIFT_MEMBER_USER_PWD=member
SWIFT_DEFAULT_USER_DOMAIN_ID=${SWIFT_DEFAULT_USER_DOMAIN_ID:-default}
SWIFT_DEFAULT_PROJECT_DOMAIN_ID=${SWIFT_DEFAULT_PROJECT_DOMAIN_ID:-default}
SWIFT_CONF_DIR=${SWIFT_CONF_DIR:-/etc/swift} SWIFT_CONF_DIR=${SWIFT_CONF_DIR:-/etc/swift}
# Storlets install tunables # Storlets install tunables
STORLETS_DEFAULT_USER_DOMAIN_ID=${STORLETS_DEFAULT_USER_DOMAIN_ID:-default}
STORLETS_DEFAULT_PROJECT_DOMAIN_ID=${STORLETS_DEFAULT_PROJECT_DOMAIN_ID:-default}
STORLETS_DOCKER_DEVICE=${STORLETS_DOCKER_DEVICE:-/var/lib/storlets} STORLETS_DOCKER_DEVICE=${STORLETS_DOCKER_DEVICE:-/var/lib/storlets}
if is_fedora; then if is_fedora; then
STORLETS_DOCKER_BASE_IMG=${STORLETS_DOCKER_BASE_IMG:-quay.io/centos/centos:stream9} STORLETS_DOCKER_BASE_IMG=${STORLETS_DOCKER_BASE_IMG:-quay.io/centos/centos:stream9}
@ -77,57 +77,29 @@ TMP_REGISTRY_PREFIX=/tmp/registry
# Functions # Functions
# --------- # ---------
function _export_os_vars {
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL="http://$KEYSTONE_IP/identity/v3"
export OS_REGION_NAME=RegionOne
}
function _export_keystone_os_vars {
_export_os_vars
export OS_USERNAME=$ADMIN_USER
export OS_USER_DOMAIN_ID=$STORLETS_DEFAULT_USER_DOMAIN_ID
export OS_PASSWORD=$ADMIN_PASSWORD
export OS_PROJECT_NAME=$ADMIN_USER
export OS_PROJECT_DOMAIN_ID=$STORLETS_DEFAULT_PROJECT_DOMAIN_ID
}
function _export_swift_os_vars { function _export_swift_os_vars {
_export_os_vars export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL=$KEYSTONE_SERVICE_URI
export OS_REGION_NAME=$REGION_NAME
export OS_USERNAME=$SWIFT_DEFAULT_USER export OS_USERNAME=$SWIFT_DEFAULT_USER
export OS_USER_DOMAIN_ID=$STORLETS_DEFAULT_USER_DOMAIN_ID export OS_USER_DOMAIN_ID=$SWIFT_DEFAULT_USER_DOMAIN_ID
export OS_PASSWORD=$SWIFT_DEFAULT_USER_PWD export OS_PASSWORD=$SWIFT_DEFAULT_USER_PWD
export OS_PROJECT_NAME=$SWIFT_DEFAULT_PROJECT export OS_PROJECT_NAME=$SWIFT_DEFAULT_PROJECT
export OS_PROJECT_DOMAIN_ID=$STORLETS_DEFAULT_PROJECT_DOMAIN_ID export OS_PROJECT_DOMAIN_ID=$SWIFT_DEFAULT_PROJECT_DOMAIN_ID
} }
function configure_swift_and_keystone_for_storlets { function configure_swift_and_keystone_for_storlets {
# Add project and users to Keystone # Add project and users to Keystone
_export_keystone_os_vars get_or_create_project $SWIFT_DEFAULT_PROJECT $SWIFT_DEFAULT_PROJECT_DOMAIN_ID
project_test_created=$(openstack project list | grep -w $SWIFT_DEFAULT_PROJECT | wc -l) get_or_create_user $SWIFT_DEFAULT_USER $SWIFT_DEFAULT_USER_PWD \
if [ $project_test_created -eq 0 ]; then $SWIFT_DEFAULT_USER_DOMAIN_ID
openstack project create $SWIFT_DEFAULT_PROJECT get_or_add_user_project_role admin $SWIFT_DEFAULT_USER $SWIFT_DEFAULT_PROJECT \
fi $SWIFT_DEFAULT_USER_DOMAIN_ID $SWIFT_DEFAULT_PROJECT_DOMAIN_ID
user_tester_created=$(openstack user list | grep -w $SWIFT_DEFAULT_USER | wc -l)
if [ $user_tester_created -eq 0 ]; then get_or_create_user $SWIFT_MEMBER_USER $SWIFT_MEMBER_USER_PWD \
openstack user create --project $SWIFT_DEFAULT_PROJECT \ $SWIFT_DEFAULT_USER_DOMAIN_ID
--password $SWIFT_DEFAULT_USER_PWD \ get_or_add_user_project_role anotherrole $SWIFT_MEMBER_USER $SWIFT_DEFAULT_PROJECT \
--domain $STORLETS_DEFAULT_USER_DOMAIN_ID \ $SWIFT_DEFAULT_USER_DOMAIN_ID $SWIFT_DEFAULT_PROJECT_DOMAIN_ID
$SWIFT_DEFAULT_USER
openstack role add --user $SWIFT_DEFAULT_USER --project $SWIFT_DEFAULT_PROJECT admin
fi
member_user_tester_created=$(openstack user list | grep -w $SWIFT_MEMBER_USER | wc -l)
if [ $member_user_tester_created -eq 0 ]; then
role_member_created=$(openstack role list | grep -w _member_ | wc -l)
if [ $role_member_created -eq 0 ]; then
openstack role create _member_
fi
openstack user create --project $SWIFT_DEFAULT_PROJECT \
--password $SWIFT_MEMBER_USER_PWD \
--domain $STORLETS_DEFAULT_USER_DOMAIN_ID \
$SWIFT_MEMBER_USER
openstack role add --user $SWIFT_MEMBER_USER --project $SWIFT_DEFAULT_PROJECT _member_
fi
# Modify relevant Swift configuration files # Modify relevant Swift configuration files
_modify_swift_conf _modify_swift_conf
@ -347,7 +319,7 @@ function create_default_tenant_image {
function create_test_config_file { function create_test_config_file {
testfile=${REPO_DIR}/test.conf testfile=${REPO_DIR}/test.conf
iniset ${testfile} general keystone_default_domain $STORLETS_DEFAULT_PROJECT_DOMAIN_ID iniset ${testfile} general keystone_default_domain $SWIFT_DEFAULT_PROJECT_DOMAIN_ID
iniset ${testfile} general keystone_public_url $KEYSTONE_PUBLIC_URL iniset ${testfile} general keystone_public_url $KEYSTONE_PUBLIC_URL
iniset ${testfile} general storlets_default_project_name $SWIFT_DEFAULT_PROJECT iniset ${testfile} general storlets_default_project_name $SWIFT_DEFAULT_PROJECT
iniset ${testfile} general storlets_default_project_user_name $SWIFT_DEFAULT_USER iniset ${testfile} general storlets_default_project_user_name $SWIFT_DEFAULT_USER