X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fro%2Fsrc%2Fcharm.py;h=d87007e7c340c5ea324b1c67b93b65e9a5f6de6c;hb=refs%2Fchanges%2F20%2F11120%2F2;hp=951f281be542702e69ecdc06bea93fd14487edc4;hpb=457fde18dad36d9d58c794918ca79e6d72539bc1;p=osm%2Fdevops.git diff --git a/installers/charm/ro/src/charm.py b/installers/charm/ro/src/charm.py index 951f281b..d87007e7 100755 --- a/installers/charm/ro/src/charm.py +++ b/installers/charm/ro/src/charm.py @@ -73,6 +73,7 @@ class ConfigModel(ModelValidator): ro_database: str openmano_tenant: str certificates: Optional[str] + image_pull_policy: Optional[str] @validator("log_level") def validate_log_level(cls, v): @@ -98,6 +99,18 @@ class ConfigModel(ModelValidator): raise ValueError("Mysql port out of range") return v + @validator("image_pull_policy") + def validate_image_pull_policy(cls, v): + values = { + "always": "Always", + "ifnotpresent": "IfNotPresent", + "never": "Never", + } + v = v.lower() + if v not in values.keys(): + raise ValueError("value must be always, ifnotpresent or never") + return values[v] + @property def certificates_dict(cls): return _extract_certificates(cls.certificates) if cls.certificates else {} @@ -196,7 +209,9 @@ class RoCharm(CharmedOsmBase): pod_spec_builder = PodSpecV3Builder() # Build Container - container_builder = ContainerV3Builder(self.app.name, image_info) + container_builder = ContainerV3Builder( + self.app.name, image_info, config.image_pull_policy + ) certs_files = self._build_cert_files(config) if certs_files: