WIP: zuul: Test LVM/nvmet additional job

This is a patch that adds a new LVM/nvmet job similar to the one we
added before, but in this case we test a completely different
configuration to exercise different code paths in os-brick:

- Uses the new NVMe-oF connection information.

- Uses NVMe-oF native multipathing, even if it's by using the local IP
  address, which is not real multipathing.

- Shares the namespace for all connections on the same node.

NOTE: Since it's a WIP patch all other check jobs have been removed.
Change-Id: I35beb893ad135043deb5a4ea283e0d668692a438
This commit is contained in:
Gorka Eguileor 2023-01-18 10:23:34 +01:00
parent 472414674d
commit f51716aaaf
2 changed files with 59 additions and 24 deletions

View File

@ -1,31 +1,10 @@
- project:
templates:
- check-requirements
- tempest-plugin-jobs
check:
jobs:
- cinder-tempest-plugin-lvm-multiattach
- cinder-tempest-plugin-lvm-lio-barbican
- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream:
voting: false
- cinder-tempest-plugin-lvm-nvmet-barbican:
voting: false
- cinder-tempest-plugin-lvm-tgt-barbican
- nova-ceph-multistore:
voting: false
- cinder-tempest-plugin-cbak-ceph
- cinder-tempest-plugin-cbak-s3
# As per the Tempest "Stable Branch Support Policy", Tempest will only
# support the "Maintained" stable branches and not the "Extended Maintained"
# branches. That is what we need to do for all tempest plugins. Only jobs
# for the current releasable ("Maintained") stable branches should be listed
# here.
- cinder-tempest-plugin-basic-yoga
- cinder-tempest-plugin-basic-xena
- cinder-tempest-plugin-basic-wallaby
# Set this job to voting once we have some actual tests to run
- cinder-tempest-plugin-protection-functional:
voting: false
voting: true
- cinder-tempest-plugin-lvm-nvmet-new-conninfo-barbican:
voting: true
gate:
jobs:
- cinder-tempest-plugin-lvm-lio-barbican
@ -291,6 +270,40 @@
# NotImplementedError: Revert volume to snapshot not implemented for thin LVM.
volume_revert: False
- job:
name: cinder-tempest-plugin-lvm-nvmet-new-conninfo-barbican
description: |
This jobs configures Cinder with LVM, nvmet, barbican and
runs tempest tests and cinderlib tests. nvmet is
configured to use the new connection information format,
NVMe-oF native multipathing, and sharing the NVMe-oF
namespace for all the connections to the same node.
# TODO: switch to cinder-tempest-plugin-lvm-barbican-base
# when cinderlib support for NVMe is fixed
parent: cinder-tempest-plugin-lvm-barbican-base-abstract
pre-run: playbooks/install-multipath.yaml
vars:
devstack_localrc:
CINDER_TARGET_HELPER: nvmet
CINDER_TARGET_PROTOCOL: nvmet_tcp
TEMPEST_STORAGE_PROTOCOL: nvmeof
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
volume-feature-enabled:
# NotImplementedError: Revert volume to snapshot not implemented for thin LVM.
volume_revert: False
post-config:
$NOVA_CONF:
libvirt:
volume_use_multipath: true
$CINDER_CONF:
lvmdriver-1:
nvmeof_new_conn_info: true
lvm_share_target: true
target_secondary_ip_addresses: 127.0.0.1
use_multipath_for_image_xfer: true
- job:
name: cinder-tempest-plugin-lvm-tgt-barbican
description: |

View File

@ -0,0 +1,22 @@
- hosts: tempest
vars:
mpath_package: "{{ 'device-mapper-multipath' if ansible_os_family == 'RedHat' else 'multipath-tools' }}"
tasks:
- name: Install multipath package on RedHat systems
package:
name: "{{ mpath_package }}"
state: present
become: yes
- name: Create configuration
command: mpathconf --enable --with_multipathd y --user_friendly_names n --find_multipaths y
args:
creates: /etc/multipath.conf
become: yes
- name: Start and enable on boot the multipath daemon
service:
name: multipathd
state: started
enabled: yes
become: yes