forked from MarcNo/openshift-home-lab
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathprep-os-for-ocp.yml
128 lines (102 loc) · 3.65 KB
/
prep-os-for-ocp.yml
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
115
116
117
118
119
120
121
122
123
124
125
126
127
- hosts: ocp
# sudo: True
become: yes
tasks:
- name: "Get variables"
include_vars:
file: vault.yml # contains vault_rhn_username and vault_rhn_password
- name: "Get secrets"
include_vars:
file: variables.yml # contains openshift_subscription_pool
- name: Force unregister before register
redhat_subscription:
state: absent
ignore_errors: true
- name: "register node with subscription-manager"
redhat_subscription: state=present username={{ vault_rhn_username }} password={{ vault_rhn_password }} autosubscribe=false
register: task_result
until: task_result is succeeded
retries: 10
delay: 5
- name: "attach node to subscription pool"
command: subscription-manager attach --pool {{ item }}
register: task_result
until: task_result.rc == 0
retries: 10
delay: 1
ignore_errors: no
with_items: '{{openshift_subscription_pool}}'
- name: "Disable all the enabled RHSM repositories"
shell: subscription-manager repos --disable="*"
# - name: "Disable all the enabled yum repositories"
# shell: yum-config-manager --disable \*
- name: "Add repositories for OpenShift 3.11"
shell: subscription-manager repos --enable="rhel-7-server-rpms" --enable="rhel-7-server-extras-rpms" --enable="rhel-7-server-ose-3.11-rpms" --enable="rhel-7-fast-datapath-rpms" --enable="rhel-7-server-ansible-2.6-rpms"
- name: "Update the system"
yum:
name: '*'
state: latest
- name: "Install required packages"
yum: name={{ item }} state=present
with_items:
- wget
- git
- net-tools
- bind-utils
- iptables-services
- bridge-utils
- bash-completion
- kexec-tools
- sos
- psacct
- yum-utils
- openshift-ansible
- docker
# - name: Reboot the server
# shell: sleep 2 && shutdown -r now "Ansible package updates triggered"
# async: 1
# poll: 0
# ignore_errors: true
# - name: Wait for server to shutdown
# local_action: shell ssh -o BatchMode=yes -o ConnectTimeout=2 -o StrictHostKeyChecking=no "root@{{ inventory_hostname }}" true
# register: result
# until: result.rc != 0
# failed_when: result.rc == -1
# retries: 200
# delay: 1
# - name: Wait for server to be ready
# local_action: shell ssh -o BatchMode=yes -o ConnectTimeout=2 -o StrictHostKeyChecking=no "root@{{ inventory_hostname }}" true
# register: result
# until: result.rc == 0
# retries: 200
# delay: 3
# - name:
# shell: uptime
# # https://blog.dustinrue.com/2017/12/reboot-and-wait-using-ansible/
# - name: "Nice to have extra packages"
# yum: name={{ item }} state=present
# with_items:
# - emacs-nox
- name: "Ansible and scripts to drive the openshift installation"
yum: name={{ item }} state=present
with_items:
- openshift-ansible
- ansible
# - name: "Install Docker"
# yum:
# name: docker-1.13.1
# state: present
# - name: "Configure Docker Storage"
# blockinfile: dest=/etc/sysconfig/docker-storage-setup
# content="DEVS=/dev/vdb
# VG=docker-vg"
# - name: "Execute Docker Storage Setup"
# shell: docker-storage-setup;
# - name: "Enable Docker Service"
# shell: systemctl enable docker;
# - name: "Start Docker Service"
# shell: systemctl start docker;
# - name: "install atomic packages"
# yum: name={{ item }} state=present
# with_items:
# - atomic