Skip to content

Commit 72e7e10

Browse files
authored
Merge pull request ceph#60377 from adk3798/cephadm-share-default-images
cephadm: use shared spot for default container image names Reviewed-by: John Mulligan <[email protected]> Reviewed-by: Redouane Kachach <[email protected]>
2 parents 944d412 + 874f124 commit 72e7e10

File tree

16 files changed

+79
-112
lines changed

16 files changed

+79
-112
lines changed

src/cephadm/build.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,9 @@ def _build(dest, src, config):
269269
mdir.mkdir(parents=True, exist_ok=True)
270270
(mdir / "__init__.py").touch(exist_ok=True)
271271
versioning_vars = config.cli_args.version_vars
272+
shutil.copytree(
273+
"../python-common/ceph", appdir / "ceph"
274+
)
272275
if versioning_vars:
273276
generate_version_file(versioning_vars, mdir / "version.py")
274277
if dinfo:

src/cephadm/cephadmlib/constants.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,6 @@
44
DEFAULT_IMAGE = 'quay.ceph.io/ceph-ci/ceph:main'
55
DEFAULT_IMAGE_IS_MAIN = True
66
DEFAULT_IMAGE_RELEASE = 'squid'
7-
DEFAULT_PROMETHEUS_IMAGE = 'quay.io/prometheus/prometheus:v2.51.0'
8-
DEFAULT_LOKI_IMAGE = 'quay.io/ceph/loki:3.0.0'
9-
DEFAULT_PROMTAIL_IMAGE = 'quay.io/ceph/promtail:3.0.0'
10-
DEFAULT_NODE_EXPORTER_IMAGE = 'quay.io/prometheus/node-exporter:v1.7.0'
11-
DEFAULT_ALERT_MANAGER_IMAGE = 'quay.io/prometheus/alertmanager:v0.27.0'
12-
DEFAULT_GRAFANA_IMAGE = 'quay.io/ceph/grafana:10.4.8'
13-
DEFAULT_HAPROXY_IMAGE = 'quay.io/ceph/haproxy:2.3'
14-
DEFAULT_KEEPALIVED_IMAGE = 'quay.io/ceph/keepalived:2.2.4'
15-
DEFAULT_NVMEOF_IMAGE = 'quay.io/ceph/nvmeof:1.3.3'
16-
DEFAULT_SNMP_GATEWAY_IMAGE = 'quay.io/ceph/snmp-notifier:v1.2.1'
17-
DEFAULT_ELASTICSEARCH_IMAGE = 'quay.io/omrizeneva/elasticsearch:6.8.23'
18-
DEFAULT_JAEGER_COLLECTOR_IMAGE = 'quay.io/jaegertracing/jaeger-collector:1.29'
19-
DEFAULT_JAEGER_AGENT_IMAGE = 'quay.io/jaegertracing/jaeger-agent:1.29'
20-
DEFAULT_JAEGER_QUERY_IMAGE = 'quay.io/jaegertracing/jaeger-query:1.29'
21-
DEFAULT_SMB_IMAGE = 'quay.io/samba.org/samba-server:devbuilds-centos-amd64'
22-
DEFAULT_SMBMETRICS_IMAGE = 'quay.io/samba.org/samba-metrics:latest'
23-
DEFAULT_NGINX_IMAGE = 'quay.io/ceph/nginx:sclorg-nginx-126'
24-
DEFAULT_OAUTH2_PROXY_IMAGE = 'quay.io/oauth2-proxy/oauth2-proxy:v7.6.0'
257
DEFAULT_REGISTRY = 'quay.io' # normalize unqualified digests to this
268
# ------------------------------------------------------------------------------
279

src/cephadm/cephadmlib/container_types.py

Lines changed: 10 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,8 @@
88
from typing import Dict, List, Optional, Any, Union, Tuple, Iterable, cast
99

