blob: 8151f9fbb1da3712294b65296ec6398c148076df (
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
|
---
# Tasks to statically provision NFS volumes
# Include if not using dynamic volume provisioning
- name: Note Storage Type - NFS
debug:
msg: Setting up NFS storage, openshift_cfme_storage_class is 'nfs'
- name: TODO
debug:
msg: TODO - replace hard-coded hostname below with oo_nfs_to_config.0
- name: Set openshift_cfme_nfs_server fact
when: openshift_cfme_nfs_server is not defined
set_fact:
# Hostname/IP of the NFS server. Currently defaults to first master
openshift_cfme_nfs_server: m01.example.com
# TODO: I was going to try to apply the openshift_storage_nfs role to
# handle this, however, that role is not written to be used by
# itself. Attempting to use it to create CFME exports would just add
# more hard-coded values to the role. That said, we're doing this here
# manually for now until some one comes up with a better solution, or
# the role is made to accept parameters in a more functional way.
#
# I can't really even include the openshift_storage_nfs role in here
# to do basic setup stuff because it would just result in a lot of
# unwanted exports getting set up for the users.
- name: Ensure the /exports/ directory exists
file:
path: /exports/
state: directory
mode: 0755
owner: root
group: root
- name: Ensure exports directory exists
file:
path: /etc/exports.d/
state: directory
# # TODO - with_items should be passed a list of storage configs for the
# # desired CFME setup. This might mean a local or remote nfs server, as
# # well as fully qualified filesystem paths.
# - name: Ensure export directories exist
# file:
# path: "{{ item.storage.nfs.directory }}/{{ item.storage.volume.name }}"
# state: directory
# mode: 0777
# owner: nfsnobody
# group: nfsnobody
# with_items:
- name: Enable and start services
systemd:
name: nfs-server
state: started
enabled: yes
register: start_result
- set_fact:
nfs_service_status_changed: "{{ start_result | changed }}"
- name: restart nfs-server
systemd:
name: nfs-server
state: restarted
when: nfs_service_status_changed | default(false)
notify:
- "OpenShift-CFME - Reload NFS Exports"
######################################################################
# TODO: Move the export directory and PV creation into individual
# tasks under the respective server/database task files.
# # - name: Ensure the miq-pv0X export directories exist
# # file:
# # path: "/exports/{{ item }}"
# # state: directory
# # mode: 0775
# # owner: nfsnobody
# # group: nfsnobody
# # with_items: "{{ openshift_cfme_pv_exports }}"
# # - name: Ensure the NFS exports for CFME PVs exist
# # copy:
# # src: openshift_cfme.exports
# # dest: /etc/exports.d/openshift_cfme.exports
# # register: nfs_exports_updated
# # Create the required CFME PVs. Check out these online docs if you
# # need a refresher on includes looping with items:
# # * http://docs.ansible.com/ansible/playbooks_loops.html#loops-and-includes-in-2-0
# # * http://stackoverflow.com/a/35128533
# # TODO: Handle the case where a PV template is updated in
# # openshift-ansible and the change needs to be landed on the managed
# # cluster.
# # - include: create_pvs.yml
# # with_items: "{{ openshift_cfme_pv_data }}"
|