summaryrefslogtreecommitdiffstats
path: root/roles/openshift_node_upgrade/README.md
blob: 4e6229bfb91d8108ccfbd29daa1033b89a1524f5 (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
OpenShift/Atomic Enterprise Node upgrade
=========

Role responsible for a single node upgrade.
It is expected a node is functioning and a part of an OpenShift cluster.

Requirements
------------

TODO

Role Variables
--------------
From this role:

| Name                           | Default value         |                                                        |
|--------------------------------|-----------------------|--------------------------------------------------------|
| deployment_type                |                       | Inventory var                                          |
| docker_upgrade_nuke_images     |                       | Optional inventory var                                 |
| docker_version                 |                       | Optional inventory var                                 |
| l_docker_upgrade               |                       |                                                        |
| node_config_hook               |                       |                                                        |
| openshift.docker.gte_1_10      |                       |                                                        |
| openshift_image_tag            |                       | Set by openshift_version role                          |
| openshift_pkg_version          |                       | Set by openshift_version role                          |
| openshift_release              |                       | Set by openshift_version role                          |
| skip_docker_restart            |                       |                                                        |
| openshift_cloudprovider_kind   |                       |                                                        |

From openshift.common:

| Name                               |  Default Value      |                     |
|------------------------------------|---------------------|---------------------|
| openshift.common.config_base       |---------------------|---------------------|
| openshift.common.data_dir          |---------------------|---------------------|
| openshift.common.hostname          |---------------------|---------------------|
| openshift.common.http_proxy        |---------------------|---------------------|
| openshift.common.is_atomic         |---------------------|---------------------|
| openshift.common.is_containerized  |---------------------|---------------------|
| openshift.common.portal_net        |---------------------|---------------------|
| openshift.common.service_type      |---------------------|---------------------|
| openshift.common.use_openshift_sdn |---------------------|---------------------|

From openshift.master:

| Name                               |  Default Value      |                     |
|------------------------------------|---------------------|---------------------|
| openshift.master.api_port          |---------------------|---------------------|

From openshift.node:

| Name                               |  Default Value      |                     |
|------------------------------------|---------------------|---------------------|
| openshift.node.debug_level         |---------------------|---------------------|
| openshift.node.node_image          |---------------------|---------------------|
| openshift.node.ovs_image           |---------------------|---------------------|


Dependencies
------------
openshift_common

TODO

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

```
---
- name: Upgrade nodes
  hosts: oo_nodes_to_upgrade
  serial: 1
  any_errors_fatal: true

  pre_tasks:
  - name: Mark unschedulable
    command: >
      {{ hostvars[groups.oo_first_master.0].openshift.common.client_binary }} adm manage-node {{ openshift.node.nodename | lower }} --schedulable=false
    delegate_to: "{{ groups.oo_first_master.0 }}"

  - name: Drain Node for Kubelet upgrade
    command: >
      {{ hostvars[groups.oo_first_master.0].openshift.common.admin_binary }} drain {{ openshift.node.nodename | lower }} --force --delete-local-data --ignore-daemonsets
    delegate_to: "{{ groups.oo_first_master.0 }}"
    register: l_docker_upgrade_drain_result
    until: not l_docker_upgrade_drain_result | failed
    retries: 60
    delay: 60


  roles:
  - openshift_facts
  - docker
  - openshift_node_dnsmasq
  - openshift_node_upgrade

  post_tasks:
  - name: Set node schedulability
    command: >
      {{ hostvars[groups.oo_first_master.0].openshift.common.client_binary }} adm manage-node {{ openshift.node.nodename | lower }} --schedulable=true
    delegate_to: "{{ groups.oo_first_master.0 }}"
```

License
-------

Apache License, Version 2.0

Author Information
------------------

TODO