1010
from .call_wrappers import call, call_throws, CallVerbosity
11-
from .constants import (
12-
DEFAULT_TIMEOUT,
13-
# default container images
14-
DEFAULT_ALERT_MANAGER_IMAGE,
15-
DEFAULT_GRAFANA_IMAGE,
16-
DEFAULT_LOKI_IMAGE,
17-
DEFAULT_NODE_EXPORTER_IMAGE,
18-
DEFAULT_PROMETHEUS_IMAGE,
19-
DEFAULT_PROMTAIL_IMAGE,
20-
DEFAULT_HAPROXY_IMAGE,
21-
DEFAULT_KEEPALIVED_IMAGE,
22-
DEFAULT_NVMEOF_IMAGE,
23-
DEFAULT_SNMP_GATEWAY_IMAGE,
24-
DEFAULT_ELASTICSEARCH_IMAGE,
25-
DEFAULT_JAEGER_COLLECTOR_IMAGE,
26-
DEFAULT_JAEGER_AGENT_IMAGE,
27-
DEFAULT_JAEGER_QUERY_IMAGE,
28-
DEFAULT_SMB_IMAGE,
29-
DEFAULT_SMBMETRICS_IMAGE,
30-
DEFAULT_NGINX_IMAGE,
31-
DEFAULT_OAUTH2_PROXY_IMAGE,
32-
)
11+
from .constants import DEFAULT_TIMEOUT
12+
import ceph.cephadm.images as default_images
3313
from .container_engines import Docker, Podman
3414
from .context import CephadmContext
3515
from .daemon_identity import DaemonIdentity, DaemonSubIdentity
@@ -687,24 +667,12 @@ def get_mgr_images() -> dict:
687667
"""Return dict of default mgr images"""
688668
mgr_prefix = 'mgr/cephadm/container_image_'
689669
mgr_images = {}
690-
mgr_images[mgr_prefix + 'prometheus'] = DEFAULT_PROMETHEUS_IMAGE
691-
mgr_images[mgr_prefix + 'alertmanager'] = DEFAULT_ALERT_MANAGER_IMAGE
692-
mgr_images[mgr_prefix + 'graphana'] = DEFAULT_GRAFANA_IMAGE
693-
mgr_images[mgr_prefix + 'loki'] = DEFAULT_LOKI_IMAGE
694-
mgr_images[mgr_prefix + 'promtail'] = DEFAULT_PROMTAIL_IMAGE
695-
mgr_images[mgr_prefix + 'node_exporter'] = DEFAULT_NODE_EXPORTER_IMAGE
696-
mgr_images[mgr_prefix + 'haproxy'] = DEFAULT_HAPROXY_IMAGE
697-
mgr_images[mgr_prefix + 'keepalived'] = DEFAULT_KEEPALIVED_IMAGE
698-
mgr_images[mgr_prefix + 'nvmeof'] = DEFAULT_NVMEOF_IMAGE
699-
mgr_images[mgr_prefix + 'snmp_gateway'] = DEFAULT_SNMP_GATEWAY_IMAGE
700-
mgr_images[mgr_prefix + 'elasticsearch'] = DEFAULT_ELASTICSEARCH_IMAGE
701-
mgr_images[
702-
mgr_prefix + 'jaeger_collector'
703-
] = DEFAULT_JAEGER_COLLECTOR_IMAGE
704-
mgr_images[mgr_prefix + 'jaeger_agent'] = DEFAULT_JAEGER_AGENT_IMAGE
705-
mgr_images[mgr_prefix + 'jaeger_query'] = DEFAULT_JAEGER_QUERY_IMAGE
706-
mgr_images[mgr_prefix + 'smb'] = DEFAULT_SMB_IMAGE
707-
mgr_images[mgr_prefix + 'smbmetrics'] = DEFAULT_SMBMETRICS_IMAGE
708-
mgr_images[mgr_prefix + 'nginx'] = DEFAULT_NGINX_IMAGE
709-
mgr_images[mgr_prefix + 'oauth2_proxy'] = DEFAULT_OAUTH2_PROXY_IMAGE
670+
images = vars(default_images)
671+
for key, value in images.items():
672+
if key.startswith('DEFAULT_') and key.endswith('_IMAGE'):
673+
# flake8 and black disagree about spaces around ":" hence the noqa comment
674+
suffix = key[
675+
len('DEFAULT_') : -len('_IMAGE') # noqa: E203
676+
].lower()
677+
mgr_images[mgr_prefix + suffix] = value
710678
return mgr_images

src/cephadm/cephadmlib/daemons/ingress.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
from typing import Dict, List, Optional, Tuple, Union
44

