فهرست منبع

registry-console: align image and check

enable option to configure basename in image
docker_image_availability check: follow registry-console image options
Luke Meyer 7 سال پیش
والد
کامیت
a80dab78b0

+ 3 - 2
inventory/byo/hosts.example

@@ -401,9 +401,10 @@ openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true',
 
 # OpenShift Registry Console Options
 # Override the console image prefix:
-# origin default is "cockpit/" and the image appended is "kubernetes"
-# enterprise default is "registry.access.redhat.com/openshift3/" and the image appended is "registry-console"
+# origin default is "cockpit/", enterprise default is "openshift3/"
 #openshift_cockpit_deployer_prefix=registry.example.com/myrepo/
+# origin default is "kubernetes", enterprise default is "registry-console"
+#openshift_cockpit_deployer_basename=my-console
 # Override image version, defaults to latest for origin, vX.Y product version for enterprise
 #openshift_cockpit_deployer_version=1.4.1
 

+ 1 - 0
roles/cockpit-ui/tasks/main.yml

@@ -41,6 +41,7 @@
     command: >
       {{ openshift.common.client_binary }} new-app --template=registry-console
       {% if openshift_cockpit_deployer_prefix is defined  %}-p IMAGE_PREFIX="{{ openshift_cockpit_deployer_prefix }}"{% endif %}
+      {% if openshift_cockpit_deployer_basename is defined  %}-p IMAGE_BASENAME="{{ openshift_cockpit_deployer_basename }}"{% endif %}
       {% if openshift_cockpit_deployer_version is defined  %}-p IMAGE_VERSION="{{ openshift_cockpit_deployer_version }}"{% endif %}
       -p OPENSHIFT_OAUTH_PROVIDER_URL="{{ openshift.master.public_api_url }}"
       -p REGISTRY_HOST="{{ docker_registry_route.results[0].spec.host }}"

+ 10 - 6
roles/openshift_health_checker/openshift_checks/docker_image_availability.py

@@ -12,15 +12,15 @@ DEPLOYMENT_IMAGE_INFO = {
     "origin": {
         "namespace": "openshift",
         "name": "origin",
-        "registry_console_template": "${prefix}kubernetes:${version}",
         "registry_console_prefix": "cockpit/",
+        "registry_console_basename": "kubernetes",
         "registry_console_default_version": "latest",
     },
     "openshift-enterprise": {
         "namespace": "openshift3",
         "name": "ose",
-        "registry_console_template": "${prefix}registry-console:${version}",
-        "registry_console_prefix": "registry.access.redhat.com/openshift3/",
+        "registry_console_prefix": "openshift3/",
+        "registry_console_basename": "registry-console",
         "registry_console_default_version": "${short_version}",
     },
 }
@@ -156,7 +156,8 @@ class DockerImageAvailability(DockerHostMixin, OpenShiftCheck):
         if 'oo_nodes_to_config' in host_groups:
             for suffix in NODE_IMAGE_SUFFIXES:
                 required.add(image_url.replace("${component}", suffix).replace("${version}", image_tag))
-            required.add(self._registry_console_image(image_tag, image_info))
+            if self.get_var("osm_use_cockpit", default=True, convert=bool):
+                required.add(self._registry_console_image(image_tag, image_info))
 
         # images for containerized components
         if self.get_var("openshift", "common", "is_containerized"):
@@ -180,6 +181,10 @@ class DockerImageAvailability(DockerHostMixin, OpenShiftCheck):
             "openshift_cockpit_deployer_prefix",
             default=image_info["registry_console_prefix"],
         )
+        basename = self.get_var(
+            "openshift_cockpit_deployer_basename",
+            default=image_info["registry_console_basename"],
+        )
 
         # enterprise template just uses v3.6, v3.7, etc
         match = re.match(r'v\d+\.\d+', image_tag)
@@ -187,8 +192,7 @@ class DockerImageAvailability(DockerHostMixin, OpenShiftCheck):
         version = image_info["registry_console_default_version"].replace("${short_version}", short_version)
         version = self.get_var("openshift_cockpit_deployer_version", default=version)
 
-        template = image_info["registry_console_template"]
-        return template.replace('${prefix}', prefix).replace('${version}', version)
+        return prefix + basename + ':' + version
 
     def local_images(self, images):
         """Filter a list of images and return those available locally."""

+ 2 - 2
roles/openshift_health_checker/test/docker_image_availability_test.py

@@ -217,7 +217,7 @@ def test_registry_availability(image, registries, connection_test_failed, skopeo
             'foo.io/openshift3/ose-docker-registry:f13ac45',
             'foo.io/openshift3/ose-haproxy-router:f13ac45',
             # registry-console is not constructed/versioned the same as the others.
-            'registry.access.redhat.com/openshift3/registry-console:vtest',
+            'openshift3/registry-console:vtest',
             # containerized images aren't built from oreg_url
             'openshift3/node:vtest',
             'openshift3/openvswitch:vtest',
@@ -261,7 +261,7 @@ def test_required_images(deployment_type, is_containerized, groups, oreg_url, ex
             openshift_deployment_type="openshift-enterprise",
             openshift_image_tag="vtest",
         ),
-        "registry.access.redhat.com/openshift3/registry-console:vtest",
+        "openshift3/registry-console:vtest",
     ), (
         dict(
             openshift_deployment_type="openshift-enterprise",