With ceph_volume_client and mgr-volumes co-existing
for sometime, the version of both needs to be same.
The ceph_volume_client version <=5 can't decode
'subvolumes' key in auth-metadata file. Hence to
handle version in-compatibility, the version of
ceph_volume_client is bumped up to 6 and the same
needs to be done in mgr-volume's AuthMetadataManager
Fixes: https://tracker.ceph.com/issues/49374
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit
818c7781ff0467c6521bf2b3002b094fb8a71257)
# for different subvolumes, versioning details, etc.
expected_auth_metadata = {
"version": 5,
- "compat_version": 1,
+ "compat_version": 6,
"dirty": False,
"tenant_id": "tenant1",
"subvolumes": {
expected_auth_metadata = {
"version": 5,
- "compat_version": 1,
+ "compat_version": 6,
"dirty": False,
"tenant_id": "tenant1",
"subvolumes": {
expected_auth_metadata = {
"version": 5,
- "compat_version": 1,
+ "compat_version": 6,
"dirty": False,
"tenant_id": "tenant1",
"subvolumes": {
class AuthMetadataManager(object):
# Current version
- version = 5
+ version = 6
# Filename extensions for meta files.
META_FILE_EXT = ".meta"
decode the metadata, and 'version', the AuthMetadataManager version
that encoded the metadata.
"""
- data['compat_version'] = 1
+ data['compat_version'] = 6
data['version'] = self.version
return self._metadata_set(self._auth_metadata_path(auth_id), data)