Skip to content

Commit 8f68d19

Browse files
Zuulopenstack-gerrit
Zuul
authored andcommitted
Merge "Fix backup metadata management and update"
2 parents 8f0e751 + 117642f commit 8f68d19

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

openstack/block_storage/v3/backup.py

+4
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ class Backup(resource.Resource):
5050
data_timestamp = resource.Body('data_timestamp')
5151
#: backup description
5252
description = resource.Body("description")
53+
#: The UUID of the encryption key. Only included for encrypted volumes.
54+
encryption_key_id = resource.Body("encryption_key_id")
5355
#: Backup fail reason
5456
fail_reason = resource.Body("fail_reason")
5557
#: Force backup
@@ -86,6 +88,8 @@ class Backup(resource.Resource):
8688
#: The UUID of the volume.
8789
volume_id = resource.Body("volume_id")
8890

91+
_max_microversion = "3.64"
92+
8993
def create(self, session, prepend_key=True, base_path=None, **params):
9094
"""Create a remote resource based on this instance.
9195

openstack/tests/functional/block_storage/v3/test_backup.py

+15
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,21 @@ def test_get(self):
6969
self.assertEqual(self.BACKUP_NAME, sot.name)
7070
self.assertEqual(False, sot.is_incremental)
7171

72+
def test_create_metadata(self):
73+
metadata_backup = self.user_cloud.block_storage.create_backup(
74+
name=self.getUniqueString(),
75+
volume_id=self.VOLUME_ID,
76+
metadata=dict(foo="bar"))
77+
self.user_cloud.block_storage.wait_for_status(
78+
metadata_backup,
79+
status='available',
80+
failures=['error'],
81+
interval=5,
82+
wait=self._wait_for_timeout)
83+
self.user_cloud.block_storage.delete_backup(
84+
metadata_backup.id,
85+
ignore_missing=False)
86+
7287
def test_create_incremental(self):
7388
incremental_backup = self.user_cloud.block_storage.create_backup(
7489
name=self.getUniqueString(),

openstack/tests/unit/block_storage/v3/test_backup.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"created_at": "2018-04-02T10:35:27.000000",
2828
"updated_at": "2018-04-03T10:35:27.000000",
2929
"description": 'description',
30+
"encryption_key_id": "fake_encry_id",
3031
"fail_reason": 'fail reason',
3132
"id": FAKE_ID,
3233
"name": "backup001",
@@ -55,7 +56,7 @@ def setUp(self):
5556
self.sess = mock.Mock(spec=adapter.Adapter)
5657
self.sess.get = mock.Mock()
5758
self.sess.post = mock.Mock(return_value=self.resp)
58-
self.sess.default_microversion = None
59+
self.sess.default_microversion = "3.64"
5960

6061
def test_basic(self):
6162
sot = backup.Backup(BACKUP)
@@ -67,6 +68,7 @@ def test_basic(self):
6768
self.assertTrue(sot.allow_list)
6869
self.assertTrue(sot.allow_get)
6970
self.assertTrue(sot.allow_fetch)
71+
self.assertIsNotNone(sot._max_microversion)
7072

7173
self.assertDictEqual(
7274
{
@@ -104,6 +106,7 @@ def test_create(self):
104106
sot.project_id)
105107
self.assertEqual(BACKUP['metadata'], sot.metadata)
106108
self.assertEqual(BACKUP['user_id'], sot.user_id)
109+
self.assertEqual(BACKUP['encryption_key_id'], sot.encryption_key_id)
107110

108111
def test_create_incremental(self):
109112
sot = backup.Backup(is_incremental=True)
@@ -124,7 +127,7 @@ def test_create_incremental(self):
124127
'incremental': True,
125128
}
126129
},
127-
microversion=None,
130+
microversion="3.64",
128131
params={}
129132
)
130133

@@ -137,7 +140,7 @@ def test_create_incremental(self):
137140
'incremental': False,
138141
}
139142
},
140-
microversion=None,
143+
microversion="3.64",
141144
params={}
142145
)
143146

0 commit comments

Comments
 (0)