summaryrefslogtreecommitdiffstats
path: root/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/post.yml
blob: 12e2edfb93fd5f02d0d0c67ef8f14abd1090af62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
---
###############################################################################
# Post upgrade - Upgrade default router, default registry and examples
###############################################################################
- name: Upgrade default router and default registry
  hosts: oo_first_master
  vars:
    openshift_deployment_type: "{{ deployment_type }}"
    registry_image: "{{  openshift.master.registry_url | replace( '${component}', 'docker-registry' )  | replace ( '${version}', 'v' + g_new_version  ) }}"
    router_image: "{{ openshift.master.registry_url | replace( '${component}', 'haproxy-router' ) | replace ( '${version}', 'v' + g_new_version ) }}"
    oc_cmd: "{{ openshift.common.client_binary }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig"
  roles:
  - openshift_manageiq
  # Create the new templates shipped in 3.2, existing templates are left
  # unmodified. This prevents the subsequent role definition for
  # openshift_examples from failing when trying to replace templates that do
  # not already exist. We could have potentially done a replace --force to
  # create and update in one step.
  - openshift_examples
  # Update the existing templates
  - role: openshift_examples
    openshift_examples_import_command: replace
  pre_tasks:
  - name: Collect all routers
    command: >
      {{ oc_cmd }} get pods --all-namespaces -l 'router' -o json
    register: all_routers
    failed_when: false
    changed_when: false

  - set_fact: haproxy_routers="{{ (all_routers.stdout | from_json)['items'] | oo_pods_match_component(openshift_deployment_type, 'haproxy-router') | oo_select_keys_from_list(['metadata']) }}"
    when: all_routers.rc == 0

  - set_fact: haproxy_routers=[]
    when: all_routers.rc != 0

  - name: Update router image to current version
    when: all_routers.rc == 0
    command: >
      {{ oc_cmd }} patch dc/{{ item['labels']['deploymentconfig'] }} -p
      '{"spec":{"template":{"spec":{"containers":[{"name":"router","image":"{{ router_image }}","livenessProbe":{"tcpSocket":null,"httpGet":{"path": "/healthz", "port": 1936, "host": "localhost", "scheme": "HTTP"},"initialDelaySeconds":10,"timeoutSeconds":1}}]}}}}'
      --api-version=v1
    with_items: haproxy_routers

  - name: Check for default registry
    command: >
      {{ oc_cmd }} get -n default dc/docker-registry
    register: _default_registry
    failed_when: false
    changed_when: false

  - name: Update registry image to current version
    when: _default_registry.rc == 0
    command: >
      {{ oc_cmd }} patch dc/docker-registry -p
      '{"spec":{"template":{"spec":{"containers":[{"name":"registry","image":"{{ registry_image }}"}]}}}}'
      --api-version=v1