You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							110 lines
						
					
					
						
							4.1 KiB
						
					
					
				
			
		
		
	
	
							110 lines
						
					
					
						
							4.1 KiB
						
					
					
				| ---
 | |
| # TODO: Maybe we can make this a REST call?
 | |
| - name: Set deployer SHC key and label
 | |
|   ini_file:
 | |
|     dest: "{{ splunk.home }}/etc/system/local/server.conf"
 | |
|     section: shclustering
 | |
|     option: "{{ item.opt }}"
 | |
|     value: "{{ item.val }}"
 | |
|     mode: 0644
 | |
|   with_items:
 | |
|     - { opt: 'pass4SymmKey', val: '{{ splunk.shc.pass4SymmKey }}' }
 | |
|     - { opt: 'shcluster_label', val: '{{ splunk.shc.label }}' }
 | |
|   loop_control:
 | |
|     label: "{{ item.opt }}"
 | |
|   become: yes
 | |
|   become_user: "{{ splunk.user }}"
 | |
|   no_log: "{{ hide_password }}"
 | |
|   notify:
 | |
|     - Restart the splunkd service
 | |
| 
 | |
| # https://docs.splunk.com/Documentation/Splunk/latest/DistSearch/PropagateSHCconfigurationchanges#Set_the_deployer_push_mode
 | |
| - name: Set deployer push mode
 | |
|   splunk_api:
 | |
|     method: POST
 | |
|     url: "/servicesNS/nobody/system/configs/conf-app/shclustering"
 | |
|     cert_prefix: "{{ cert_prefix }}"
 | |
|     username: "{{ splunk.admin_user }}"
 | |
|     password: "{{ splunk.password }}"
 | |
|     svc_port: "{{ splunk.svc_port }}"
 | |
|     body:
 | |
|       deployer_push_mode: "{{ splunk.shc.deployer_push_mode }}"
 | |
|     body_format: "form-urlencoded"
 | |
|     status_code: [200]
 | |
|     timeout: 10
 | |
|     use_proxy: no
 | |
|   when: "'deployer_push_mode' in splunk.shc and splunk.shc.deployer_push_mode"
 | |
|   no_log: "{{ hide_password }}"
 | |
| 
 | |
| - name: Flush restart handlers
 | |
|   meta: flush_handlers
 | |
| 
 | |
| - name: Wait for SHC to be ready
 | |
|   shc_ready:
 | |
|     captain_url="{{ splunk.search_head_captain_url }}"
 | |
|     shc_peers="{{ groups['splunk_search_head'] }}"
 | |
|     spl_user="{{ splunk.admin_user }}"
 | |
|     spl_pass="{{ splunk.password }}"
 | |
|   no_log: "{{ hide_password }}"
 | |
|   register: task_result
 | |
|   until: task_result.rc == 0
 | |
|   retries: "{{ shc_sync_retry_num }}"
 | |
|   delay: "{{ retry_delay }}"
 | |
|   when:
 | |
|     - splunk_search_head_cluster | bool
 | |
|     - "'apps_location' in splunk and splunk.apps_location"
 | |
| 
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/provision_apps.yml
 | |
|   when:
 | |
|     - "'apps_location' in splunk and splunk.apps_location"
 | |
|     - splunk.deployment_server is not defined or not splunk.deployment_server
 | |
|   vars:
 | |
|     app_list: "{{ splunk.apps_location }}"
 | |
| 
 | |
| # Only find and copy installed apps to the SHC bundle dir if we installed app via 'apps_location'
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/find_installed_apps.yml
 | |
|   when:
 | |
|     - "'apps_location' in splunk and splunk.apps_location"
 | |
|     - splunk.deployment_server is not defined or not splunk.deployment_server
 | |
| 
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/copy_installed_apps.yml
 | |
|   when:
 | |
|     - "'apps_location' in splunk and splunk.apps_location"
 | |
|     - splunk.deployment_server is not defined or not splunk.deployment_server
 | |
|   vars:
 | |
|     apps: "{{ installed_apps }}"
 | |
|     dest: "{{ splunk.app_paths.shc }}"
 | |
| 
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/set_as_deployment_client.yml
 | |
|   when: splunk.deployment_server is defined and splunk.deployment_server
 | |
| 
 | |
| - include_tasks: push_apps_to_search_heads.yml
 | |
|   when: "'apps_location' in splunk and splunk.apps_location"
 | |
| 
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/extract_app.yml
 | |
|   when: "'app_paths_install' in splunk and 'shc' in splunk.app_paths_install and splunk.app_paths_install.shc"
 | |
|   vars:
 | |
|     app_filepath: "{{ item }}"
 | |
|     extract_path: "{{ splunk.app_paths.shc }}"
 | |
|   loop: "{{ splunk.app_paths_install.shc }}"
 | |
| 
 | |
| - include_tasks: bundle_push_to_search_heads.yml
 | |
|   when: "'app_paths_install' in splunk and 'shc' in splunk.app_paths_install and splunk.app_paths_install.shc"
 | |
| 
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/disable_installed_apps.yml
 | |
|   when: "'apps_location' in splunk and splunk.apps_location"
 | |
| 
 | |
| # Now install local apps in apps_location_local exists
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/provision_apps.yml
 | |
|   when: "'apps_location_local' in splunk and splunk.apps_location_local"
 | |
|   vars:
 | |
|     app_list: "{{ splunk.apps_location_local }}"
 | |
| 
 | |
| - include_tasks: ../../roles/splunk_common/tasks/provision_apps.yml
 | |
|   when:
 | |
|     - "'app_paths_install' in splunk and 'default' in splunk.app_paths_install and splunk.app_paths_install.default"
 | |
|   vars:
 | |
|     app_list: "{{ splunk.app_paths_install.default }}"
 | |
| 
 | |
| - include_tasks: ../../../roles/splunk_common/tasks/check_for_required_restarts.yml
 |