summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kajinami <tkajinam@redhat.com>2021-07-25 02:13:11 +0900
committerramishra <ramishra@redhat.com>2021-08-03 12:58:35 +0530
commit8fbd4476c00565c38ff341e639cee5cbdf83f0f9 (patch)
treed67ac5196dd12c0d881fa6668e9a5cb93b890aa3
parent7b9ffc5bed4555a8eb26b954d454aa172773417a (diff)
downloadheat-8fbd4476c00565c38ff341e639cee5cbdf83f0f9.tar.gz
Use Block Storage API v3 instead of API v2
Block Storage API v2 was deprecated during Pike cycle and is being removed during Xena cycle, and current v3 API should be used instead. Unused volume_client and network_client in integration test code are also removed by this change. Note: granade tests is made non-voting temporally until the same issue is fixed in stable/victoria. Depends-on: https://review.opendev.org/802150/ Change-Id: I6a2b5afa13480791971bbd8bba1f43b9f2db8294 (cherry picked from commit 1828df32fa946d49d8449ff1d8a26c05b3990a65)
-rw-r--r--.zuul.yaml3
-rw-r--r--heat/tests/clients/test_cinder_client.py8
-rw-r--r--heat/tests/openstack/cinder/test_volume.py2
-rw-r--r--heat/tests/openstack/cinder/test_volume_type.py6
-rw-r--r--heat/tests/openstack/cinder/test_volume_utils.py4
-rw-r--r--heat_integrationtests/common/clients.py21
-rw-r--r--heat_integrationtests/common/test.py10
7 files changed, 7 insertions, 47 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index 0daa2a8bf..dd2d1c4be 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -136,8 +136,7 @@
- job:
name: grenade-heat-multinode
parent: grenade-multinode
- # FIXME(ramishra): Make it voting once stable/victoria
- # starts using available images from mirror.
+ voting: false
required-projects:
- opendev.org/openstack/heat
- opendev.org/openstack/heat-tempest-plugin
diff --git a/heat/tests/clients/test_cinder_client.py b/heat/tests/clients/test_cinder_client.py
index 69b13c612..f1810e899 100644
--- a/heat/tests/clients/test_cinder_client.py
+++ b/heat/tests/clients/test_cinder_client.py
@@ -163,14 +163,6 @@ class CinderClientAPIVersionTest(common.HeatTestCase):
client = ctx.clients.client('cinder')
self.assertEqual('3.0', client.version)
- def test_cinder_api_v2(self):
- ctx = utils.dummy_context()
- self.patchobject(ctx.keystone_session, 'get_endpoint',
- side_effect=[ks_exceptions.EndpointNotFound,
- None])
- client = ctx.clients.client('cinder')
- self.assertEqual('2.0', client.version)
-
def test_cinder_api_not_supported(self):
ctx = utils.dummy_context()
self.patchobject(ctx.keystone_session, 'get_endpoint',
diff --git a/heat/tests/openstack/cinder/test_volume.py b/heat/tests/openstack/cinder/test_volume.py
index 87cc4e160..36ae420f7 100644
--- a/heat/tests/openstack/cinder/test_volume.py
+++ b/heat/tests/openstack/cinder/test_volume.py
@@ -1252,7 +1252,7 @@ class CinderVolumeTest(vt_base.VolumeTestCase):
vol.to_dict.return_value = vol_resp
rsrc.client().volumes = mock.MagicMock()
rsrc.client().volumes.get = mock.MagicMock(return_value=vol)
- rsrc.client().volume_api_version = 2
+ rsrc.client().volume_api_version = 3
rsrc.data = mock.MagicMock(return_value={'volume_type': 'lvmdriver-1'})
reality = rsrc.get_live_state(rsrc.properties)
diff --git a/heat/tests/openstack/cinder/test_volume_type.py b/heat/tests/openstack/cinder/test_volume_type.py
index de094fb24..b521c5cca 100644
--- a/heat/tests/openstack/cinder/test_volume_type.py
+++ b/heat/tests/openstack/cinder/test_volume_type.py
@@ -92,7 +92,7 @@ class CinderVolumeTypeTest(common.HeatTestCase):
self._test_handle_create(is_public=False)
def test_volume_type_with_projects(self):
- self.cinderclient.volume_api_version = 2
+ self.cinderclient.volume_api_version = 3
self._test_handle_create(projects=['id1', 'id2'])
def _test_update(self, update_args, is_update_metadata=False):
@@ -178,7 +178,7 @@ class CinderVolumeTypeTest(common.HeatTestCase):
props['projects'] = ['id1']
self.my_volume_type.t = self.my_volume_type.t.freeze(properties=props)
self.my_volume_type.reparse()
- self.cinderclient.volume_api_version = 2
+ self.cinderclient.volume_api_version = 3
self.stub_KeystoneProjectConstraint()
ex = self.assertRaises(exception.StackValidationFailed,
self.my_volume_type.validate)
@@ -193,7 +193,7 @@ class CinderVolumeTypeTest(common.HeatTestCase):
props['projects'] = ['id1']
self.my_volume_type.t = self.my_volume_type.t.freeze(properties=props)
self.my_volume_type.reparse()
- self.cinderclient.volume_api_version = 2
+ self.cinderclient.volume_api_version = 3
self.stub_KeystoneProjectConstraint()
self.assertIsNone(self.my_volume_type.validate())
diff --git a/heat/tests/openstack/cinder/test_volume_utils.py b/heat/tests/openstack/cinder/test_volume_utils.py
index 549d98058..07bf1fc58 100644
--- a/heat/tests/openstack/cinder/test_volume_utils.py
+++ b/heat/tests/openstack/cinder/test_volume_utils.py
@@ -13,7 +13,7 @@
from unittest import mock
-from cinderclient.v2 import client as cinderclient
+from cinderclient.v3 import client as cinderclient
from heat.engine.clients.os import cinder
from heat.engine.clients.os import nova
@@ -31,7 +31,7 @@ class VolumeTestCase(common.HeatTestCase):
super(VolumeTestCase, self).setUp()
self.fc = fakes_nova.FakeClient()
self.cinder_fc = cinderclient.Client('username', 'password')
- self.cinder_fc.volume_api_version = 2
+ self.cinder_fc.volume_api_version = 3
self.patchobject(cinder.CinderClientPlugin, '_create',
return_value=self.cinder_fc)
self.patchobject(nova.NovaClientPlugin, 'client',
diff --git a/heat_integrationtests/common/clients.py b/heat_integrationtests/common/clients.py
index 6079db19d..67c1d59b0 100644
--- a/heat_integrationtests/common/clients.py
+++ b/heat_integrationtests/common/clients.py
@@ -12,13 +12,11 @@
import os
-from cinderclient import client as cinder_client
from heat.common.i18n import _
from heatclient import client as heat_client
from keystoneauth1.identity.generic import password
from keystoneauth1 import session
from keystoneclient.v3 import client as kc_v3
-from neutronclient.v2_0 import client as neutron_client
from novaclient import client as nova_client
from swiftclient import client as swift_client
@@ -61,7 +59,6 @@ class ClientManager(object):
calling various OpenStack APIs.
"""
- CINDERCLIENT_VERSION = '2'
HEATCLIENT_VERSION = '1'
NOVA_API_VERSION = '2.1'
@@ -83,8 +80,6 @@ class ClientManager(object):
self.keystone_client = self._get_keystone_client()
self.orchestration_client = self._get_orchestration_client()
self.compute_client = self._get_compute_client()
- self.network_client = self._get_network_client()
- self.volume_client = self._get_volume_client()
self.object_client = self._get_object_client()
def _username(self):
@@ -162,22 +157,6 @@ class ClientManager(object):
os_cache=False,
http_log_debug=True)
- def _get_network_client(self):
-
- return neutron_client.Client(
- session=self.identity_client.session,
- service_type='network',
- region_name=self.conf.region,
- endpoint_type='publicURL')
-
- def _get_volume_client(self):
- return cinder_client.Client(
- self.CINDERCLIENT_VERSION,
- session=self.identity_client.session,
- endpoint_type='publicURL',
- region_name=self.conf.region,
- http_log_debug=True)
-
def _get_object_client(self):
args = {
'auth_version': self.auth_version,
diff --git a/heat_integrationtests/common/test.py b/heat_integrationtests/common/test.py
index 52a7fe45d..e0f22239a 100644
--- a/heat_integrationtests/common/test.py
+++ b/heat_integrationtests/common/test.py
@@ -103,8 +103,6 @@ class HeatIntegrationTest(testscenarios.WithScenarios,
self.keystone_client = self.manager.keystone_client
self.orchestration_client = self.manager.orchestration_client
self.compute_client = self.manager.compute_client
- self.network_client = self.manager.network_client
- self.volume_client = self.manager.volume_client
self.object_client = self.manager.object_client
self.client = self.orchestration_client
@@ -174,14 +172,6 @@ class HeatIntegrationTest(testscenarios.WithScenarios,
name = self.__name__
return rand_name(name)
- def _get_network(self, net_name=None):
- if net_name is None:
- net_name = self.conf.fixed_network_name
- networks = self.network_client.list_networks()
- for net in networks['networks']:
- if net['name'] == net_name:
- return net
-
def is_service_available(self, service_type):
try:
self.identity_client.get_endpoint_url(