From cd806af72651a8fceb18d6b91ddd89311482fcbc Mon Sep 17 00:00:00 2001 From: Vladimir Protsenko Date: Wed, 2 Nov 2022 20:11:29 +0400 Subject: [PATCH] Fixes for ansible tasks. --- module2/08_ansible/tasks.md | 38 +++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/module2/08_ansible/tasks.md b/module2/08_ansible/tasks.md index cd6daac..a69af25 100644 --- a/module2/08_ansible/tasks.md +++ b/module2/08_ansible/tasks.md @@ -198,7 +198,7 @@ $ ansible-playbook main.yml -v Создайте файл 1.yml и поместите содержимое из листинга следующего ниже. Отличие от предыдущего примера заключается в добавлении блока с переменными `vars`. Все действия понадобится выполнять с правами `root`, поэтому мы добавляем параметр `become: yes`. -Первая задача - создать пользователя `gpadmin` и установить ему пароль `changeme`. +Первая задача - создать пользователя `gpadmin` и установить ему пароль `changeme` с помощью модуля `user` (https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html). Перед установкой поменяйте пароль на более сложный. ```yaml --- @@ -213,6 +213,7 @@ $ ansible-playbook main.yml -v user: name: "{{ greenplum_admin_user }}" password: "{{ greenplum_admin_password | password_hash('sha512', 'DvkPtCuQ9pU') }}" + shell: /bin/bash ``` ``` $ ansible-playbook 1.yml @@ -252,22 +253,23 @@ $ ansible-playbook 2.yml ```yaml --- -- hosts: all +- hosts: cluster vars: - version: "6.0.0" - greenplum_admin_user: "gpadmin" - greenplum_admin_password: "changeme" - # - package_path: passed via the command line with: -e package_path= - remote_user: root become: yes - become_method: sudo - connection: ssh - gather_facts: yes tasks: - name: install package apt: name: greenplum-db-6 state: present + - name: find install directory + find: + paths: /opt + patterns: 'greenplum*' + file_type: directory + register: installed_dir - name: change install directory ownership file: path: '{{ item.path }}' @@ -275,6 +277,9 @@ $ ansible-playbook 2.yml group: "{{ greenplum_admin_user }}" recurse: yes with_items: "{{ installed_dir.files }}" + - name: add bin folder to gpadmin PATH + shell: echo "{{" + with_items: "{{ installed_dir.files }}" ``` ``` $ ansible-playbook 3.yml @@ -283,16 +288,13 @@ $ ansible-playbook 3.yml ### 2.5 Настроим параметры ОС для Greenplum ```yaml -- hosts: all +--- +- hosts: cluster vars: - version: "6.0.0" - greenplum_admin_user: "gpadmin" - greenplum_admin_password: "changeme" - remote_user: root become: yes - become_method: sudo - connection: ssh - gather_facts: yes tasks: - name: update pam_limits pam_limits: @@ -309,18 +311,18 @@ $ ansible-playbook 4.yml ``` ### 2.6 Проверка установленной версии + +Напишем конфигурацию, которая подтверждает, что всё установлено верно. + ```yaml -- hosts: all +--- +- hosts: cluster vars: - version: "6.0.0" - remote_user: root become: yes - become_method: sudo - connection: ssh - gather_facts: yes tasks: - name: find installed greenplum version - shell: . /usr/local/greenplum-db/greenplum_path.sh && /usr/local/greenplum-db/bin/postgres --gp-version + shell: . /bin/postgres --gp-version register: postgres_gp_version - name: fail if the correct greenplum version is not installed fail: