Added seed code for caas-registry.
[ta/caas-registry.git] / ansible / roles / swift / tasks / password_handler.yml
1 ---
2 # Copyright 2019 Nokia
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 - include_tasks: password_gen.yml
17   with_items:
18     - "admin"
19     - "registry"
20
21 - name: get admin password
22   command: '/usr/bin/curl
23     https://{{ ansible_host }}:{{ caas.etcd_api_port }}/v2/keys/swift/admin
24     --cacert /etc/etcd/ssl/ca.pem
25     --cert /etc/etcd/ssl/etcd{{ nodeindex }}.pem
26     --key /etc/etcd/ssl/etcd{{ nodeindex }}-key.pem'
27   register: admin_pass
28   become_user: "root"
29
30 - name: get registry password
31   command: '/usr/bin/curl
32     https://{{ ansible_host }}:{{ caas.etcd_api_port }}/v2/keys/swift/registry
33     --cacert /etc/etcd/ssl/ca.pem
34     --cert /etc/etcd/ssl/etcd{{ nodeindex }}.pem
35     --key /etc/etcd/ssl/etcd{{ nodeindex }}-key.pem'
36   register: registry_pass
37   become_user: "root"
38
39 - name: decode registry pass
40   shell: echo {{ (registry_pass.stdout|from_json).node.value }} | /usr/bin/openssl enc -d -aes-256-cbc -a -pass pass:{{ name }}
41   register: registry_pass
42
43 - name: set registry pass
44   set_fact:
45     swift_registry_pass: "{{ registry_pass.stdout }}"
46
47 - name: decode admin pass
48   shell: echo {{ (admin_pass.stdout|from_json).node.value }} | /usr/bin/openssl enc -d -aes-256-cbc -a -pass pass:{{ name }}
49   register: admin_pass
50
51 - name: set admin pass
52   set_fact:
53     swift_admin_pass: "{{ admin_pass.stdout }}"
54
55 - name: create dirs
56   file:
57     mode: 0750
58     name: /etc/swift/usr/{{ item }}
59     state: directory
60     owner: swift
61     group: swift
62   with_items:
63     - "admin"
64   become_user: "root"
65
66 - name: allowing cloud_admin_user to access /etc/swift folder
67   acl:
68     name:  "/etc/swift"
69     entity: "{{ users.admin_user_name }}"
70     etype: user
71     permissions: rx
72     state: present
73   become_user: "root"
74
75 - name: allowing cloud_admin_user to access /etc/swift/usr folder
76   acl:
77     name:  "/etc/swift/usr"
78     entity: "{{ users.admin_user_name }}"
79     etype: user
80     permissions: rx
81     state: present
82   become_user: "root"
83
84 - name: allowing cloud_admin_user to access /etc/swift/usr/admin folder
85   acl:
86     name:  "/etc/swift/usr/admin"
87     entity: "{{ users.admin_user_name }}"
88     etype: user
89     permissions: rx
90     state: present
91   become_user: "root"
92
93 - name: copy admin env_file
94   template:
95     src: main/admin_envfile
96     mode: 0640
97     dest: /etc/swift/usr/admin/env_file
98   become_user: "root"
99
100 - name: Copy admin.yml
101   template:
102     src: main/admin.yml
103     mode: 0640
104     dest: /etc/swift/usr/admin/admin.yml
105   become_user: "root"
106
107 - name: allowing users.admin_user_name to access /etc/swift/usr/admin/env_file
108   acl:
109     name:  "/etc/swift/usr/admin/env_file"
110     entity: "{{ users.admin_user_name }}"
111     etype: user
112     permissions: r
113     state: present
114   become_user: "root"
115
116 - name: allowing cloud_admin_user to access /etc/swift/usr/admin/admin.yml
117   acl:
118     name:  "/etc/swift/usr/admin/admin.yml"
119     entity: "{{ users.admin_user_name }}"
120     etype: user
121     permissions: r
122     state: present
123   become_user: "root"
124