--- - block: - name: Retrieve list of openshift nodes matching registry selector oc_obj: state: list kind: node selector: "{{ openshift.hosted.registry.selector | default(omit) }}" register: registry_nodes - name: set_fact l_node_count to number of nodes matching registry selector set_fact: l_node_count: "{{ registry_nodes.results.results[0]['items'] | length }}" # Determine the default number of registry/router replicas to use if no count # has been specified. # If no registry nodes defined, the default should be 0. - name: set_fact l_default_replicas when l_node_count == 0 set_fact: l_default_replicas: 0 when: l_node_count | int == 0 # If registry nodes are defined and the registry storage kind is # defined, default should be the number of registry nodes, otherwise # just 1: - name: set_fact l_default_replicas when l_node_count > 0 set_fact: l_default_replicas: "{{ l_node_count if openshift.hosted.registry.storage.kind | default(none) is not none else 1 }}" when: l_node_count | int > 0 when: openshift.hosted.registry.replicas | default(none) is none - name: set openshift_hosted facts set_fact: openshift_hosted_registry_replicas: "{{ openshift.hosted.registry.replicas | default(l_default_replicas) }}" openshift_hosted_registry_name: docker-registry openshift_hosted_registry_serviceaccount: registry openshift_hosted_registry_namespace: "{{ openshift.hosted.registry.namespace | default('default') }}" openshift_hosted_registry_selector: "{{ openshift.hosted.registry.selector }}" openshift_hosted_registry_images: "{{ openshift.hosted.registry.registryurl | default('openshift3/ose-${component}:${version}')}}" openshift_hosted_registry_volumes: [] openshift_hosted_registry_env_vars: {} openshift_hosted_registry_edits: # These edits are being specified only to prevent 'changed' on rerun - key: spec.strategy.rollingParams value: intervalSeconds: 1 maxSurge: "25%" maxUnavailable: "25%" timeoutSeconds: 600 updatePeriodSeconds: 1 action: put openshift_hosted_registry_force: - False - include: secure.yml static: no run_once: true when: - not (openshift.docker.hosted_registry_insecure | default(false) | bool) - include: storage/object_storage.yml static: no when: - openshift.hosted.registry.storage.kind | default(none) == 'object' - name: Set facts for persistent volume set_fact: pvc_volume_mounts: - name: registry-storage type: persistentVolumeClaim claim_name: "{{ openshift.hosted.registry.storage.volume.name }}-claim" openshift_hosted_registry_volumes: "{{ openshift_hosted_registry_volumes | union(pvc_volume_mounts) }}" when: - openshift.hosted.registry.storage.kind | default(none) in ['nfs', 'openstack'] - name: Create OpenShift registry oc_adm_registry: name: "{{ openshift_hosted_registry_name }}" namespace: "{{ openshift_hosted_registry_namespace }}" selector: "{{ openshift_hosted_registry_selector }}" replicas: "{{ openshift_hosted_registry_replicas }}" service_account: "{{ openshift_hosted_registry_serviceaccount }}" images: "{{ openshift_hosted_registry_images }}" env_vars: "{{ openshift_hosted_registry_env_vars }}" volume_mounts: "{{ openshift_hosted_registry_volumes }}" edits: "{{ openshift_hosted_registry_edits }}" force: "{{ True|bool in openshift_hosted_registry_force }}"