From acc536e1b12a1b03d76e440188c8aa72c9c33ce5 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Tue, 5 May 2020 23:01:52 -0700 Subject: [PATCH] Zuulv3 generic driver testing The generic driver is being tested in four separate non-voting jobs: manila-tempest-dsvm-mysql-generic - NFS protocol only - DHSS=True mode - Multi-backend style - API tests only manila-tempest-dsvm-postgres-generic-singlebackend - CIFS protocol only - DHSS=True mode - Single-backend (defined in a multi-backend style) - API tests only manila-tempest-dsvm-generic-no-share-servers - NFS and CIFS protocols - DHSS=False mode with pre-configured VMs as share servers - API tests only manila-tempest-dsvm-scenario - NFS protocol only - DHSS=True mode - scenario tests only These jobs were historically separate to allow testing multiple features in parallel. We also preferred the separation because it was easier to convince reviewers while making changes to the job definitions when they were in the "project-config" repository. Now, since we control pretty much every aspect of testing, thanks to Zuulv3, lets consolidate these jobs and save CI resources and reviewer bandwidth. This patch proposes "manila-tempest-plugin-generic" - a new non-voting job that runs the generic driver in DHSS=True mode serving CIFS and NFS shares. The job runs API and scenario tests that need a shared file system backend to run. We drop coverage for the following: - postgresql database: this is being tested in the manila-tempest-plugin-zfsonlinux and manila-tempest-plugin-container. - host assisted migration tests: these are highly flaky when run with the generic driver. These are being run in manila-tempest-plugin-zfsonlinux and manila-tempest-plugin-lvm. - DHSS=False mode testing with generic driver: We test several backends in DHSS=False configuration. The generic driver isn't as feature rich as these other drivers (lvm, zfsonlinux, cephfs-native/nfs, glusterfs) Change-Id: I6c2b648541ee3f75a5ce7292e156b2dec6669c69 Signed-off-by: Goutham Pacha Ravi --- zuul.d/manila-tempest-jobs.yaml | 38 +++++++++++++++++++++++++++++++++ zuul.d/project.yaml | 8 +------ 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml index e474ecd1..c0c6554d 100644 --- a/zuul.d/manila-tempest-jobs.yaml +++ b/zuul.d/manila-tempest-jobs.yaml @@ -187,3 +187,41 @@ multitenancy_enabled: true backend_names: LONDON,PARIS multi_backend: true + +- job: + name: manila-tempest-plugin-generic + description: | + Test the generic driver multibackend (DHSS=True) with NFS and CIFS + parent: manila-tempest-plugin-base + vars: + tempest_test_regex: '(^manila_tempest_tests.tests)(?=.*\[.*\bbackend\b.*\])' + # The generic driver uses nova VMs as share servers; running with a + # high concurrency could starve the driver of RAM/Disk/CPUs to + # function properly in a small single node devstack VM. + tempest_concurrency: 2 + devstack_localrc: + VOLUME_BACKING_FILE_SIZE: 24G + SHARE_DRIVER: manila.share.drivers.generic.GenericShareDriver + MANILA_ENABLED_BACKENDS: london,paris + MANILA_BACKEND1_CONFIG_GROUP_NAME: london + MANILA_BACKEND2_CONFIG_GROUP_NAME: paris + MANILA_SHARE_BACKEND1_NAME: LONDON + MANILA_SHARE_BACKEND2_NAME: PARIS + MANILA_OPTGROUP_london_driver_handles_share_servers: true + MANILA_OPTGROUP_paris_driver_handles_share_servers: true + MANILA_USE_SERVICE_INSTANCE_PASSWORD: true + MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: 'snapshot_support=True create_share_from_snapshot_support=True' + devstack_services: + cinder: true + devstack_local_conf: + test-config: + $TEMPEST_CONFIG: + share: + default_share_type_name: default + run_share_group_tests: false + multitenancy_enabled: true + suppress_errors_in_cleanup: true + share_creation_retry_number: 2 + backend_names: LONDON,PARIS + multi_backend: true + image_password: manila diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 899e3ccc..abc04534 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -10,13 +10,7 @@ voting: false - manila-tempest-plugin-container: voting: false - - manila-tempest-dsvm-mysql-generic: - voting: false - - manila-tempest-dsvm-postgres-generic-singlebackend: - voting: false - - manila-tempest-dsvm-generic-no-share-servers: - voting: false - - manila-tempest-dsvm-scenario: + - manila-tempest-plugin-generic: voting: false - manila-tempest-minimal-dsvm-cephfs-native: voting: false