diff --git a/doc/source/admin/index.rst b/doc/source/admin/index.rst
deleted file mode 100644
index 5a2500d..0000000
--- a/doc/source/admin/index.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-====================
-Administrators guide
-====================
-
-Administrators guide of openstack.
diff --git a/doc/source/cli/index.rst b/doc/source/cli/index.rst
deleted file mode 100644
index 53d63e3..0000000
--- a/doc/source/cli/index.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-================================
-Command line interface reference
-================================
-
-CLI reference of openstack.
diff --git a/doc/source/configuration/index.rst b/doc/source/configuration/index.rst
deleted file mode 100644
index b0d51ed..0000000
--- a/doc/source/configuration/index.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-=============
-Configuration
-=============
-
-Configuration of openstack.
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 9455dcb..2da05ee 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -13,14 +13,8 @@
    :maxdepth: 2
 
    readme
-   install/index
-   library/index
+   installation
    contributor/index
-   configuration/index
-   cli/index
-   user/index
-   admin/index
-   reference/index
 
 Indices and tables
 ==================
diff --git a/doc/source/install/common_configure.rst b/doc/source/install/common_configure.rst
deleted file mode 100644
index 1ece17a..0000000
--- a/doc/source/install/common_configure.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-2. Edit the ``/etc/manila-tempest-plugin/manila-tempest-plugin.conf`` file and complete the following
-   actions:
-
-   * In the ``[database]`` section, configure database access:
-
-     .. code-block:: ini
-
-        [database]
-        ...
-        connection = mysql+pymysql://manila-tempest-plugin:MANILA-TEMPEST-PLUGIN_DBPASS@controller/manila-tempest-plugin
diff --git a/doc/source/install/common_prerequisites.rst b/doc/source/install/common_prerequisites.rst
deleted file mode 100644
index 511e8f4..0000000
--- a/doc/source/install/common_prerequisites.rst
+++ /dev/null
@@ -1,75 +0,0 @@
-Prerequisites
--------------
-
-Before you install and configure the openstack service,
-you must create a database, service credentials, and API endpoints.
-
-#. To create the database, complete these steps:
-
-   * Use the database access client to connect to the database
-     server as the ``root`` user:
-
-     .. code-block:: console
-
-        $ mysql -u root -p
-
-   * Create the ``manila-tempest-plugin`` database:
-
-     .. code-block:: none
-
-        CREATE DATABASE manila-tempest-plugin;
-
-   * Grant proper access to the ``manila-tempest-plugin`` database:
-
-     .. code-block:: none
-
-        GRANT ALL PRIVILEGES ON manila-tempest-plugin.* TO 'manila-tempest-plugin'@'localhost' \
-          IDENTIFIED BY 'MANILA-TEMPEST-PLUGIN_DBPASS';
-        GRANT ALL PRIVILEGES ON manila-tempest-plugin.* TO 'manila-tempest-plugin'@'%' \
-          IDENTIFIED BY 'MANILA-TEMPEST-PLUGIN_DBPASS';
-
-     Replace ``MANILA-TEMPEST-PLUGIN_DBPASS`` with a suitable password.
-
-   * Exit the database access client.
-
-     .. code-block:: none
-
-        exit;
-
-#. Source the ``admin`` credentials to gain access to
-   admin-only CLI commands:
-
-   .. code-block:: console
-
-      $ . admin-openrc
-
-#. To create the service credentials, complete these steps:
-
-   * Create the ``manila-tempest-plugin`` user:
-
-     .. code-block:: console
-
-        $ openstack user create --domain default --password-prompt manila-tempest-plugin
-
-   * Add the ``admin`` role to the ``manila-tempest-plugin`` user:
-
-     .. code-block:: console
-
-        $ openstack role add --project service --user manila-tempest-plugin admin
-
-   * Create the manila-tempest-plugin service entities:
-
-     .. code-block:: console
-
-        $ openstack service create --name manila-tempest-plugin --description "openstack" openstack
-
-#. Create the openstack service API endpoints:
-
-   .. code-block:: console
-
-      $ openstack endpoint create --region RegionOne \
-        openstack public http://controller:XXXX/vY/%\(tenant_id\)s
-      $ openstack endpoint create --region RegionOne \
-        openstack internal http://controller:XXXX/vY/%\(tenant_id\)s
-      $ openstack endpoint create --region RegionOne \
-        openstack admin http://controller:XXXX/vY/%\(tenant_id\)s
diff --git a/doc/source/install/get_started.rst b/doc/source/install/get_started.rst
deleted file mode 100644
index 61d0c88..0000000
--- a/doc/source/install/get_started.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-==========================
-openstack service overview
-==========================
-The openstack service provides...
-
-The openstack service consists of the following components:
-
-``manila-tempest-plugin-api`` service
-  Accepts and responds to end user compute API calls...
diff --git a/doc/source/install/index.rst b/doc/source/install/index.rst
deleted file mode 100644
index 9a24d30..0000000
--- a/doc/source/install/index.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-====================================
-openstack service installation guide
-====================================
-
-.. toctree::
-   :maxdepth: 2
-
-   get_started.rst
-   install.rst
-   verify.rst
-   next-steps.rst
-
-The openstack service (manila-tempest-plugin) provides...
-
-This chapter assumes a working setup of OpenStack following the
-`OpenStack Installation Tutorial
-<https://docs.openstack.org/project-install-guide/ocata/>`_.
diff --git a/doc/source/install/install-obs.rst b/doc/source/install/install-obs.rst
deleted file mode 100644
index 0ede5ab..0000000
--- a/doc/source/install/install-obs.rst
+++ /dev/null
@@ -1,34 +0,0 @@
-.. _install-obs:
-
-
-Install and configure for openSUSE and SUSE Linux Enterprise
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to install and configure the openstack service
-for openSUSE Leap 42.1 and SUSE Linux Enterprise Server 12 SP1.
-
-.. include:: common_prerequisites.rst
-
-Install and configure components
---------------------------------
-
-#. Install the packages:
-
-   .. code-block:: console
-
-      # zypper --quiet --non-interactive install
-
-.. include:: common_configure.rst
-
-
-Finalize installation
----------------------
-
-Start the openstack services and configure them to start when
-the system boots:
-
-.. code-block:: console
-
-   # systemctl enable openstack-manila-tempest-plugin-api.service
-
-   # systemctl start openstack-manila-tempest-plugin-api.service
diff --git a/doc/source/install/install-rdo.rst b/doc/source/install/install-rdo.rst
deleted file mode 100644
index 6d1d34a..0000000
--- a/doc/source/install/install-rdo.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-.. _install-rdo:
-
-Install and configure for Red Hat Enterprise Linux and CentOS
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-This section describes how to install and configure the openstack service
-for Red Hat Enterprise Linux 7 and CentOS 7.
-
-.. include:: common_prerequisites.rst
-
-Install and configure components
---------------------------------
-
-#. Install the packages:
-
-   .. code-block:: console
-
-      # yum install
-
-.. include:: common_configure.rst
-
-Finalize installation
----------------------
-
-Start the openstack services and configure them to start when
-the system boots:
-
-.. code-block:: console
-
-   # systemctl enable openstack-manila-tempest-plugin-api.service
-
-   # systemctl start openstack-manila-tempest-plugin-api.service
diff --git a/doc/source/install/install-ubuntu.rst b/doc/source/install/install-ubuntu.rst
deleted file mode 100644
index ba14612..0000000
--- a/doc/source/install/install-ubuntu.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-.. _install-ubuntu:
-
-Install and configure for Ubuntu
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to install and configure the openstack
-service for Ubuntu 14.04 (LTS).
-
-.. include:: common_prerequisites.rst
-
-Install and configure components
---------------------------------
-
-#. Install the packages:
-
-   .. code-block:: console
-
-      # apt-get update
-
-      # apt-get install
-
-.. include:: common_configure.rst
-
-Finalize installation
----------------------
-
-Restart the openstack services:
-
-.. code-block:: console
-
-   # service openstack-manila-tempest-plugin-api restart
diff --git a/doc/source/install/install.rst b/doc/source/install/install.rst
deleted file mode 100644
index c610a8b..0000000
--- a/doc/source/install/install.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-.. _install:
-
-Install and configure
-~~~~~~~~~~~~~~~~~~~~~
-
-This section describes how to install and configure the
-openstack service, code-named manila-tempest-plugin, on the controller node.
-
-This section assumes that you already have a working OpenStack
-environment with at least the following components installed:
-.. (add the appropriate services here and further notes)
-
-Note that installation and configuration vary by distribution.
-
-.. toctree::
-   :maxdepth: 2
-
-   install-obs.rst
-   install-rdo.rst
-   install-ubuntu.rst
diff --git a/doc/source/install/next-steps.rst b/doc/source/install/next-steps.rst
deleted file mode 100644
index e91c1d4..0000000
--- a/doc/source/install/next-steps.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-.. _next-steps:
-
-Next steps
-~~~~~~~~~~
-
-Your OpenStack environment now includes the manila-tempest-plugin service.
-
-To add additional services, see
-https://docs.openstack.org/project-install-guide/ocata/.
diff --git a/doc/source/install/verify.rst b/doc/source/install/verify.rst
deleted file mode 100644
index bb6f8eb..0000000
--- a/doc/source/install/verify.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-.. _verify:
-
-Verify operation
-~~~~~~~~~~~~~~~~
-
-Verify operation of the openstack service.
-
-.. note::
-
-   Perform these commands on the controller node.
-
-#. Source the ``admin`` project credentials to gain access to
-   admin-only CLI commands:
-
-   .. code-block:: console
-
-      $ . admin-openrc
-
-#. List service components to verify successful launch and registration
-   of each process:
-
-   .. code-block:: console
-
-      $ openstack openstack service list
diff --git a/doc/source/installation.rst b/doc/source/installation.rst
new file mode 100644
index 0000000..4c674a9
--- /dev/null
+++ b/doc/source/installation.rst
@@ -0,0 +1,12 @@
+============
+Installation
+============
+
+At the command line::
+
+    $ pip install manila-tempest-plugin
+
+Or, if you have virtualenvwrapper installed::
+
+    $ mkvirtualenv manila-tempest-plugin
+    $ pip install manila-tempest-plugin
diff --git a/doc/source/library/index.rst b/doc/source/library/index.rst
deleted file mode 100644
index da9d896..0000000
--- a/doc/source/library/index.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-========
-Usage
-========
-
-To use openstack in a project::
-
-    import manila-tempest-plugin
diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst
deleted file mode 100644
index 676ddd0..0000000
--- a/doc/source/reference/index.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-==========
-References
-==========
-
-References of openstack.
diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst
deleted file mode 100644
index d7509c7..0000000
--- a/doc/source/user/index.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-===========
-Users guide
-===========
-
-Users guide of openstack.
diff --git a/manila_tempest_tests/tests/api/admin/test_quotas_negative.py b/manila_tempest_tests/tests/api/admin/test_quotas_negative.py
index 20e359a..5b4ff1d 100644
--- a/manila_tempest_tests/tests/api/admin/test_quotas_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_quotas_negative.py
@@ -130,6 +130,7 @@
         # try schedule share with size, bigger than gigabytes quota
         self.assertRaises(lib_exc.OverLimit,
                           self.create_share,
+                          share_type_id=self.share_type_id,
                           size=overquota)
 
     @decorators.idempotent_id('37dd40a8-375e-454b-8b80-229cb0eecb01')
