]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: about to run tempest tests! commit before run
authorAli Maredia <amaredia@redhat.com>
Fri, 22 Jul 2022 20:02:08 +0000 (16:02 -0400)
committerAli Maredia <amaredia@redhat.com>
Fri, 22 Jul 2022 20:02:08 +0000 (16:02 -0400)
src/test/rgw/tempest.conf [new file with mode: 0644]
src/test/rgw/test-tempest-tests.sh [changed mode: 0644->0755]
src/vstart.sh

diff --git a/src/test/rgw/tempest.conf b/src/test/rgw/tempest.conf
new file mode 100644 (file)
index 0000000..75216b6
--- /dev/null
@@ -0,0 +1,27 @@
+[DEFAULT]
+log_dir = /home/ali/ssd/ceph/master/build/tempest/rgw/logs
+log_file = tempest.log
+
+[oslo_concurrency]
+lock_path = /home/ali/ssd/ceph/master/build/tempest/rgw/tempest_lock
+
+[auth]
+admin_domain_name: Default
+admin_password: ADMIN
+admin_project_name: admin
+admin_username: admin
+tempest_roles: admin
+
+[identity]
+admin_role: admin
+auth_version: v3
+default_domain_name: Default
+uri: http://loclahost:5000/v2.0/
+uri_v3: http://localhost:5000/v3/
+
+[object-storage]
+reseller_admin_role: admin
+
+[object-storage-feature-enabled]
+container_sync: false
+discoverability: true
old mode 100644 (file)
new mode 100755 (executable)
index ccf5296..f1027c2
@@ -7,7 +7,6 @@ set -x
 # set -ex
 
 KEYSTONE_BRANCH=${1:-master}
-DIR=$(pwd)
 TEST_DIR=${2:-$(pwd)}
 KEYSTONE_DIR=$TEST_DIR/keystone
 TOX_DIR=$TEST_DIR/tox-venv
@@ -35,6 +34,7 @@ echo "### STEP 3: Install Packages ###"
 source $TOX_DIR/bin/activate && pip install bindep
 source $TOX_DIR/bin/activate && bindep --brief --file $KEYSTONE_DIR/bindep.txt
 # TODO: postgresql-devel is required
+#sudo dnf install postgresql-devel
 # possibly install postgres and mariadb aka the output packages from above bindep command, but is this really necessary?
 
 echo "### STEP 4: Setup Venv ###"
@@ -48,7 +48,7 @@ cd $KEYSTONE_DIR && cp -f etc/keystone.conf.sample etc/keystone.conf
 cd $KEYSTONE_DIR && sed -e "s^#key_repository =.*^key_repository = $KEYREPO_DIR^" -i etc/keystone.conf
 $HOSTNAME=$(hostname -s)
 ARCHIVE_DIR=$TEST_DIR/archive
-mkdir $ARCHIVE_DIR
+mkdir -p $ARCHIVE_DIR
 LOG_FILE=$ARCHIVE_DIR/keystone.$HOSTNAME.log
 cd $KEYSTONE_DIR && sed -e "s^#log_file =.*^log_file = $LOG_FILE^" -i $KEYSTONE_DIR/etc/keystone.conf
 cd $KEYSTONE_DIR && cp $KEYSTONE_DIR/etc/keystone.conf $ARCHIVE_DIR/keystone.$HOSTNAME.conf
@@ -95,11 +95,32 @@ cd $KEYSTONE_DIR && source .tox/venv/bin/activate && sleep 3
 RGW_ENDPOINT=http://localhost:8000
 cd $KEYSTONE_DIR && source .tox/venv/bin/activate && openstack endpoint create --os-username admin --os-password ADMIN --os-user-domain-id default --os-project-name admin --os-project-domain-id default --os-identity-api-version 3 --os-auth-url $ADMIN_URL swift public "$RGW_ENDPOINT/v1/KEY_$(tenant_id)s" --debug
 
-
 # radosgw needs to be started up after this point
