Merge "Fix test_node_vhd_and_qcow2 to validate uploads" into feature/zuulv3
This commit is contained in:
commit
7928f273fc
@ -899,6 +899,7 @@ class UploadWorker(BaseWorker):
|
||||
data.state = zk.READY
|
||||
data.external_id = external_id
|
||||
data.external_name = ext_image_name
|
||||
data.format = image.extension
|
||||
return data
|
||||
|
||||
def _checkForProviderUploads(self):
|
||||
|
@ -274,19 +274,15 @@ class TestLauncher(tests.DBTestCase):
|
||||
def test_node_vhd_and_qcow2(self):
|
||||
"""Test label provided by vhd and qcow2 images builds"""
|
||||
configfile = self.setup_config('node_vhd_and_qcow2.yaml')
|
||||
pool = self.useNodepool(configfile, watermark_sleep=1)
|
||||
self._useBuilder(configfile)
|
||||
self.waitForImage('fake-provider1', 'fake-image')
|
||||
self.waitForImage('fake-provider2', 'fake-image')
|
||||
pool.start()
|
||||
nodes = self.waitForNodes('fake-label', 2)
|
||||
self.assertEqual(len(nodes), 2)
|
||||
self.assertEqual(zk.READY, nodes[0].state)
|
||||
self.assertEqual(zk.READY, nodes[1].state)
|
||||
if nodes[0].provider == 'fake-provider1':
|
||||
self.assertEqual(nodes[1].provider, 'fake-provider2')
|
||||
else:
|
||||
self.assertEqual(nodes[1].provider, 'fake-provider1')
|
||||
p1_image = self.waitForImage('fake-provider1', 'fake-image')
|
||||
p2_image = self.waitForImage('fake-provider2', 'fake-image')
|
||||
|
||||
# We can't guarantee which provider would build the requested
|
||||
# nodes, but that doesn't matter so much as guaranteeing that the
|
||||
# correct image type is uploaded to the correct provider.
|
||||
self.assertEqual(p1_image.format, "vhd")
|
||||
self.assertEqual(p2_image.format, "qcow2")
|
||||
|
||||
def test_dib_upload_fail(self):
|
||||
"""Test that an image upload failure is contained."""
|
||||
|
@ -186,6 +186,7 @@ class TestZooKeeper(tests.DBTestCase):
|
||||
orig_data = zk.ImageUpload()
|
||||
orig_data.external_id = "deadbeef"
|
||||
orig_data.state = zk.READY
|
||||
orig_data.format = "qcow2"
|
||||
|
||||
build_number = self.zk.storeBuild(image, zk.ImageBuild())
|
||||
upload_id = self.zk.storeImageUpload(image, build_number, provider,
|
||||
@ -196,6 +197,7 @@ class TestZooKeeper(tests.DBTestCase):
|
||||
self.assertEqual(orig_data.external_id, data.external_id)
|
||||
self.assertEqual(orig_data.state, data.state)
|
||||
self.assertEqual(orig_data.state_time, data.state_time)
|
||||
self.assertEqual(orig_data.format, data.format)
|
||||
self.assertEqual(self.zk.getBuildProviders("ubuntu-trusty",
|
||||
build_number),
|
||||
[provider])
|
||||
@ -695,6 +697,7 @@ class TestZKModel(tests.BaseTestCase):
|
||||
o.state = zk.UPLOADING
|
||||
o.external_id = 'DEADBEEF'
|
||||
o.external_name = 'trusty'
|
||||
o.format = 'qcow2'
|
||||
|
||||
d = o.toDict()
|
||||
self.assertNotIn('id', d)
|
||||
@ -705,6 +708,7 @@ class TestZKModel(tests.BaseTestCase):
|
||||
self.assertEqual(o.state_time, d['state_time'])
|
||||
self.assertEqual(o.external_id, d['external_id'])
|
||||
self.assertEqual(o.external_name, d['external_name'])
|
||||
self.assertEqual(o.format, d['format'])
|
||||
|
||||
def test_ImageUpload_fromDict(self):
|
||||
now = int(time.time())
|
||||
@ -713,6 +717,7 @@ class TestZKModel(tests.BaseTestCase):
|
||||
d = {
|
||||
'external_id': 'DEADBEEF',
|
||||
'external_name': 'trusty',
|
||||
'format': 'qcow2',
|
||||
'state': zk.READY,
|
||||
'state_time': now
|
||||
}
|
||||
@ -726,6 +731,7 @@ class TestZKModel(tests.BaseTestCase):
|
||||
self.assertEqual(o.state_time, d['state_time'])
|
||||
self.assertEqual(o.external_id, d['external_id'])
|
||||
self.assertEqual(o.external_name, d['external_name'])
|
||||
self.assertEqual(o.format, d['format'])
|
||||
|
||||
def test_NodeRequest_toDict(self):
|
||||
o = zk.NodeRequest("500-123")
|
||||
|
@ -258,6 +258,7 @@ class ImageUpload(BaseModel):
|
||||
self.build_id = build_id
|
||||
self.provider_name = provider_name
|
||||
self.image_name = image_name
|
||||
self.format = None
|
||||
self.external_id = None # Provider ID of the image
|
||||
self.external_name = None # Provider name of the image
|
||||
|
||||
@ -267,6 +268,7 @@ class ImageUpload(BaseModel):
|
||||
d['build_id'] = self.build_id
|
||||
d['provider_name'] = self.provider_name
|
||||
d['image_name'] = self.image_name
|
||||
d['format'] = self.format
|
||||
d['stat'] = self.stat
|
||||
return '<ImageUpload %s>' % d
|
||||
|
||||
@ -275,7 +277,8 @@ class ImageUpload(BaseModel):
|
||||
return (self.id == other.id and
|
||||
self.provider_name == other.provider_name and
|
||||
self.build_id == other.build_id and
|
||||
self.image_name == other.image_name)
|
||||
self.image_name == other.image_name and
|
||||
self.format == other.format)
|
||||
else:
|
||||
return False
|
||||
|
||||
@ -286,6 +289,7 @@ class ImageUpload(BaseModel):
|
||||
d = super(ImageUpload, self).toDict()
|
||||
d['external_id'] = self.external_id
|
||||
d['external_name'] = self.external_name
|
||||
d['format'] = self.format
|
||||
return d
|
||||
|
||||
@staticmethod
|
||||
@ -305,6 +309,7 @@ class ImageUpload(BaseModel):
|
||||
super(ImageUpload, o).fromDict(d)
|
||||
o.external_id = d.get('external_id')
|
||||
o.external_name = d.get('external_name')
|
||||
o.format = d.get('format')
|
||||
return o
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user