From ca7ea471aeae76e5656d170b8a54fa779bacf5d5 Mon Sep 17 00:00:00 2001
From: Aleksandr Kurbatov <ak@geant.org>
Date: Wed, 8 Jan 2025 11:26:37 +0000
Subject: [PATCH] fix the ansible_host in promote_p_to_pe

---
 geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml | 6 ++++--
 geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml     | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml
index 995efd31..91ec6aac 100644
--- a/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml
+++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml
@@ -3,7 +3,8 @@
 
 - name: Set ansible host to localhost to compile config when router is offline
   when:
-    subscription.router.router_access_via_ts | ansible.builtin.bool
+    subscription.router.router_access_via_ts | ansible.builtin.bool ansible_host and
+    inventory_hostname == subscription.router.router_fqdn
   ansible.builtin.set_fact:
     ansible_host: "localhost"
     ansible_connection: local
@@ -56,7 +57,8 @@
 
 - name: Set back ansible_host to target terminal server if needed
   when:
-    subscription.router.router_access_via_ts | ansible.builtin.bool
+    subscription.router.router_access_via_ts | ansible.builtin.bool ansible_host and
+    inventory_hostname == subscription.router.router_fqdn
   ansible.builtin.set_fact:
     ansible_host: "{{ subscription.router.router_site.site_ts_address }}"
     ansible_connection: "{{ netconf_access[subscription.router.vendor].ansible_connection }}"
diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml
index 4a68aacc..0b6df2e1 100644
--- a/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml
+++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml
@@ -26,7 +26,8 @@
     dir: /opt/ansible_inventory/group_vars/all
 
 - name: Set ansible_host to terminal server when router is offline
-  when: subscription.router.router_access_via_ts | ansible.builtin.bool
+  when: subscription.router.router_access_via_ts | ansible.builtin.bool and
+        inventory_hostname == subscription.router.router_fqdn
   ansible.builtin.set_fact:
     ansible_host: "{{ subscription.router.router_site.site_ts_address }}"
     ansible_port: "{{ subscription.router.router_ts_port }}"
-- 
GitLab