Initial commit
[ta/infra-ansible.git] / roles / initial_poweroff_hosts / tasks / poweroff_virtual_node.yml
diff --git a/roles/initial_poweroff_hosts/tasks/poweroff_virtual_node.yml b/roles/initial_poweroff_hosts/tasks/poweroff_virtual_node.yml
new file mode 100644 (file)
index 0000000..78ef91c
--- /dev/null
@@ -0,0 +1,52 @@
+---
+
+# Copyright 2019 Nokia
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+- debug:
+    msg: "Processing domain: {{domain_name}}"
+
+- name: Get VM info
+  vars:
+    ansible_ssh_private_key_file: /etc/userconfig/id_rsa
+    ansible_user: root
+  virt:
+    uri: "qemu:///system"
+    command: get_xml 
+    name: "{{domain_name}}"
+  delegate_to: "{{hosts[installation_controller]['hwmgmt']['address']}}"
+  register: vm_info_result
+
+- name: Create domain xml files
+  copy:
+    content: "{{vm_info_result.get_xml}}"
+    dest: "/tmp/{{domain_name}}.xml"
+    mode: 0440
+
+- name: Get mac addresses
+  xml_parse_macs:
+    xml_file: "/tmp/{{domain_name}}.xml"
+  register: macs_result
+
+- name: Remove domain xml files
+  file:
+    path: "/tmp/{{domain_name}}.xml"
+    state: absent
+
+- include: mac_matcher.yml
+  vars: 
+    node: "{{node_item}}"
+  with_dict: "{{nodes_to_power_off}}"
+  loop_control:
+    loop_var: node_item