5-
from ..constants import (
5+
from ceph.cephadm.images import (
66
DEFAULT_HAPROXY_IMAGE,
77
DEFAULT_KEEPALIVED_IMAGE,
8+
)
9+
from ..constants import (
810
DATA_DIR_MODE,
911
)
1012
from ..container_daemon_form import ContainerDaemonForm, daemon_to_container

src/cephadm/cephadmlib/daemons/mgmt_gateway.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from ..daemon_form import register as register_daemon_form
1212
from ..daemon_identity import DaemonIdentity
1313
from ..deployment_utils import to_deployment_container
14-
from ..constants import DEFAULT_NGINX_IMAGE
14+
from ceph.cephadm.images import DEFAULT_NGINX_IMAGE
1515
from ..data_utils import dict_get, is_fsid
1616
from ..file_utils import populate_files, makedirs, recursive_chown
1717
from ..exceptions import Error

src/cephadm/cephadmlib/daemons/monitoring.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
from typing import Dict, List, Tuple
44

55
from ..call_wrappers import call, CallVerbosity
6-
from ..constants import (
7-
DEFAULT_ALERT_MANAGER_IMAGE,
6+
from ceph.cephadm.images import (
7+
DEFAULT_ALERTMANAGER_IMAGE,
88
DEFAULT_GRAFANA_IMAGE,
99
DEFAULT_LOKI_IMAGE,
1010
DEFAULT_NODE_EXPORTER_IMAGE,
1111
DEFAULT_PROMETHEUS_IMAGE,
1212
DEFAULT_PROMTAIL_IMAGE,
13+
)
14+
from ..constants import (
1315
UID_NOBODY,
1416
GID_NOGROUP,
1517
)
@@ -91,7 +93,7 @@ class Monitoring(ContainerDaemonForm):
9193
],
9294
},
9395
'alertmanager': {
94-
'image': DEFAULT_ALERT_MANAGER_IMAGE,
96+
'image': DEFAULT_ALERTMANAGER_IMAGE,
9597
'cpus': '2',
9698
'memory': '2GB',
9799
'args': [

src/cephadm/cephadmlib/daemons/nvmeof.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from ..context_getters import fetch_configs, get_config_and_keyring
99
from ..daemon_form import register as register_daemon_form
1010
from ..daemon_identity import DaemonIdentity
11-
from ..constants import DEFAULT_NVMEOF_IMAGE
11+
from ceph.cephadm.images import DEFAULT_NVMEOF_IMAGE
1212
from ..context import CephadmContext
1313
from ..data_utils import dict_get, is_fsid
1414
from ..deployment_utils import to_deployment_container

src/cephadm/cephadmlib/daemons/oauth2_proxy.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
from ..daemon_form import register as register_daemon_form
1212
from ..daemon_identity import DaemonIdentity
1313
from ..deployment_utils import to_deployment_container
14-
from ..constants import DEFAULT_OAUTH2_PROXY_IMAGE, UID_NOBODY, GID_NOGROUP
14+
from ceph.cephadm.images import DEFAULT_OAUTH2_PROXY_IMAGE
15+
from ..constants import UID_NOBODY, GID_NOGROUP
1516
from ..data_utils import dict_get, is_fsid
1617
from ..file_utils import populate_files, makedirs, recursive_chown
1718
from ..exceptions import Error

src/cephadm/cephadmlib/daemons/smb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from .. import deployment_utils
1414
from .. import file_utils
1515
from ..call_wrappers import call, CallVerbosity
16-
from ..constants import DEFAULT_SMB_IMAGE
16+
from ceph.cephadm.images import DEFAULT_SAMBA_IMAGE
1717
from ..container_daemon_form import ContainerDaemonForm, daemon_to_container
1818
from ..container_engines import Podman
1919
from ..container_types import (
@@ -418,7 +418,7 @@ class SMB(ContainerDaemonForm):
418418

419419
daemon_type = 'smb'
420420
daemon_base = '/usr/sbin/smbd'
421-
default_image = DEFAULT_SMB_IMAGE
421+
default_image = DEFAULT_SAMBA_IMAGE
422422

423423
@classmethod
424424
def for_daemon_type(cls, daemon_type: str) -> bool:

src/cephadm/cephadmlib/daemons/snmp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from urllib.error import HTTPError, URLError
66
from urllib.request import urlopen
77

8-
from ..constants import DEFAULT_SNMP_GATEWAY_IMAGE
8+
from ceph.cephadm.images import DEFAULT_SNMP_GATEWAY_IMAGE
99
from ..container_daemon_form import ContainerDaemonForm, daemon_to_container
1010
from ..container_types import CephContainer
1111
from ..context import CephadmContext

0 commit comments

Comments
 (0)