From: John Mulligan Date: Thu, 10 Aug 2023 13:54:05 +0000 (-0400) Subject: cephadm: move cephadm global constants to cephadmlib/constants.py X-Git-Tag: v19.0.0~561^2~25 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c7ef26bcbbef4329544e573d247355535edf10f5;p=ceph-ci.git cephadm: move cephadm global constants to cephadmlib/constants.py Signed-off-by: John Mulligan Pair-programmed-with: Adam King Co-authored-by: Adam King --- diff --git a/src/cephadm/cephadm.py b/src/cephadm/cephadm.py index 5ad4712b3cb..54ec7328bb1 100755 --- a/src/cephadm/cephadm.py +++ b/src/cephadm/cephadm.py @@ -41,56 +41,58 @@ from urllib.error import HTTPError, URLError from urllib.request import urlopen, Request from pathlib import Path +from cephadmlib.constants import ( + # default images + DEFAULT_ALERT_MANAGER_IMAGE, + DEFAULT_ELASTICSEARCH_IMAGE, + DEFAULT_GRAFANA_IMAGE, + DEFAULT_HAPROXY_IMAGE, + DEFAULT_IMAGE, + DEFAULT_IMAGE_IS_MAIN, + DEFAULT_IMAGE_RELEASE, + DEFAULT_JAEGER_AGENT_IMAGE, + DEFAULT_JAEGER_COLLECTOR_IMAGE, + DEFAULT_JAEGER_QUERY_IMAGE, + DEFAULT_KEEPALIVED_IMAGE, + DEFAULT_LOKI_IMAGE, + DEFAULT_NODE_EXPORTER_IMAGE, + DEFAULT_NVMEOF_IMAGE, + DEFAULT_PROMETHEUS_IMAGE, + DEFAULT_PROMTAIL_IMAGE, + DEFAULT_REGISTRY, + DEFAULT_SNMP_GATEWAY_IMAGE, + # other constant values + CEPH_CONF, + CEPH_CONF_DIR, + CEPH_DEFAULT_CONF, + CEPH_DEFAULT_KEYRING, + CEPH_DEFAULT_PUBKEY, + CEPH_KEYRING, + CEPH_PUBKEY, + CGROUPS_SPLIT_PODMAN_VERSION, + CONTAINER_INIT, + CUSTOM_PS1, + DATA_DIR, + DATA_DIR_MODE, + DATEFMT, + DEFAULT_MODE, + DEFAULT_RETRY, + DEFAULT_TIMEOUT, + LATEST_STABLE_RELEASE, + LOCK_DIR, + LOGROTATE_DIR, + LOG_DIR, + LOG_DIR_MODE, + MIN_PODMAN_VERSION, + NO_DEPRECATED, + PIDS_LIMIT_UNLIMITED_PODMAN_VERSION, + QUIET_LOG_LEVEL, + SYSCTL_DIR, + UNIT_DIR, +) + FuncT = TypeVar('FuncT', bound=Callable) -# Default container images ----------------------------------------------------- -DEFAULT_IMAGE = 'quay.ceph.io/ceph-ci/ceph:main' -DEFAULT_IMAGE_IS_MAIN = True -DEFAULT_IMAGE_RELEASE = 'reef' -DEFAULT_PROMETHEUS_IMAGE = 'quay.io/prometheus/prometheus:v2.43.0' -DEFAULT_LOKI_IMAGE = 'docker.io/grafana/loki:2.4.0' -DEFAULT_PROMTAIL_IMAGE = 'docker.io/grafana/promtail:2.4.0' -DEFAULT_NODE_EXPORTER_IMAGE = 'quay.io/prometheus/node-exporter:v1.5.0' -DEFAULT_ALERT_MANAGER_IMAGE = 'quay.io/prometheus/alertmanager:v0.25.0' -DEFAULT_GRAFANA_IMAGE = 'quay.io/ceph/ceph-grafana:9.4.7' -DEFAULT_HAPROXY_IMAGE = 'quay.io/ceph/haproxy:2.3' -DEFAULT_KEEPALIVED_IMAGE = 'quay.io/ceph/keepalived:2.2.4' -DEFAULT_NVMEOF_IMAGE = 'quay.io/ceph/nvmeof:0.0.1' -DEFAULT_SNMP_GATEWAY_IMAGE = 'docker.io/maxwo/snmp-notifier:v1.2.1' -DEFAULT_ELASTICSEARCH_IMAGE = 'quay.io/omrizeneva/elasticsearch:6.8.23' -DEFAULT_JAEGER_COLLECTOR_IMAGE = 'quay.io/jaegertracing/jaeger-collector:1.29' -DEFAULT_JAEGER_AGENT_IMAGE = 'quay.io/jaegertracing/jaeger-agent:1.29' -DEFAULT_JAEGER_QUERY_IMAGE = 'quay.io/jaegertracing/jaeger-query:1.29' -DEFAULT_REGISTRY = 'docker.io' # normalize unqualified digests to this -# ------------------------------------------------------------------------------ - -LATEST_STABLE_RELEASE = 'reef' -DATA_DIR = '/var/lib/ceph' -LOG_DIR = '/var/log/ceph' -LOCK_DIR = '/run/cephadm' -LOGROTATE_DIR = '/etc/logrotate.d' -SYSCTL_DIR = '/etc/sysctl.d' -UNIT_DIR = '/etc/systemd/system' -CEPH_CONF_DIR = 'config' -CEPH_CONF = 'ceph.conf' -CEPH_PUBKEY = 'ceph.pub' -CEPH_KEYRING = 'ceph.client.admin.keyring' -CEPH_DEFAULT_CONF = f'/etc/ceph/{CEPH_CONF}' -CEPH_DEFAULT_KEYRING = f'/etc/ceph/{CEPH_KEYRING}' -CEPH_DEFAULT_PUBKEY = f'/etc/ceph/{CEPH_PUBKEY}' -LOG_DIR_MODE = 0o770 -DATA_DIR_MODE = 0o700 -DEFAULT_MODE = 0o600 -CONTAINER_INIT = True -MIN_PODMAN_VERSION = (2, 0, 2) -CGROUPS_SPLIT_PODMAN_VERSION = (2, 1, 0) -PIDS_LIMIT_UNLIMITED_PODMAN_VERSION = (3, 4, 1) -CUSTOM_PS1 = r'[ceph: \u@\h \W]\$ ' -DEFAULT_TIMEOUT = None # in seconds -DEFAULT_RETRY = 15 -DATEFMT = '%Y-%m-%dT%H:%M:%S.%fZ' -QUIET_LOG_LEVEL = 9 # DEBUG is 10, so using 9 to be lower level than DEBUG -NO_DEPRECATED = False logger: logging.Logger = None # type: ignore diff --git a/src/cephadm/cephadmlib/constants.py b/src/cephadm/cephadmlib/constants.py new file mode 100644 index 00000000000..bad46bd0eb7 --- /dev/null +++ b/src/cephadm/cephadmlib/constants.py @@ -0,0 +1,50 @@ +# constants.py - constant values used throughout the cephadm sources + +# Default container images ----------------------------------------------------- +DEFAULT_IMAGE = 'quay.ceph.io/ceph-ci/ceph:main' +DEFAULT_IMAGE_IS_MAIN = True +DEFAULT_IMAGE_RELEASE = 'reef' +DEFAULT_PROMETHEUS_IMAGE = 'quay.io/prometheus/prometheus:v2.43.0' +DEFAULT_LOKI_IMAGE = 'docker.io/grafana/loki:2.4.0' +DEFAULT_PROMTAIL_IMAGE = 'docker.io/grafana/promtail:2.4.0' +DEFAULT_NODE_EXPORTER_IMAGE = 'quay.io/prometheus/node-exporter:v1.5.0' +DEFAULT_ALERT_MANAGER_IMAGE = 'quay.io/prometheus/alertmanager:v0.25.0' +DEFAULT_GRAFANA_IMAGE = 'quay.io/ceph/ceph-grafana:9.4.7' +DEFAULT_HAPROXY_IMAGE = 'quay.io/ceph/haproxy:2.3' +DEFAULT_KEEPALIVED_IMAGE = 'quay.io/ceph/keepalived:2.2.4' +DEFAULT_NVMEOF_IMAGE = 'quay.io/ceph/nvmeof:0.0.1' +DEFAULT_SNMP_GATEWAY_IMAGE = 'docker.io/maxwo/snmp-notifier:v1.2.1' +DEFAULT_ELASTICSEARCH_IMAGE = 'quay.io/omrizeneva/elasticsearch:6.8.23' +DEFAULT_JAEGER_COLLECTOR_IMAGE = 'quay.io/jaegertracing/jaeger-collector:1.29' +DEFAULT_JAEGER_AGENT_IMAGE = 'quay.io/jaegertracing/jaeger-agent:1.29' +DEFAULT_JAEGER_QUERY_IMAGE = 'quay.io/jaegertracing/jaeger-query:1.29' +DEFAULT_REGISTRY = 'docker.io' # normalize unqualified digests to this +# ------------------------------------------------------------------------------ + +LATEST_STABLE_RELEASE = 'reef' +DATA_DIR = '/var/lib/ceph' +LOG_DIR = '/var/log/ceph' +LOCK_DIR = '/run/cephadm' +LOGROTATE_DIR = '/etc/logrotate.d' +SYSCTL_DIR = '/etc/sysctl.d' +UNIT_DIR = '/etc/systemd/system' +CEPH_CONF_DIR = 'config' +CEPH_CONF = 'ceph.conf' +CEPH_PUBKEY = 'ceph.pub' +CEPH_KEYRING = 'ceph.client.admin.keyring' +CEPH_DEFAULT_CONF = f'/etc/ceph/{CEPH_CONF}' +CEPH_DEFAULT_KEYRING = f'/etc/ceph/{CEPH_KEYRING}' +CEPH_DEFAULT_PUBKEY = f'/etc/ceph/{CEPH_PUBKEY}' +LOG_DIR_MODE = 0o770 +DATA_DIR_MODE = 0o700 +DEFAULT_MODE = 0o600 +CONTAINER_INIT = True +MIN_PODMAN_VERSION = (2, 0, 2) +CGROUPS_SPLIT_PODMAN_VERSION = (2, 1, 0) +PIDS_LIMIT_UNLIMITED_PODMAN_VERSION = (3, 4, 1) +CUSTOM_PS1 = r'[ceph: \u@\h \W]\$ ' +DEFAULT_TIMEOUT = None # in seconds +DEFAULT_RETRY = 15 +DATEFMT = '%Y-%m-%dT%H:%M:%S.%fZ' +QUIET_LOG_LEVEL = 9 # DEBUG is 10, so using 9 to be lower level than DEBUG +NO_DEPRECATED = False