--- - name: Retrieve list of openshift nodes matching router selector oc_obj: state: list kind: node namespace: "{{ openshift.hosted.router.namespace | default('default') }}" selector: "{{ openshift.hosted.router.selector | default(omit) }}" register: router_nodes when: openshift.hosted.router.replicas | default(none) is none - name: set_fact replicas set_fact: replicas: "{{ openshift.hosted.router.replicas|default(None) | get_router_replicas(router_nodes) }}" openshift_hosted_router_selector: "{{ openshift.hosted.router.selector | default(None) }}" openshift_hosted_router_image: "{{ openshift.hosted.router.registryurl }}" - name: Get the certificate contents for router copy: backup: True dest: "/etc/origin/master/{{ item | basename }}" src: "{{ item }}" with_items: "{{ openshift_hosted_routers | oo_collect(attribute='certificates') | oo_select_keys_from_list(['keyfile', 'certfile', 'cafile']) }}" - name: Create OpenShift router oc_adm_router: name: "{{ openshift.hosted.router.name | default('router') }}" replicas: "{{ item.replicas }}" namespace: "{{ item.namespace | default('default') }}" # This option is not yet implemented # force_subdomain: "{{ openshift.hosted.router.force_subdomain | default(none) }}" service_account: "{{ item.serviceaccount | default('router') }}" selector: "{{ item.selector | default(none) }}" images: "{{ item.images | default(omit) }}" cert_file: "{{ ('/etc/origin/master/' ~ (item.certificates.certfile | basename)) if 'certfile' in item.certificates else omit }}" key_file: "{{ ('/etc/origin/master/' ~ (item.certificates.keyfile | basename)) if 'keyfile' in item.certificates else omit }}" cacert_file: "{{ ('/etc/origin/master/' ~ (item.certificates.cafile | basename)) if 'cafile' in item.certificates else omit }}" edits: "{{ openshift_hosted_router_edits | union(item.edits) }}" with_items: "{{ openshift_hosted_routers }}" register: routerout # This should probably move to module - name: wait for deploy pause: seconds: 30 when: routerout.changed - name: Ensure router replica count matches desired oc_scale: kind: dc name: "{{ item.name | default('router') }}" namespace: "{{ item.namespace | default('default') }}" replicas: "{{ item.replicas }}" with_items: "{{ openshift_hosted_routers }}"