@ -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: