Merge "Remove remaining job with Ubuntu Jammy (22.04)"
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/config.py b/manila_tempest_tests/config.py
index 4afa4e7..60d4164 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -287,6 +287,14 @@
     cfg.BoolOpt("run_mount_snapshot_tests",
                 default=False,
                 help="Enable or disable mountable snapshot tests."),
+    cfg.BoolOpt("run_negative_migration_replica_tests",
+                default=False,
+                help="Enable or disable negative migration with replica "
+                     "tests."),
+    cfg.BoolOpt("run_positive_migration_replica_tests",
+                default=True,
+                help="Enable or disable positive migration with replica tests."
+                ),
     cfg.BoolOpt("run_create_share_from_snapshot_in_another_pool_or_az_tests",
                 default=False,
                 help="Defines whether to run tests that create share from "
diff --git a/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py b/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py
index 3864e57..bc88200 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py
@@ -17,6 +17,7 @@
 from tempest import config
 from tempest.lib import decorators
 from tempest.lib import exceptions
+import testtools
 from testtools import testcase as tc
 
 from manila_tempest_tests.common import constants
@@ -330,11 +331,31 @@
     @ddt.data(
         (False, False),
         (True, False),
+    )
+    @ddt.unpack
+    def test_share_server_migration_complete(
+        self, new_share_network, check_with_replica
+    ):
+        self._test_share_server_migration_complete(
+            new_share_network, check_with_replica)
+
+    @decorators.idempotent_id('ae0e9e6c-3a77-4c4b-907b-8a793f88c734')
+    @testtools.skipUnless(CONF.share.run_positive_migration_replica_tests,
+                          'Share server migration with replica test '
+                          'is disabled.')
+    @tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
+    @ddt.data(
         (True, True)
     )
     @ddt.unpack
-    def test_share_server_migration_complete(self, new_share_network,
-                                             check_with_replica):
+    def test_share_server_migration_complete_allow_replica(
+        self, new_share_network, check_with_replica
+    ):
+        self._test_share_server_migration_complete(
+            new_share_network, check_with_replica)
+
+    def _test_share_server_migration_complete(self, new_share_network,
+                                              check_with_replica):
         """Test the share server migration complete."""
         share_network_id = self.provide_share_network(
             self.shares_v2_client, self.networks_client)
diff --git a/manila_tempest_tests/tests/api/admin/test_share_servers_migration_negative.py b/manila_tempest_tests/tests/api/admin/test_share_servers_migration_negative.py
index c6f3549..fc2a8db 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_servers_migration_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_servers_migration_negative.py
@@ -17,6 +17,7 @@
 from tempest.lib.common.utils import data_utils
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
+import testtools
 from testtools import testcase as tc
 
 
@@ -342,6 +343,43 @@
             dest_host
         )
 
+    @decorators.idempotent_id('ebe8da5b-ee9c-48c7-a7e4-9e71839f813f')
+    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
+    @testtools.skipUnless(
+        CONF.share.run_negative_migration_replica_tests,
+        'Share server negative migration with replica test is disabled.'
+    )
+    def test_share_server_migration_start_with_share_replica(self):
+        """Try server migration start with share replica."""
+        if not CONF.share.backend_replication_type or (
+                not CONF.share.run_replication_tests):
+            raise self.skipException(
+                'Share replica tests are disabled or unsupported.')
+        extra_specs = {
+            'driver_handles_share_servers': CONF.share.multitenancy_enabled,
+            'replication_type': CONF.share.backend_replication_type
+        }
+        share_type = self.shares_v2_client.create_share_type(
+            name=data_utils.rand_name("tempest-share-type"),
+            extra_specs=extra_specs,
+            cleanup_in_class=False)
+        share = self.create_share(share_type_id=share_type['share_type']['id'],
+                                  share_protocol=self.protocol,
+                                  cleanup_in_class=False)
+        share = self.shares_v2_client.get_share(share['id'])['share']
+        share_server_id = share['share_server_id']
+        dest_host, _ = self._choose_compatible_backend_for_share_server(
+            share_server_id)
+        self.create_share_replica(
+            share['id'],
+            cleanup_in_class=False)
+        self.assertRaises(
+            lib_exc.Conflict,
+            self.shares_v2_client.share_server_migration_start,
+            share_server_id,
+            dest_host
+        )
+
 
 class ShareServerMigrationInvalidParametersCIFS(
     ShareServerMigrationInvalidParametersNFS):
diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml
index 06c875e..b7e1949 100644
--- a/zuul.d/manila-tempest-jobs.yaml
+++ b/zuul.d/manila-tempest-jobs.yaml
@@ -106,6 +106,9 @@
         MANILA_SHARE_MIGRATION_PERIOD_TASK_INTERVAL: 1
         MANILA_SERVER_MIGRATION_PERIOD_TASK_INTERVAL: 10
         MANILA_REPLICA_STATE_UPDATE_INTERVAL: 10
+        # NOTE(pulluri): Adding below because not all services that utilize
+        # tls-proxy necessarily involve enabling HTTPS endpoints.
+        SERVICE_PROTOCOL: https
       devstack_services:
         tls-proxy: true
         key: true
@@ -272,7 +275,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
@@ -378,10 +381,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
@@ -517,7 +516,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
@@ -691,7 +689,11 @@
     name: manila-tempest-plugin-dummy-dhss
     description: Test the Dummy driver with DHSS=True
     parent: manila-tempest-plugin-standalone-base
+    required-projects:
+      - openstack/barbican
     vars:
+      devstack_plugins:
+        barbican: https://opendev.org/openstack/barbican
       devstack_localrc:
         SHARE_DRIVER: manila.tests.share.drivers.dummy.DummyDriver
         MANILA_CONFIGURE_GROUPS: alpha,beta,gamma,membernet,adminnet,netapp_active_iq