diff --git a/manila_tempest_tests/tests/rbac/test_rules.py b/manila_tempest_tests/tests/rbac/test_rules.py
index 4c86787..2c6a019 100644
--- a/manila_tempest_tests/tests/rbac/test_rules.py
+++ b/manila_tempest_tests/tests/rbac/test_rules.py
@@ -48,7 +48,7 @@
     @classmethod
     def resource_setup(cls):
         super(ShareRbacRulesTests, cls).resource_setup()
-        cls.metadata = {u'key': u'value'}
+        cls.metadata = {'key': 'value'}
 
     def access(self, share_id, access_type, access_to, access_level='rw'):
         access = {}
diff --git a/manila_tempest_tests/tests/rbac/test_share_group_types.py b/manila_tempest_tests/tests/rbac/test_share_group_types.py
index ac2f54b..6886cc1 100644
--- a/manila_tempest_tests/tests/rbac/test_share_group_types.py
+++ b/manila_tempest_tests/tests/rbac/test_share_group_types.py
@@ -51,8 +51,8 @@
     @classmethod
     def resource_setup(cls):
         super(ShareRbacShareGroupTypesTests, cls).resource_setup()
-        cls.group_specs1 = {u'key1': u'value1'}
-        cls.group_specs2 = {u'key2': u'value2'}
+        cls.group_specs1 = {'key1': 'value1'}
+        cls.group_specs2 = {'key2': 'value2'}
         cls.share_type = cls.create_share_type()
         cls.share_group_type = cls.create_share_group_type(
             cls.share_type['id'], group_specs=cls.group_specs1)