+cd $TEST_DIR
+MON=1 OSD=1 RGW=1 MGR=0 MDS=0 ../src/vstart.sh -n -d
+ps ax | grep ceph
+
+echo "### STEP 8: Download Tempest ###"
+
+TEMPEST_BRANCH=${3:-master}
+TEMPEST_DIR=$TEST_DIR/tempest
+git clone -b $TEMPEST_BRANCH https://github.com/openstack/tempest.git $TEMPEST_DIR
+
+echo "### STEP 9: Setup Venv for Tempest ###"
+cd $TEMPEST_DIR && source $TOX_DIR/bin/activate && tox -e venv --notest
+cd $TEMPEST_DIR && source .tox/venv/bin/activate && tempest init --workspace-path $TEMPEST_DIR/workspace.yaml rgw
 
+echo "### STEP 10: Configure Instance for Tempest ###"
+cp $TEST_DIR/tempest.conf $TEMPEST_ETC_DIR/tempest.conf
+
+echo "### STEP 10: Run Tempest ###"
+cd $TEMPEST_DIR && source .tox/venv/bin/activate && tempest run --workspace-path $TEMPEST_DIR/workspace.yaml --workspace rgw --regex '^tempest.api.object_storage' --black-regex '.*test_account_quotas_negative.AccountQuotasNegativeTest.test_user_modify_quota|.*test_container_acl_negative.ObjectACLsNegativeTest.*|.*test_container_services_negative.ContainerNegativeTest.test_create_container_metadata_.*|.*test_container_staticweb.StaticWebTest.test_web_index|.*test_container_staticweb.StaticWebTest.test_web_listing_css|.*test_container_synchronization.*|.*test_object_services.PublicObjectTest.test_access_public_container_object_without_using_creds|.*test_object_services.ObjectTest.test_create_object_with_transfer_encoding'
 
 echo "### CLEAN UP BEGINNING ###"
+
+cd $TEST_DIR
+#rm -rf $TEMPEST_DIR
+../src/stop.sh
 # Stoping Keyston Admin Instance
 kill $KEYSTONE_ADMIN_PID
 # Stoping Keyston Public Instance
@@ -109,4 +130,3 @@ rm -rf $ARCHIVE_DIR
 rm -rf $KEYSTONE_DIR
 rm -rf $TOX_DIR
 echo "### CLEAN UP: Keystone Dir Removed ###"
-
index 51ebcf26cdbacd8f8c1898c345adb85bee04e074..325cd83c49752f9ea03544f4ec0134266c9d25e4 100755 (executable)
@@ -163,7 +163,7 @@ else
     objectstore="bluestore"
 fi
 ceph_osd=ceph-osd
-rgw_frontend="beast"
+rgw_frontend="beast prefix=/swift"
 rgw_compression=""
 lockdep=${LOCKDEP:-1}
 spdk_enabled=0 # disable SPDK by default
@@ -623,6 +623,17 @@ do_rgw_conf() {
 [client.rgw.${current_port}]
         rgw frontends = $rgw_frontend port=${current_port}
         admin socket = ${CEPH_OUT_DIR}/radosgw.${current_port}.asok
+        rgw keystone accepted admin roles = admin
+        rgw keystone accepted roles = admin,Member
+        rgw keystone admin domain = Default
+        rgw keystone admin password = ADMIN
+        rgw keystone admin project = admin
+        rgw keystone admin user = admin
+        rgw keystone api version = 3
+        rgw keystone implicit tenants = true
+        rgw swift account in url = true
+        rgw swift enforce content length = true
+        rgw swift versioning enabled = true
 EOF
         current_port=$((current_port + 1))
 done
@@ -1673,6 +1684,7 @@ do_rgw()
             --admin-socket=${CEPH_OUT_DIR}/radosgw.${current_port}.asok \
             --pid-file=${CEPH_OUT_DIR}/radosgw.${current_port}.pid \
             --rgw_luarocks_location=${CEPH_OUT_DIR}/luarocks \
+            --rgw_keystone_url=http://localhost:5000 \
             ${RGWDEBUG} \
             -n ${rgw_name} \
             "--rgw_frontends=${rgw_frontend} port=${current_port}${CEPH_RGW_HTTPS}"