Merge "TrivialFix: Remove unnecessary import"
diff --git a/manila_tempest_tests/tests/scenario/manager.py b/manila_tempest_tests/tests/scenario/manager.py
index dede47a..c83dfe6 100644
--- a/manila_tempest_tests/tests/scenario/manager.py
+++ b/manila_tempest_tests/tests/scenario/manager.py
@@ -734,14 +734,15 @@
return self.os_admin.networks_client.list_networks()['networks']
def create_floating_ip(self, thing, external_network_id=None,
- port_id=None, client=None):
+ port_id=None, ip_addr=None, client=None):
"""Create a floating IP and associates to a resource/port on Neutron"""
if not external_network_id:
external_network_id = CONF.network.public_network_id
if not client:
client = self.floating_ips_client
if not port_id:
- port_id, ip4 = self._get_server_port_id_and_ip4(thing)
+ port_id, ip4 = self._get_server_port_id_and_ip4(thing,
+ ip_addr=ip_addr)
else:
ip4 = None
result = client.create_floatingip(
diff --git a/manila_tempest_tests/tests/scenario/manager_share.py b/manila_tempest_tests/tests/scenario/manager_share.py
index eaffa35..da8a8e5 100644
--- a/manila_tempest_tests/tests/scenario/manager_share.py
+++ b/manila_tempest_tests/tests/scenario/manager_share.py
@@ -158,10 +158,11 @@
def init_remote_client(self, instance):
server_ip = None
if self.ipv6_enabled:
- server_ip = self._get_ipv6_server_ip(instance)
+ server_ip = self._get_server_ip(instance, ip_version=6)
if not server_ip:
+ ip_addr = self._get_server_ip(instance)
# Obtain a floating IP
- floating_ip = self.create_floating_ip(instance)
+ floating_ip = self.create_floating_ip(instance, ip_addr=ip_addr)
self.floating_ips[instance['id']] = floating_ip
server_ip = floating_ip['floating_ip_address']
@@ -328,7 +329,7 @@
client = client or self.shares_v2_client
if not CONF.share.multitenancy_enabled:
if self.ipv6_enabled and not self.storage_network:
- server_ip = self._get_ipv6_server_ip(instance)
+ server_ip = self._get_server_ip(instance, ip_version=6)
else:
server_ip = (
CONF.share.override_ip_for_nfs_access
@@ -379,15 +380,15 @@
return locations
- def _get_ipv6_server_ip(self, instance):
- ipv6_addrs = []
+ def _get_server_ip(self, instance, ip_version=4):
+ ip_addrs = []
for network_name, nic_list in instance['addresses'].items():
if network_name == self.storage_network_name:
continue
for nic_data in nic_list:
- if nic_data['version'] == 6:
- ipv6_addrs.append(nic_data['addr'])
- return ipv6_addrs[0] if ipv6_addrs else None
+ if nic_data['version'] == ip_version:
+ ip_addrs.append(nic_data['addr'])
+ return ip_addrs[0] if ip_addrs else None
def _create_share(self, share_protocol=None, size=None, name=None,
snapshot_id=None, description=None, metadata=None,
diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml
new file mode 100644
index 0000000..c9efb7c
--- /dev/null
+++ b/zuul.d/manila-tempest-jobs.yaml
@@ -0,0 +1,94 @@
+- job:
+ name: manila-tempest-plugin-base
+ abstract: true
+ description: Base job for devstack/tempest based manila jobs.
+ parent: devstack-tempest
+ timeout: 10800
+ required-projects:
+ - openstack/manila
+ - openstack/manila-image-elements
+ - openstack/manila-tempest-plugin
+ - openstack/python-manilaclient
+ - openstack/tempest
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^.*\.rst$
+ - ^api-ref/.*$
+ - ^doc/.*$
+ - ^manila/hacking/.*$
+ - ^manila/tests/.*$
+ - ^releasenotes/.*$
+ - ^setup.cfg$
+ - ^tools/.*$
+ - ^tox.ini$
+ vars:
+ tox_envlist: all
+ tempest_test_regex: manila_tempest_tests
+ tempest_concurrency: 8
+ tempest_plugins:
+ - manila-tempest-plugin
+ devstack_plugins:
+ manila: https://opendev.org/openstack/manila
+ manila-tempest-plugin: https://opendev.org/openstack/manila-tempest-plugin
+ devstack_services:
+ cinder: false
+ s-account: false
+ s-container: false
+ s-object: false
+ s-proxy: false
+ horizon: false
+ tls-proxy: true
+ devstack_localrc:
+ USE_PYTHON3: true
+ TEMPEST_USE_TEST_ACCOUNTS: true
+ MANILA_USE_DOWNGRADE_MIGRATIONS: true
+ MANILA_INSTALL_TEMPEST_PLUGIN_SYSTEMWIDE: false
+ MANILA_ALLOW_NAS_SERVER_PORTS_ON_HOST: true
+ MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS: 'snapshot_support=True create_share_from_snapshot_support=True'
+
+
+- job:
+ name: manila-tempest-plugin-zfsonlinux
+ description: Test ZFSOnLinux multibackend (DHSS=False) with postgresql db
+ parent: manila-tempest-plugin-base
+ vars:
+ tempest_test_regex: '(^manila_tempest_tests.tests)(?=.*\[.*\bbackend\b.*\])'
+ devstack_localrc:
+ SHARE_DRIVER: manila.share.drivers.zfsonlinux.driver.ZFSonLinuxShareDriver
+ 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: false
+ MANILA_OPTGROUP_paris_driver_handles_share_servers: false
+ MANILA_SHARE_MIGRATION_PERIOD_TASK_INTERVAL: 1
+ MANILA_REPLICA_STATE_UPDATE_INTERVAL: 60
+ MANILA_ZFSONLINUX_SERVICE_IP: 127.0.0.1
+ MANILA_ZFSONLINUX_USE_SSH: true
+ MANILA_CONFIGURE_DEFAULT_TYPES: true
+ MANILA_USE_SCHEDULER_CREATING_SHARE_FROM_SNAPSHOT: true
+ devstack_services:
+ mysql: false
+ postgresql: true
+ devstack_local_conf:
+ test-config:
+ $TEMPEST_CONFIG:
+ share:
+ default_share_type_name: default
+ run_driver_assisted_migration_tests: true
+ run_host_assisted_migration_tests: true
+ run_replication_tests: true
+ run_manage_unmanage_snapshot_tests: true
+ run_manage_unmanage_tests: true
+ run_multiple_share_replicas_tests: false
+ run_create_share_from_snapshot_in_another_pool_or_az_tests: true
+ backend_replication_type: readable
+ enable_protocols: nfs
+ capability_storage_protocol: NFS
+ build_timeout: 180
+ enable_ip_rules_for_protocols: nfs
+ multitenancy_enabled: False
+ backend_names: LONDON,PARIS
+ multi_backend: true
+ image_password: manila
diff --git a/.zuul.yaml b/zuul.d/project.yaml
similarity index 95%
rename from .zuul.yaml
rename to zuul.d/project.yaml
index 4c95c89..bc0d8d3 100644
--- a/.zuul.yaml
+++ b/zuul.d/project.yaml
@@ -4,12 +4,12 @@
- tempest-plugin-jobs
check:
jobs:
+ - manila-tempest-plugin-zfsonlinux:
+ voting: false
- manila-tempest-dsvm-mysql-generic:
voting: false
- manila-tempest-dsvm-postgres-container:
voting: false
- - manila-tempest-dsvm-postgres-zfsonlinux:
- voting: false
- manila-tempest-dsvm-postgres-generic-singlebackend:
voting: false
- manila-tempest-dsvm-generic-no-share-servers: