From 26824e72dbb433b4cc5e4df4b2341fe410d83bb0 Mon Sep 17 00:00:00 2001 From: Niraj Desai <100308049+niraj-desai-sf@users.noreply.github.com> Date: Fri, 31 May 2024 09:10:14 -0700 Subject: [PATCH 1/5] Update setup_multisite.yml --- .../splunk_monitor/tasks/setup_multisite.yml | 27 +++---------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/roles/splunk_monitor/tasks/setup_multisite.yml b/roles/splunk_monitor/tasks/setup_multisite.yml index 154939ce..22c48dd5 100644 --- a/roles/splunk_monitor/tasks/setup_multisite.yml +++ b/roles/splunk_monitor/tasks/setup_multisite.yml @@ -3,21 +3,17 @@ vars: splunk_instance_address: "{{ splunk.multisite_master }}" -- name: Convert Extrenal Cluster Master Name into Internal URI - set_fact: - multisite_master_uri: "{{ cert_prefix }}://{{ splunk.multisite_master }}:{{ splunk.svc_port }}" -#INFRA-38882: Update - name: Setup SH - Multisite - command: "{{ splunk.exec }} edit cluster-config -mode searchhead -master_uri {{ multisite_master_uri }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }}" + command: "{{ splunk.exec }} add cluster-manager {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -site {{ splunk.site }}" + with_items: "{{ splunk.multisite_master.split(',') }}" become: yes become_user: "{{ splunk.user }}" register: set_new_master - until: set_new_master.rc == 0 or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." in set_new_master.stderr) or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." in set_new_master.stderr) - failed_when: (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." not in set_new_master.stderr) or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." not in set_new_master.stderr) + until: set_new_master.rc == 0 or (set_new_master.rc != 0 and "Cannot re-add this manager. It already exists in the conf." in set_new_master.stderr) + failed_when: set_new_master.rc != 0 and ("Cannot re-add this manager. It already exists in the conf." not in set_new_master.stderr ) changed_when: set_new_master.rc == 0 retries: "{{ retry_num }}" delay: "{{ retry_delay }}" - ignore_errors: yes notify: - Restart the splunkd service no_log: "{{ hide_password }}" @@ -26,18 +22,3 @@ meta: flush_handlers - include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_process.yml - -- name: Setup SH with Associated Site - command: "{{ splunk.exec }} edit cluster-master -old_master_uri {{ multisite_master_uri }} -site {{ splunk.site }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -multisite True" - become: yes - become_user: "{{ splunk.user }}" - register: set_associated_site - until: set_associated_site.rc == 0 or (set_associated_site.rc == 22 and 'No change in master or secret or site.' in set_associated_site.stderr) or (set_associated_site.rc == 22 and 'No change in manager or secret or site.' in set_associated_site.stderr) - changed_when: set_associated_site.rc == 0 - retries: "{{ retry_num }}" - delay: "{{ retry_delay }}" - ignore_errors: yes - notify: - - Restart the splunkd service - no_log: "{{ hide_password }}" - failed_when: (set_associated_site.rc != 0 and 'No change in master or secret or site.' not in set_associated_site.stderr) or (set_associated_site.rc != 0 and 'No change in manager or secret or site.' not in set_associated_site.stderr) From f880d8b03306252aa3f8aa02a9c67e3dbf53c0d9 Mon Sep 17 00:00:00 2001 From: Niraj Desai <100308049+niraj-desai-sf@users.noreply.github.com> Date: Fri, 31 May 2024 09:12:51 -0700 Subject: [PATCH 2/5] Update setup_multisite.yml --- .../tasks/setup_multisite.yml | 33 ++++++------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/roles/splunk_search_head/tasks/setup_multisite.yml b/roles/splunk_search_head/tasks/setup_multisite.yml index 6375f55c..eec06722 100644 --- a/roles/splunk_search_head/tasks/setup_multisite.yml +++ b/roles/splunk_search_head/tasks/setup_multisite.yml @@ -3,22 +3,24 @@ vars: splunk_instance_address: "{{ splunk.multisite_master }}" -#INFRA-38882: Update exec command? -- name: Convert Extrenal Cluster Master Name into Internal URI - set_fact: - multisite_master_uri: "{{ cert_prefix }}://{{ splunk.multisite_master }}:{{ splunk.svc_port }}" +#this will setup the mode as searchhead in the server.conf and that will allow the Setup SHC -multisite to work as expected. +- include_tasks: ../../splunk_common/tasks/peer_cluster_master.yml + when: + - splunk_indexer_cluster or splunk.multisite_master is defined + - splunk.set_search_peers is defined + - splunk.set_search_peers | bool - name: Setup SHC - Multisite - command: "{{ splunk.exec }} edit cluster-config -mode searchhead -master_uri {{ multisite_master_uri }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }}" + command: "{{ splunk.exec }} add cluster-manager {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -site {{ splunk.site }}" + with_items: "{{ splunk.multisite_master.split(',') }}" become: yes become_user: "{{ splunk.user }}" register: set_new_master - until: set_new_master.rc == 0 or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." in set_new_master.stderr) or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." in set_new_master.stderr) - failed_when: set_new_master.rc != 0 and ("Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." not in set_new_master.stderr and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." not in set_new_master.stderr) + until: set_new_master.rc == 0 or (set_new_master.rc != 0 and "Cannot re-add this manager. It already exists in the conf." in set_new_master.stderr) + failed_when: set_new_master.rc != 0 and ("Cannot re-add this manager. It already exists in the conf." not in set_new_master.stderr ) changed_when: set_new_master.rc == 0 retries: "{{ retry_num }}" delay: "{{ retry_delay }}" - ignore_errors: yes notify: - Restart the splunkd service no_log: "{{ hide_password }}" @@ -27,18 +29,3 @@ meta: flush_handlers - include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_process.yml - -- name: Setup SHC with Associated Site - command: "{{ splunk.exec }} edit cluster-master -old_master_uri {{ multisite_master_uri }} -site {{ splunk.site }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -multisite True" - become: yes - become_user: "{{ splunk.user }}" - register: set_associated_site - until: set_associated_site.rc == 0 or (set_associated_site.rc == 22 and 'No change in master or secret or site.' in set_associated_site.stderr) or (set_associated_site.rc == 22 and 'No change in manager or secret or site.' in set_associated_site.stderr) - changed_when: set_associated_site.rc == 0 - retries: "{{ retry_num }}" - delay: "{{ retry_delay }}" - ignore_errors: yes - notify: - - Restart the splunkd service - no_log: "{{ hide_password }}" - failed_when: set_associated_site.rc != 0 and ('No change in master or secret or site.' not in set_associated_site.stderr and 'No change in manager or secret or site.' not in set_associated_site.stderr) From 0e1058ba953a7660abd9d0397699d80d31453468 Mon Sep 17 00:00:00 2001 From: Niraj Desai <100308049+niraj-desai-sf@users.noreply.github.com> Date: Fri, 31 May 2024 09:27:53 -0700 Subject: [PATCH 3/5] Update setup_multisite.yml --- roles/splunk_search_head/tasks/setup_multisite.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/splunk_search_head/tasks/setup_multisite.yml b/roles/splunk_search_head/tasks/setup_multisite.yml index eec06722..18a2e468 100644 --- a/roles/splunk_search_head/tasks/setup_multisite.yml +++ b/roles/splunk_search_head/tasks/setup_multisite.yml @@ -2,7 +2,7 @@ - include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_instance.yml vars: splunk_instance_address: "{{ splunk.multisite_master }}" - + #this will setup the mode as searchhead in the server.conf and that will allow the Setup SHC -multisite to work as expected. - include_tasks: ../../splunk_common/tasks/peer_cluster_master.yml when: @@ -10,6 +10,8 @@ - splunk.set_search_peers is defined - splunk.set_search_peers | bool +- include_tasks: ../../../roles/splunk_common/tasks/check_for_required_restarts.yml + - name: Setup SHC - Multisite command: "{{ splunk.exec }} add cluster-manager {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -site {{ splunk.site }}" with_items: "{{ splunk.multisite_master.split(',') }}" @@ -21,6 +23,7 @@ changed_when: set_new_master.rc == 0 retries: "{{ retry_num }}" delay: "{{ retry_delay }}" + ignore_errors: yes notify: - Restart the splunkd service no_log: "{{ hide_password }}" From a6c06dca4c7f6537e490e1827f58ad8fdc4fdcec Mon Sep 17 00:00:00 2001 From: Niraj Desai <100308049+niraj-desai-sf@users.noreply.github.com> Date: Fri, 31 May 2024 09:51:07 -0700 Subject: [PATCH 4/5] Update setup_multisite.yml --- .../splunk_monitor/tasks/setup_multisite.yml | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/roles/splunk_monitor/tasks/setup_multisite.yml b/roles/splunk_monitor/tasks/setup_multisite.yml index 22c48dd5..2940fc6c 100644 --- a/roles/splunk_monitor/tasks/setup_multisite.yml +++ b/roles/splunk_monitor/tasks/setup_multisite.yml @@ -3,7 +3,45 @@ vars: splunk_instance_address: "{{ splunk.multisite_master }}" -- name: Setup SH - Multisite +- name: Setup SHC - Multisite for first cluster + command: "{{ splunk.exec }} edit cluster-config -mode searchhead -master_uri {{ cert_prefix }}://{{ splunk.cluster_master_url }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }}" + become: yes + become_user: "{{ splunk.user }}" + register: set_new_master + until: set_new_master.rc == 0 or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." in set_new_master.stderr) or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." in set_new_master.stderr) + failed_when: set_new_master.rc != 0 and ("Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." not in set_new_master.stderr and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." not in set_new_master.stderr) + changed_when: set_new_master.rc == 0 + retries: "{{ retry_num }}" + delay: "{{ retry_delay }}" + notify: + - Restart the splunkd service + no_log: "{{ hide_password }}" + +- name: Flush restart handlers + meta: flush_handlers + +- include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_process.yml + +- name: Setup SHC with Associated Site + command: "{{ splunk.exec }} edit cluster-master -old_master_uri {{ cert_prefix }}://{{ splunk.cluster_master_url }}:{{ splunk.svc_port }} -site {{ splunk.site }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -multisite True" + become: yes + become_user: "{{ splunk.user }}" + register: set_associated_site + until: set_associated_site.rc == 0 or (set_associated_site.rc == 22 and 'No change in master or secret or site.' in set_associated_site.stderr) or (set_associated_site.rc == 22 and 'No change in manager or secret or site.' in set_associated_site.stderr) + changed_when: set_associated_site.rc == 0 + retries: "{{ retry_num }}" + delay: "{{ retry_delay }}" + notify: + - Restart the splunkd service + no_log: "{{ hide_password }}" + failed_when: set_associated_site.rc != 0 and ('No change in master or secret or site.' not in set_associated_site.stderr and 'No change in manager or secret or site.' not in set_associated_site.stderr) + +- name: Flush restart handlers + meta: flush_handlers + +- include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_process.yml + +- name: Add additional indexer clusters to SH - Multisite command: "{{ splunk.exec }} add cluster-manager {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -site {{ splunk.site }}" with_items: "{{ splunk.multisite_master.split(',') }}" become: yes From 923d0e978ab7f5afc1fd1e590d9c00bf77fa6905 Mon Sep 17 00:00:00 2001 From: Niraj Desai <100308049+niraj-desai-sf@users.noreply.github.com> Date: Fri, 31 May 2024 09:51:23 -0700 Subject: [PATCH 5/5] Update setup_multisite.yml --- .../tasks/setup_multisite.yml | 46 +++++++++++++++---- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/roles/splunk_search_head/tasks/setup_multisite.yml b/roles/splunk_search_head/tasks/setup_multisite.yml index 18a2e468..2940fc6c 100644 --- a/roles/splunk_search_head/tasks/setup_multisite.yml +++ b/roles/splunk_search_head/tasks/setup_multisite.yml @@ -3,16 +3,45 @@ vars: splunk_instance_address: "{{ splunk.multisite_master }}" -#this will setup the mode as searchhead in the server.conf and that will allow the Setup SHC -multisite to work as expected. -- include_tasks: ../../splunk_common/tasks/peer_cluster_master.yml - when: - - splunk_indexer_cluster or splunk.multisite_master is defined - - splunk.set_search_peers is defined - - splunk.set_search_peers | bool +- name: Setup SHC - Multisite for first cluster + command: "{{ splunk.exec }} edit cluster-config -mode searchhead -master_uri {{ cert_prefix }}://{{ splunk.cluster_master_url }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }}" + become: yes + become_user: "{{ splunk.user }}" + register: set_new_master + until: set_new_master.rc == 0 or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." in set_new_master.stderr) or (set_new_master.rc != 0 and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." in set_new_master.stderr) + failed_when: set_new_master.rc != 0 and ("Cannot edit this searchhead. Use 'splunk edit cluster-master' to edit information for this searchhead." not in set_new_master.stderr and "Cannot edit this searchhead. Use 'splunk edit cluster-manager' to edit information for this searchhead." not in set_new_master.stderr) + changed_when: set_new_master.rc == 0 + retries: "{{ retry_num }}" + delay: "{{ retry_delay }}" + notify: + - Restart the splunkd service + no_log: "{{ hide_password }}" + +- name: Flush restart handlers + meta: flush_handlers + +- include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_process.yml -- include_tasks: ../../../roles/splunk_common/tasks/check_for_required_restarts.yml +- name: Setup SHC with Associated Site + command: "{{ splunk.exec }} edit cluster-master -old_master_uri {{ cert_prefix }}://{{ splunk.cluster_master_url }}:{{ splunk.svc_port }} -site {{ splunk.site }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -multisite True" + become: yes + become_user: "{{ splunk.user }}" + register: set_associated_site + until: set_associated_site.rc == 0 or (set_associated_site.rc == 22 and 'No change in master or secret or site.' in set_associated_site.stderr) or (set_associated_site.rc == 22 and 'No change in manager or secret or site.' in set_associated_site.stderr) + changed_when: set_associated_site.rc == 0 + retries: "{{ retry_num }}" + delay: "{{ retry_delay }}" + notify: + - Restart the splunkd service + no_log: "{{ hide_password }}" + failed_when: set_associated_site.rc != 0 and ('No change in master or secret or site.' not in set_associated_site.stderr and 'No change in manager or secret or site.' not in set_associated_site.stderr) + +- name: Flush restart handlers + meta: flush_handlers + +- include_tasks: ../../../roles/splunk_common/tasks/wait_for_splunk_process.yml -- name: Setup SHC - Multisite +- name: Add additional indexer clusters to SH - Multisite command: "{{ splunk.exec }} add cluster-manager {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -secret {{ splunk.idxc.pass4SymmKey }} -site {{ splunk.site }}" with_items: "{{ splunk.multisite_master.split(',') }}" become: yes @@ -23,7 +52,6 @@ changed_when: set_new_master.rc == 0 retries: "{{ retry_num }}" delay: "{{ retry_delay }}" - ignore_errors: yes notify: - Restart the splunkd service no_log: "{{ hide_password }}"