Upload public image requires admin role by default
In glance the previous default was that any tenant could upload an
image as public which is likely not the desired default. This patch
changes the tempest tests so that images are no longer uploaded as
is_public=True by normal tenants so the policy change can merge in glance.
Glance change: https://review.openstack.org/#/c/92739/
Change-Id: If6a3aa0f7317b628b81b51d82108a18c701a1fd5
diff --git a/tempest/api/image/v1/test_images.py b/tempest/api/image/v1/test_images.py
index b90891b..c8726a2 100644
--- a/tempest/api/image/v1/test_images.py
+++ b/tempest/api/image/v1/test_images.py
@@ -33,12 +33,12 @@
resp, body = self.create_image(name='New Name',
container_format='bare',
disk_format='raw',
- is_public=True,
+ is_public=False,
properties=properties)
self.assertIn('id', body)
image_id = body.get('id')
self.assertEqual('New Name', body.get('name'))
- self.assertTrue(body.get('is_public'))
+ self.assertFalse(body.get('is_public'))
self.assertEqual('queued', body.get('status'))
for key, val in properties.items():
self.assertEqual(val, body.get('properties')[key])
@@ -54,14 +54,14 @@
# Register a new remote image
resp, body = self.create_image(name='New Remote Image',
container_format='bare',
- disk_format='raw', is_public=True,
+ disk_format='raw', is_public=False,
location='http://example.com'
'/someimage.iso',
properties={'key1': 'value1',
'key2': 'value2'})
self.assertIn('id', body)
self.assertEqual('New Remote Image', body.get('name'))
- self.assertTrue(body.get('is_public'))
+ self.assertFalse(body.get('is_public'))
self.assertEqual('active', body.get('status'))
properties = body.get('properties')
self.assertEqual(properties['key1'], 'value1')
@@ -71,12 +71,12 @@
def test_register_http_image(self):
resp, body = self.create_image(name='New Http Image',
container_format='bare',
- disk_format='raw', is_public=True,
+ disk_format='raw', is_public=False,
copy_from=CONF.image.http_image)
self.assertIn('id', body)
image_id = body.get('id')
self.assertEqual('New Http Image', body.get('name'))
- self.assertTrue(body.get('is_public'))
+ self.assertFalse(body.get('is_public'))
self.client.wait_for_image_status(image_id, 'active')
resp, body = self.client.get_image(image_id)
self.assertEqual(resp['status'], '200')
@@ -88,12 +88,12 @@
resp, body = self.create_image(name='New_image_with_min_ram',
container_format='bare',
disk_format='raw',
- is_public=True,
+ is_public=False,
min_ram=40,
properties=properties)
self.assertIn('id', body)
self.assertEqual('New_image_with_min_ram', body.get('name'))
- self.assertTrue(body.get('is_public'))
+ self.assertFalse(body.get('is_public'))
self.assertEqual('queued', body.get('status'))
self.assertEqual(40, body.get('min_ram'))
for key, val in properties.items():
@@ -147,7 +147,7 @@
resp, image = cls.create_image(name=name,
container_format=container_format,
disk_format=disk_format,
- is_public=True,
+ is_public=False,
location=location)
image_id = image['id']
return image_id
@@ -165,7 +165,7 @@
resp, image = cls.create_image(name=name,
container_format=container_format,
disk_format=disk_format,
- is_public=True, data=image_file)
+ is_public=False, data=image_file)
image_id = image['id']
return image_id
@@ -264,7 +264,7 @@
resp, image = cls.create_image(name="Standard Image",
container_format='ami',
disk_format='ami',
- is_public=True, data=image_file)
+ is_public=False, data=image_file)
cls.image_id = image['id']
cls.client.wait_for_image_status(image['id'], 'active')
@@ -356,7 +356,7 @@
resp, image = cls.create_image(name=name,
container_format=container_format,
disk_format=disk_format,
- is_public=True, data=image_file,
+ is_public=False, data=image_file,
properties={'key1': 'value1'})
image_id = image['id']
return image_id
diff --git a/tempest/api/image/v2/test_images.py b/tempest/api/image/v2/test_images.py
index 9eda13e..37dc163 100644
--- a/tempest/api/image/v2/test_images.py
+++ b/tempest/api/image/v2/test_images.py
@@ -40,15 +40,14 @@
resp, body = self.create_image(name=image_name,
container_format='bare',
disk_format='raw',
- visibility='public',
+ visibility='private',
ramdisk_id=uuid)
-
self.assertIn('id', body)
image_id = body.get('id')
self.assertIn('name', body)
self.assertEqual(image_name, body['name'])
self.assertIn('visibility', body)
- self.assertEqual('public', body['visibility'])
+ self.assertEqual('private', body['visibility'])
self.assertIn('status', body)
self.assertEqual('queued', body['status'])
@@ -81,7 +80,7 @@
resp, body = self.client.create_image(name=image_name,
container_format='bare',
disk_format='raw',
- visibility='public')
+ visibility='private')
self.assertEqual(201, resp.status)
image_id = body['id']
@@ -103,7 +102,7 @@
resp, body = self.client.create_image(name=image_name,
container_format='bare',
disk_format='iso',
- visibility='public')
+ visibility='private')
self.assertEqual(201, resp.status)
self.addCleanup(self.client.delete_image, body['id'])
self.assertEqual('queued', body['status'])
@@ -117,10 +116,8 @@
# Update Image
new_image_name = data_utils.rand_name('new-image')
- new_visibility = 'private'
resp, body = self.client.update_image(image_id, [
- dict(replace='/name', value=new_image_name),
- dict(replace='/visibility', value=new_visibility)])
+ dict(replace='/name', value=new_image_name)])
self.assertEqual(200, resp.status)
@@ -130,7 +127,6 @@
self.assertEqual(200, resp.status)
self.assertEqual(image_id, body['id'])
self.assertEqual(new_image_name, body['name'])
- self.assertEqual(new_visibility, body['visibility'])
class ListImagesTest(base.BaseV2ImageTest):
@@ -164,7 +160,7 @@
resp, body = cls.create_image(name=name,
container_format=container_format,
disk_format=disk_format,
- visibility='public')
+ visibility='private')
image_id = body['id']
resp, body = cls.client.store_image(image_id, data=image_file)
@@ -206,8 +202,8 @@
@test.attr(type='gate')
def test_list_images_param_visibility(self):
- # Test to get all images with visibility = public
- params = {"visibility": "public"}
+ # Test to get all images with visibility = private
+ params = {"visibility": "private"}
self._list_by_param_value_and_assert(params)
@test.attr(type='gate')
diff --git a/tempest/api/image/v2/test_images_tags.py b/tempest/api/image/v2/test_images_tags.py
index 504c0e8..dec3353 100644
--- a/tempest/api/image/v2/test_images_tags.py
+++ b/tempest/api/image/v2/test_images_tags.py
@@ -23,7 +23,7 @@
def test_update_delete_tags_for_image(self):
resp, body = self.create_image(container_format='bare',
disk_format='raw',
- visibility='public')
+ visibility='private')
image_id = body['id']
tag = data_utils.rand_name('tag-')
self.addCleanup(self.client.delete_image, image_id)
diff --git a/tempest/api/image/v2/test_images_tags_negative.py b/tempest/api/image/v2/test_images_tags_negative.py
index d8953d8..13cfa0a 100644
--- a/tempest/api/image/v2/test_images_tags_negative.py
+++ b/tempest/api/image/v2/test_images_tags_negative.py
@@ -35,7 +35,7 @@
# Delete non existing tag.
resp, body = self.create_image(container_format='bare',
disk_format='raw',
- visibility='public'
+ visibility='private'
)
image_id = body['id']
tag = data_utils.rand_name('non-exist-tag-')
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index f83a4b8..40fbf05 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -411,7 +411,7 @@
'name': name,
'container_format': fmt,
'disk_format': fmt,
- 'is_public': 'True',
+ 'is_public': 'False',
}
params.update(properties)
image = self.image_client.images.create(**params)