|
@@ -26,97 +26,46 @@
|
|
|
mode: 0644
|
|
|
tags: install
|
|
|
|
|
|
-- name: Take provision Password
|
|
|
- block:
|
|
|
- - name: Provision Password (Min length should be 8)
|
|
|
- pause:
|
|
|
- prompt: "{{ prompt_password }}"
|
|
|
- echo: no
|
|
|
- register: prompt_admin_password
|
|
|
- until:
|
|
|
- - prompt_admin_password.user_input | length > min_length| int - 1
|
|
|
- retries: "{{ no_of_retry }}"
|
|
|
- delay: "{{ retry_delay }}"
|
|
|
- when: admin_password is not defined and no_prompt is not defined
|
|
|
- rescue:
|
|
|
- - name: Abort if password validation fails
|
|
|
- fail:
|
|
|
- msg: "{{ msg_incorrect_format }}"
|
|
|
- tags: install
|
|
|
-
|
|
|
-- name: Assert admin_password if prompt not given
|
|
|
- assert:
|
|
|
- that:
|
|
|
- - admin_password | length > min_length| int - 1
|
|
|
- success_msg: "{{ success_msg_pwd_format }}"
|
|
|
- fail_msg: "{{ fail_msg_pwd_format }}"
|
|
|
- register: msg_pwd_format
|
|
|
- when: admin_password is defined and no_prompt is defined
|
|
|
- tags: install
|
|
|
-
|
|
|
-- name: Save admin password
|
|
|
- set_fact:
|
|
|
- admin_password: "{{ prompt_admin_password.user_input }}"
|
|
|
- when: no_prompt is not defined
|
|
|
- tags: install
|
|
|
-
|
|
|
-- name: Confirm password
|
|
|
- block:
|
|
|
- - name: Confirm provision password
|
|
|
- pause:
|
|
|
- prompt: "{{ confirm_password }}"
|
|
|
- echo: no
|
|
|
- register: prompt_admin_password_confirm
|
|
|
- until: admin_password == prompt_admin_password_confirm.user_input
|
|
|
- retries: "{{ no_of_retry }}"
|
|
|
- delay: "{{ retry_delay }}"
|
|
|
- when: admin_password_confirm is not defined and no_prompt is not defined
|
|
|
- rescue:
|
|
|
- - name: Abort if password confirmation failed
|
|
|
- fail:
|
|
|
- msg: "{{ msg_failed_password_confirm }}"
|
|
|
- tags: install
|
|
|
-
|
|
|
-- name: Assert admin_password_confirm if prompt not given
|
|
|
- assert:
|
|
|
- that: admin_password == admin_password_confirm
|
|
|
- success_msg: "{{ success_msg_pwd_confirm }}"
|
|
|
- fail_msg: "{{ fail_msg_pwd_confirm }}"
|
|
|
- register: msg_pwd_confirm
|
|
|
- when: admin_password_confirm is defined and no_prompt is defined
|
|
|
- tags: install
|
|
|
-
|
|
|
- name: Encrypt cobbler password
|
|
|
- shell: >
|
|
|
- set -o pipefail && \
|
|
|
- digest="$( printf "%s:%s:%s" {{ username }} "Cobbler" {{ admin_password }} | md5sum | awk '{print $1}' )"
|
|
|
- printf "%s:%s:%s\n" "{{ username }}" "Cobbler" "$digest" > "{{ role_path }}/files/.users.digest"
|
|
|
- args:
|
|
|
- executable: /bin/bash
|
|
|
+ shell: printf "%s:%s:%s" {{ username }} "Cobbler" {{ cobbler_password }} | md5sum | awk '{print $1}'
|
|
|
changed_when: false
|
|
|
+ register: encrypt_password
|
|
|
tags: install
|
|
|
|
|
|
-- name: Read password file
|
|
|
- set_fact:
|
|
|
- var: "{{ lookup('file', role_path+'/files/.users.digest').splitlines() }}"
|
|
|
+- name: Copy cobbler password to cobbler config file
|
|
|
+ shell: printf "%s:%s:%s\n" "{{ username }}" "Cobbler" "{{ encrypt_password.stdout }}" > "{{ role_path }}/files/.users.digest"
|
|
|
+ changed_when: false
|
|
|
tags: install
|
|
|
|
|
|
-- name: Get encrypted password
|
|
|
- set_fact:
|
|
|
- encrypted_pass: "{{ var[0].split(':')[2] }}"
|
|
|
-
|
|
|
- name: Create the kickstart file
|
|
|
copy:
|
|
|
- src: "{{ role_path }}/files/temp_centos8.ks"
|
|
|
- dest: "{{ role_path }}/files/centos8.ks"
|
|
|
+ src: "{{ role_path }}/files/temp_centos7.ks"
|
|
|
+ dest: "{{ role_path }}/files/centos7.ks"
|
|
|
mode: 0775
|
|
|
tags: install
|
|
|
|
|
|
- name: Configure kickstart file
|
|
|
replace:
|
|
|
- path: "{{ role_path }}/files/centos8.ks"
|
|
|
- regexp: '^url --url http://ip/cblr/links/CentOS8-x86_64/'
|
|
|
- replace: url --url http://{{ ansible_eno2.ipv4.address }}/cblr/links/CentOS8-x86_64/
|
|
|
+ path: "{{ role_path }}/files/centos7.ks"
|
|
|
+ regexp: '^url --url http://ip/cblr/links/CentOS7-x86_64/'
|
|
|
+ replace: url --url http://{{ ansible_em1.ipv4.address }}/cblr/links/CentOS7-x86_64/
|
|
|
+ when: internet_nic == "em1"
|
|
|
+ tags: install
|
|
|
+
|
|
|
+- name: Configure kickstart file
|
|
|
+ replace:
|
|
|
+ path: "{{ role_path }}/files/centos7.ks"
|
|
|
+ regexp: '^url --url http://ip/cblr/links/CentOS7-x86_64/'
|
|
|
+ replace: url --url http://{{ ansible_em2.ipv4.address }}/cblr/links/CentOS7-x86_64/
|
|
|
+ when: internet_nic == "em2"
|
|
|
+ tags: install
|
|
|
+
|
|
|
+- name: Configure kickstart file
|
|
|
+ replace:
|
|
|
+ path: "{{ role_path }}/files/centos7.ks"
|
|
|
+ regexp: '^url --url http://ip/cblr/links/CentOS7-x86_64/'
|
|
|
+ replace: url --url http://{{ ansible_em3.ipv4.address }}/cblr/links/CentOS7-x86_64/
|
|
|
+ when: internet_nic == "em3"
|
|
|
tags: install
|
|
|
|
|
|
- name: Random phrase generation
|
|
@@ -131,14 +80,25 @@
|
|
|
tags: install
|
|
|
|
|
|
- name: Login password
|
|
|
- command: openssl passwd -1 -salt {{ random_phrase }} {{ admin_password }}
|
|
|
+ command: openssl passwd -1 -salt {{ random_phrase }} {{ cobbler_password }}
|
|
|
changed_when: false
|
|
|
register: login_pass
|
|
|
tags: install
|
|
|
|
|
|
- name: Configure kickstart file
|
|
|
replace:
|
|
|
- path: "{{ role_path }}/files/centos8.ks"
|
|
|
+ path: "{{ role_path }}/files/centos7.ks"
|
|
|
regexp: '^rootpw --iscrypted password'
|
|
|
replace: 'rootpw --iscrypted {{ login_pass.stdout }}'
|
|
|
tags: install
|
|
|
+
|
|
|
+- name: Configure kickstart file
|
|
|
+ replace:
|
|
|
+ path: "{{ role_path }}/files/centos7.ks"
|
|
|
+ regexp: '^network --bootproto=dhcp --device=nic --onboot=on'
|
|
|
+ replace: 'network --bootproto=dhcp --device={{ nic }} --onboot=on'
|
|
|
+ tags: install
|
|
|
+
|
|
|
+- name: Configure default password in settings
|
|
|
+ local_action: copy content="{{ login_pass.stdout }}" dest="{{ role_path }}/files/.node_login.digest"
|
|
|
+ tags: install
|