diff --git a/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py b/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py
index 0fae6f0..725fefd 100644
--- a/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py
+++ b/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py
@@ -40,7 +40,7 @@
     @classmethod
     def resource_setup(cls):
         super(ShareRbacExtraSpecsTests, cls).resource_setup()
-        cls.extra_specs = {u'key': u'value'}
+        cls.extra_specs = {'key': 'value'}
         cls.share_type = cls.create_share_type()
 
     @abc.abstractmethod
diff --git a/manila_tempest_tests/tests/rbac/test_snapshots.py b/manila_tempest_tests/tests/rbac/test_snapshots.py
index 1978415..f5114bf 100644
--- a/manila_tempest_tests/tests/rbac/test_snapshots.py
+++ b/manila_tempest_tests/tests/rbac/test_snapshots.py
@@ -221,7 +221,7 @@
     def test_set_snapshot_metadata(self):
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'])
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         self.do_request(
             'set_metadata', expected_status=200,
             resource_id=snap['id'], resource='snapshot', metadata=metadata)
@@ -236,7 +236,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_get_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'],
             metadata=metadata)
@@ -255,7 +255,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_delete_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'], metadata=metadata)
         self.do_request(
@@ -392,7 +392,7 @@
     @utils.skip_if_microversion_not_supported("2.73")
     def test_set_snapshot_metadata(self):
         snap = self.create_snapshot(self.client, self.share['id'])
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         self.do_request(
             'set_metadata', expected_status=200,
             resource_id=snap['id'], resource='snapshot', metadata=metadata)
@@ -407,7 +407,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_get_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         share_client = getattr(self, 'share_member_client', self.client)
         snap = self.create_snapshot(
             share_client, self.share['id'], metadata=metadata)
@@ -426,7 +426,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_delete_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.client, self.share['id'], metadata=metadata)
         self.do_request(
@@ -531,7 +531,7 @@
     def test_set_snapshot_metadata(self):
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'])
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         self.do_request(
             'set_metadata', expected_status=lib_exc.Forbidden,
             resource_id=snap['id'], resource='snapshot', metadata=metadata)
@@ -552,7 +552,7 @@
     @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_delete_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'], metadata=metadata)
         self.do_request(
diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml
index 5ff7f56..c950770 100644
--- a/zuul.d/manila-tempest-jobs.yaml
+++ b/zuul.d/manila-tempest-jobs.yaml
@@ -286,7 +286,7 @@
         SHARE_BACKING_FILE_SIZE: 64000M
         MANILA_CONFIGURE_DEFAULT_TYPES: false
         MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: 'snapshot_support=false'
-        TEMPEST_USE_TEST_ACCOUNTS: true
+        TEMPEST_USE_TEST_ACCOUNTS: false
       devstack_services:
         mysql: false
         postgresql: true
@@ -392,10 +392,6 @@
         devstack-plugin-ceph: https://opendev.org/openstack/devstack-plugin-ceph
       tempest_test_regex: manila_tempest_tests.tests
       devstack_localrc:
-        # TODO (gouthamr): update to squid after
-        # https://bugs.launchpad.net/manila/+bug/2105833
-        CEPH_RELEASE: 'reef'
-        CONTAINER_IMAGE: 'quay.io/ceph/ceph:v18.2'
         VOLUME_BACKING_FILE_SIZE: 60GB
         SHARE_DRIVER: manila.share.drivers.cephfs.driver.CephFSDriver
         MANILA_ENABLED_BACKENDS: cephfsnative
@@ -531,7 +527,6 @@
         TARGET_DEV_OSD_DIR: /opt/stack
         ENABLED_SHARE_PROTOCOLS: NFS
         MANILA_OPTGROUP_cephfsnfs_cephfs_ganesha_server_ip: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
-        CEPH_RELEASE: "reef"
         MANILA_SETUP_IPV6: false
         NEUTRON_CREATE_INITIAL_NETWORKS: true
         IP_VERSION: 4
@@ -889,6 +884,13 @@
       regex: ^stable/(yoga|xena|wallaby|victoria|ussuri)$
       negate: true
 
+- job:
+    name: manila-tempest-plugin-lvm-fips-py311
+    parent: manila-tempest-plugin-lvm-fips
+    vars:
+      devstack_localrc:
+        PYTHON3_VERSION: 3.11
+
 - project-template:
     name: manila-tempest-plugin-jobs-using-service-image
     description: |
