Prepare OpenStack node for StorPool installation

Change-Id: I91da416defe6abf1a4d2a030f3d7b5a35fabfcfe
diff --git a/playbooks/setup-openstack-storpool/pre.yaml b/playbooks/setup-openstack-storpool/pre.yaml
index ec32ab8..c4afa8d 100644
--- a/playbooks/setup-openstack-storpool/pre.yaml
+++ b/playbooks/setup-openstack-storpool/pre.yaml
@@ -241,15 +241,12 @@
     - vars.yaml
   tasks:
     - set_fact:
-        ip_sp_api_wo_net: "{{ ip_node_1_sp_api }}"
-
-    - set_fact:
-        port_node_1_sp_api_mac: "{{ hostvars['undercloud-client']['port_node_1_sp_api_mac'] }}"
-        sp_sp0_mac: "{{ hostvars['undercloud-client']['port_node_1_sp0_mac'] }}"
-        sp_sp1_mac: "{{ hostvars['undercloud-client']['port_node_1_sp1_mac'] }}"
-        ip_node_1_sp_api: "{{ ip_node_1_sp_api }}/24"
-        ip_node_1_sp0: "{{ ip_node_1_sp0 }}/24"
-        ip_node_1_sp1: "{{ ip_node_1_sp1 }}/24"
+        sp_api_mac: "{{ hostvars['undercloud-client']['port_node_1_sp_api_mac'] }}"
+        sp0_mac: "{{ hostvars['undercloud-client']['port_node_1_sp0_mac'] }}"
+        sp1_mac: "{{ hostvars['undercloud-client']['port_node_1_sp1_mac'] }}"
+        sp_api_ip: "{{ ip_node_1_sp_api }}/24"
+        sp0_ip: "{{ ip_node_1_sp0 }}/24"
+        sp1_ip: "{{ ip_node_1_sp1 }}/24"
 
     - set_fact:
         storpool_netplan: "{{ hostvars['localhost'].STORPOOL_STORPOOL_NETPLAN.v }}"
@@ -262,18 +259,13 @@
         content: "{{ storpool_netplan }}"
         dest: /etc/netplan/61-storpool.yaml
 
-    - set_fact:
-        ip_node_1_sp_api: "{{ ip_sp_api_wo_net }}"
-
-    - name: Generate Netplan
+    - name: Generate and Restart Netplan
       become: true
       ansible.builtin.command:
-        argv: ["netplan", "generate"]
-
-    - name: Restart Netplan
-      become: true
-      ansible.builtin.command:
-        argv: ["netplan", "apply"]
+        argv: "{{ item }}"
+      loop:
+        - [ "netplan", "generate"]
+        - [ "netplan", "apply" ]
 
     - name: Provision StorPool Deployment Configuration
       no_log: true
@@ -282,6 +274,49 @@
         line: "{{ STORPOOL_DEPLOY_KEY_PUB['v'] }}"
         insertafter: EOF
 
+- hosts: controller
+  vars_files:
+    - vars.yaml
+  tasks:
+    - name: Prepare OpenStack Node for StorPool Installation
+      block:
+
+        - set_fact:
+            sp_api_mac: "{{ hostvars['undercloud-client']['port_node_2_sp_api_mac'] }}"
+            sp0_mac: "{{ hostvars['undercloud-client']['port_node_2_sp0_mac'] }}"
+            sp1_mac: "{{ hostvars['undercloud-client']['port_node_2_sp1_mac'] }}"
+            sp_api_ip: "{{ ip_node_2_sp_api }}/24"
+            sp0_ip: "{{ ip_node_2_sp0 }}/24"
+            sp1_ip: "{{ ip_node_2_sp1 }}/24"
+
+        - set_fact:
+            storpool_netplan: "{{ hostvars['localhost'].STORPOOL_STORPOOL_NETPLAN.v }}"
+          no_log: true
+
+        - name: Provision the Netplan Template
+          no_log: true
+          become: true
+          ansible.builtin.copy:
+            content: "{{ storpool_netplan }}"
+            dest: /etc/netplan/61-storpool.yaml
+
+        - name: Generate and Restart Netplan
+          become: true
+          ansible.builtin.command:
+            argv: "{{ item }}"
+          loop:
+            - [ "netplan", "generate"]
+            - [ "netplan", "apply" ]
+
+        - name: Provision StorPool Deployment Configuration
+          no_log: true
+          ansible.builtin.lineinfile:
+            path: /home/ubuntu/.ssh/authorized_keys
+            line: "{{ STORPOOL_DEPLOY_KEY_PUB['v'] }}"
+            insertafter: EOF
+
+      when: storpool_connection == "block"
+
 - hosts: undercloud-client
   vars_files:
     - vars.yaml
diff --git a/zuul.d/sp-cinder-secrets.yaml b/zuul.d/sp-cinder-secrets.yaml
index b69afeb..0619f6a 100644
--- a/zuul.d/sp-cinder-secrets.yaml
+++ b/zuul.d/sp-cinder-secrets.yaml
@@ -362,27 +362,16 @@
     name: STORPOOL_STORPOOL_NETPLAN
     data:
       v: !encrypted/pkcs1-oaep
-        - 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
+        - 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
 
 - secret:
     name: STORPOOL_NETPLAN_SERVICE