From 0af0c393cceceaeda564740e59dfcdeeb7e88e84 Mon Sep 17 00:00:00 2001 From: "Xavier Pillons (MSFT)" Date: Wed, 18 Oct 2023 12:44:35 +0200 Subject: [PATCH 1/2] image with datadisk attached --- bicep/azhop.bicep | 3 ++- bicep/vm.bicep | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bicep/azhop.bicep b/bicep/azhop.bicep index cb35b5988..0aca0e13f 100644 --- a/bicep/azhop.bicep +++ b/bicep/azhop.bicep @@ -291,8 +291,9 @@ var config = { { name: '${vmNamesMap.ccportal}-datadisk0' disksku: 'Premium_LRS' - size: 128 + size: split(cyclecloudBaseImage,':')[0] == 'azurecyclecloud' ? 0 : 128 caching: 'ReadWrite' + createOption: split(cyclecloudBaseImage,':')[0] == 'azurecyclecloud' ? 'FromImage' : 'Empty' } ] identity: { diff --git a/bicep/vm.bicep b/bicep/vm.bicep index 2920e8b60..3625615b9 100644 --- a/bicep/vm.bicep +++ b/bicep/vm.bicep @@ -80,12 +80,13 @@ resource virtualMachine 'Microsoft.Compute/virtualMachines@2022-11-01' = { managedDisk: { storageAccountType: disk.disksku } - diskSizeGB: disk.size lun: idx - createOption: 'Empty' - }, contains(disk, 'caching') ? { - caching: disk.caching - } : {} + createOption: disk.createOption + }, + disk.createOption == 'FromImage' ? {} : {diskSizeGB: disk.size}, + contains(disk, 'caching') ? { + caching: disk.caching + } : {} )] osDisk: union( { From 90e6eeec2065189c49096fe32c231f032ce0551c Mon Sep 17 00:00:00 2001 From: "Xavier Pillons (MSFT)" Date: Wed, 18 Oct 2023 16:42:09 +0200 Subject: [PATCH 2/2] flag to install CC RPMs --- playbooks/ccportal.yml | 1 + .../roles/cyclecloud/tasks/AlmaLinux.yml | 2 +- playbooks/roles/cyclecloud/tasks/main.yml | 32 +++++++++++-------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/playbooks/ccportal.yml b/playbooks/ccportal.yml index 7ddd6c64f..1451ce912 100644 --- a/playbooks/ccportal.yml +++ b/playbooks/ccportal.yml @@ -39,6 +39,7 @@ cc_domain: '{{domain_name}}' cc_ldap_server: '{{ldap_server}}' cc_version: '{{cyclecloud.version | default("")}}' + install_cyclecloud: '{{not "azurecyclecloud" in cyclecloud.image | default(true)}}' # don't install cyclecloud when using the azurecyclecloud marketplace image - name: Update Packages include_role: diff --git a/playbooks/roles/cyclecloud/tasks/AlmaLinux.yml b/playbooks/roles/cyclecloud/tasks/AlmaLinux.yml index 4e0c96a2e..f02b4cee9 100644 --- a/playbooks/roles/cyclecloud/tasks/AlmaLinux.yml +++ b/playbooks/roles/cyclecloud/tasks/AlmaLinux.yml @@ -8,7 +8,7 @@ # reboot: # when: selinux.reboot_required -- name: install AZ CLI repo (CentOS) +- name: install AZ CLI repo (AlmaLinux) shell: | set -e rpm --import https://packages.microsoft.com/keys/microsoft.asc diff --git a/playbooks/roles/cyclecloud/tasks/main.yml b/playbooks/roles/cyclecloud/tasks/main.yml index 2d488e0db..1b1ad5d5f 100644 --- a/playbooks/roles/cyclecloud/tasks/main.yml +++ b/playbooks/roles/cyclecloud/tasks/main.yml @@ -6,6 +6,7 @@ msg: - "cyclecloud_version={{cyclecloud_version}}" - "Distribution={{ansible_distribution}}" + - "Install CC={{install_cyclecloud}}" - name: mount data disk shell: | @@ -21,9 +22,11 @@ mkdir /opt/cycle_server echo "UUID=$disk_uuid /opt/cycle_server xfs defaults,nofail 1 2" >> /etc/fstab mount /opt/cycle_server + when: install_cyclecloud - name: Perform OS dependent configuration tasks include_tasks: "{{ansible_distribution}}.yml" + when: install_cyclecloud - name: Update Packages include_role: @@ -33,20 +36,6 @@ vars: packages_to_exclude_from_upgrade: "cyclecloud*" -- name: Create a data record for azhop and start cycleserver - shell: | - set -e - # create a data record to identify this installation as an az-hop VM - cat > /opt/cycle_server/config/data/azhop.txt < /opt/cycle_server/config/data/azhop.txt <