with with_host(cephadm_module, 'test2'):
with with_service(cephadm_module, ServiceSpec('mgr', placement=PlacementSpec(count=2)), status_running=True):
assert wait(cephadm_module, cephadm_module.upgrade_start(
- 'image_id', None)) == 'Initiating upgrade to docker.io/image_id'
+ 'image_id', None)) == 'Initiating upgrade to image_id'
assert wait(cephadm_module, cephadm_module.upgrade_status()
- ).target_image == 'docker.io/image_id'
+ ).target_image == 'image_id'
assert wait(cephadm_module, cephadm_module.upgrade_pause()
- ) == 'Paused upgrade to docker.io/image_id'
+ ) == 'Paused upgrade to image_id'
assert wait(cephadm_module, cephadm_module.upgrade_resume()
- ) == 'Resumed upgrade to docker.io/image_id'
+ ) == 'Resumed upgrade to image_id'
assert wait(cephadm_module, cephadm_module.upgrade_stop()
- ) == 'Stopped upgrade to docker.io/image_id'
+ ) == 'Stopped upgrade to image_id'
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
}):
version_mock.return_value = 'ceph version 18.2.1 (somehash)'
assert wait(cephadm_module, cephadm_module.upgrade_start(
- 'to_image', None)) == 'Initiating upgrade to docker.io/to_image'
+ 'to_image', None)) == 'Initiating upgrade to to_image'
assert wait(cephadm_module, cephadm_module.upgrade_status()
- ).target_image == 'docker.io/to_image'
+ ).target_image == 'to_image'
def _versions_mock(cmd):
return json.dumps({
if use_repo_digest:
assert image == 'to_image@repo_digest'
else:
- assert image == 'docker.io/to_image'
+ assert image == 'to_image'
def test_upgrade_state_null(cephadm_module: CephadmOrchestrator):
>>> normalize_image_digest('ceph/ceph', 'docker.io')
'docker.io/ceph/ceph'
- Edge cases that shouldn't ever come up. (ubuntu alias for library/ubuntu)
- >>> normalize_image_digest('ubuntu', 'docker.io')
- 'docker.io/ubuntu'
-
No change:
>>> normalize_image_digest('quay.ceph.io/ceph/ceph', 'docker.io')
'quay.ceph.io/ceph/ceph'
>>> normalize_image_digest('docker.io/ubuntu', 'docker.io')
'docker.io/ubuntu'
+
+ >>> normalize_image_digest('localhost/ceph', 'docker.io')
+ 'localhost/ceph'
"""
- bits = digest.split('/')
- if '.' not in bits[0] or len(bits) < 3:
- digest = 'docker.io/' + digest
+ known_shortnames = [
+ 'ceph/ceph',
+ 'ceph/daemon',
+ 'ceph/daemon-base',
+ ]
+ for image in known_shortnames:
+ if digest.startswith(image):
+ return f'{default_registry}/{digest}'
return digest