Browse Source

Azure: rollback module usage to support ansible 2.4

Jim Minter 7 years ago
parent
commit
0f82e3450f

+ 1 - 4
playbooks/azure/openshift-cluster/build_node_image.yml

@@ -7,10 +7,7 @@
     vars:
       image_prefix: "{{ openshift_azure_input_image_prefix }}"
       image_resource_group: "{{ openshift_azure_input_image_ns }}"
-      data_disks:
-      - managed_disk_type: Standard_LRS
-        disk_size_gb: 100
-        lun: 0
+      create_args: --data-disk-sizes-gb 128
 
   - set_fact:
       openshift_node_bootstrap: True

+ 17 - 11
playbooks/azure/openshift-cluster/tasks/create_image_from_vm.yml

@@ -1,10 +1,9 @@
 ---
 - name: deallocate vm
-  azure_rm_virtualmachine:
-    name: vm
-    resource_group: "{{ openshift_azure_resource_group_name }}"
-    allocated: no
-  register: vm
+  command: >
+    az vm deallocate
+    -g "{{ openshift_azure_resource_group_name }}"
+    -n vm
 
 - name: generalize vm
   command: >
@@ -12,18 +11,25 @@
     -g "{{ openshift_azure_resource_group_name }}"
     -n vm
 
+- name: get vm details
+  command: >
+    az vm show
+    -g "{{ openshift_azure_resource_group_name }}"
+    -n vm
+  register: vm
+
 - name: create image resource group
   azure_rm_resourcegroup:
     name: "{{ image_resource_group }}"
     location: "{{ openshift_azure_resource_location }}"
 
-# Note: requires ansible 2.5
 - name: create image
-  azure_rm_image:
-    resource_group: "{{ image_resource_group }}"
-    name: "{{ image_name }}"
-    source: "{{ vm.ansible_facts.azure_vm.properties.storageProfile.osDisk.managedDisk.id }}"
-    os_type: Linux
+  command: >
+    az image create
+    -g "{{ image_resource_group }}"
+    -n "{{ image_name }}"
+    --source "{{ (vm.stdout | from_json).storageProfile.osDisk.managedDisk.id }}"
+    --os-type Linux
 
 - name: calculate tags
   set_fact:

+ 12 - 17
playbooks/azure/openshift-cluster/tasks/provision_instance.yml

@@ -23,27 +23,22 @@
   register: input_image
 
 - name: create vm
-  azure_rm_virtualmachine:
-    name: vm
-    resource_group: "{{ openshift_azure_resource_group_name }}"
-    vm_size: Standard_D4s_v3
-    image:
-      name: "{{ (input_image.stdout | from_json).name }}"
-      resource_group: "{{ image_resource_group }}"
-    os_type: Linux
-    storage_blob_name: vm
-    managed_disk_type: Standard_LRS
-    data_disks: "{{ data_disks | default([]) }}"
-    admin_username: cloud-user
-    ssh_password_enabled: False
-    ssh_public_keys:
-    - path: "/home/cloud-user/.ssh/authorized_keys"
-      key_data: "{{ openshift_azure_vm_ssh_public_key }}"
+  command: >
+    az vm create
+    -n vm
+    -g "{{ openshift_azure_resource_group_name }}"
+    --size Standard_D4s_v3
+    --image "{{ (input_image.stdout | from_json).id }}"
+    --storage-sku Standard_LRS
+    --admin-username cloud-user
+    --ssh-dest-key-path /home/cloud-user/.ssh/authorized_keys
+    --ssh-key-value "{{ openshift_azure_vm_ssh_public_key }}"
+    {% if create_args is defined %}{{ create_args }}{% endif %}
   register: vm
 
 - name: add vm to inventory
   add_host:
     groups: nodes
-    name: "{{ vm.ansible_facts.azure_vm.properties.networkProfile.networkInterfaces[0].properties.ipConfigurations[0].properties.publicIPAddress.properties.ipAddress }}"
+    name: "{{ (vm.stdout | from_json).publicIpAddress }}"
     ansible_ssh_user: cloud-user
     ansible_become: True