Citrix DaaS

Manage a Google Cloud Platform catalog

Manage machine catalogs describes the wizards that manage a machine catalog. The following information covers details specific to Google cloud environments.

Note:

Before managing a Google Cloud Platform catalog, you need to finish creating a Google Cloud Platform catalog. See Create a Google Cloud Platform catalog.

Add machines to a catalog

To add machines to a catalog, follow these steps:

  1. From Manage > Full Configuration, select Machine Catalogs in the left pane.
  2. Select the machine catalog to which you want to add machines.
  3. Select Add Machines in the action bar.
  4. On the Virtual Machines page, specify the number of machines you want to add and then select Next.
  5. On the Machine Identities page, select an Active Directory account and then select Next.
  6. On the Domain Credentials page, select Enter credentials, type the user name and password, select Save, and then select Next.
  7. On the Summary page, confirm the information and then select Finish.

Update machines

This feature can be useful in cases where you want to update your master image or the minimum functional level.

To update machines, follow these steps:

  1. From Manage > Full Configuration, select Machine Catalogs in the left pane.
  2. Select the machine catalog that contains machines you want to update.
  3. Select Change Master Image in the action bar.
  4. On the Image page, select a VM and the minimum functional level for the catalog and then select Next.
  5. On the Rollout Strategy page, specify when you want to update the machines and then select Next.
  6. On the Summary page, confirm the information and then select Finish.

Roll back a machine update

To roll back a machine update, follow these steps:

Important:

Do not rename, delete, or move master images. Otherwise you cannot roll back the update.

  1. From Manage > Full Configuration, select Machine Catalogs in the left pane.

  2. Select the machine catalog where you want to roll back the machine update.

  3. Select Roll Back Master Image in the action bar.

  4. On the Overview page, confirm the information and then select Next.

  5. On the Rollout Strategy page, configure the rollout strategy and then select Next.

  6. On the Summary page, confirm the information and then select Finish.

Power management

Citrix DaaS lets you do the power management of Google Cloud machines. Use the Search node in the navigation pane to locate the machine you want to power manage. The following power actions are available:

  • Delete
  • Start
  • Restart
  • Force Restart
  • Shut Down
  • Force Shutdown
  • Add to Delivery Group
  • Manage Tags
  • Turn On Maintenance Mode

You can also power manage Google Cloud machines by using Autoscale. To do so, add the Google Cloud machines to a Delivery Group and then enable Autoscale for that Delivery Group. For more information about Autoscale, see Autoscale.

Update provisioned machines using PowerShell

The Set-ProvScheme command changes the provisioning scheme. However, it does not affect existing machines. Using the PowerShell command Set-ProvVMUpdateTimeWindow, you can now apply the current provisioning scheme to an existing persistent or non-persistent machine or set of machines. Currently, in GCP, the property updates supported by this feature are Machine profile, Service offering and Custom catalog settings.

You can update:

  • A single VM
  • A list of specific VMs or all existing VMs associated with a provisioning scheme ID
  • A list of specific VMs or all existing VMs associated with a provisioning scheme name

To update the existing VMs:

  1. Check the configuration of the existing machines. For example,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Update the provisioning scheme. For example,

    • Updating machine profile

      `Set-ProvScheme –ProvisioningSchemeName "my-catalog" –MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofileinstance.vm"
      <!--NeedCopy-->
      
    • Updating service offering

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering “XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. Check if the current property of the VM matches the current provisioning scheme, and if there is any pending update action on the VM. For example,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    You can also find machines with a particular version. For example,

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  4. Update existing machines.
    • To update all the existing machines:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • To update a list of specific machines:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • To update machines based on the output of Get-ProvVM:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      

    Note:

    • StartsNow indicates that the scheduled start time is the current time.
    • DurationInMinutes with a negative number (for example, –1) indicates no upper bound on the schedule’s time window.
  5. Find machines with an update scheduled. For example,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  6. Restart the machines. At the next power-up, property changes are applied to the existing machines. You can check the updated status using the following command:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

You can change the following disk related custom properties of an existing catalog and existing VMs of the catalog:

  • PersistOSDisk
  • PersistWBC
  • StorageType
  • IdentityDiskStorageType
  • WbcDiskStorageType

Note:

  • StorageType property is for OS disk
  • PersistOsDisk property can be set only for non-persistent catalog with write-back cache enabled

This implementation helps you to select different storage types for different disks even after you create a catalog and thus, balances pricing associated with different storage types.

To do this, use PowerShell commands Set-ProvScheme and Set-ProvVMUpdateTimeWindow:

  1. Open a PowerShell window.
  2. Run asnp citrix*.
  3. Run Get-ProvVM -VMName <VM name> to get the custom properties.
  4. Change the custom properties string:
    1. Copy the custom properties to a Notepad and change the custom properties.
    2. In the PowerShell window, paste the modified custom properties from Notepad and assign a variable to the modified custom properties. For example:

      $cp =  '<CustomProperties xmlns=http://schemas.citrix.com/2014/xd/machinecreation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Property xsi:type="StringProperty" Name="CatalogZones" Value="" />
      <Property xsi:type="StringProperty" Name="PersistWBC" Value="true" />
      <Property xsi:type="StringProperty" Name="PersistOSDisk" Value="true" />
      <Property xsi:type="StringProperty" Name="WBCDiskStorageType" Value="pd-standard" />
      <Property xsi:type="StringProperty" Name="StorageType" Value="pd-standard" />
      </CustomProperties>'
      <!--NeedCopy-->
      
  5. Update the existing catalog. For example:

    Set-ProvScheme -ProvisioningSchemeName <yourCatalogName> -CustomProperties $cp
    <!--NeedCopy-->
    
  6. Update the existing VMs. For example:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Restart the VMs. At the next power up, custom property changes are applied to the existing VMs.

Protect accidental machine deletion

Citrix DaaS lets you protect MCS resources on the Google Cloud to prevent accidental deletion. Configure the provisioned VM by setting the deletionProtection flag to TRUE.

By default, VMs provisioned through MCS or Google Cloud plug-in are created with InstanceProtection enabled. The implementation is applicable to both persistent and non-persistent catalogs. The non-persistent catalogs are updated when the instances get re-created from the template. For existing persistent machines, you can set the flag in the Google Cloud console. For more information about setting the flag, see the Google Documentation site. New machines added to persistent catalogs are created with deletionProtection enabled.

If you attempt to delete a VM instance for which you have set the deletionProtection flag, the request fails. However, if you are granted the permission compute.instances.setDeletionProtection or assigned the IAM Compute Admin role, you can reset the flag to allow the resource to be deleted.

Identify resources created by MCS

Following are the tags that MCS adds to the resources on GCP platform. The tags in the table are represented as “key”:”value”.

Resource name Tag
ID disk “CitrixResource”: “internal”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Image “CitrixResource”: “internal”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
OS disk “CitrixResource”: “internal”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Preparation VM “CitrixResource”: “internal”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Published snapshot “CitrixResource”: “internal”
Storage bucket “CitrixResource”: “internal”
Template “CitrixResource”: “internal”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
VM in catalog “CitrixResource”: “internal”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”. The plug-in also adds this label for MCS provisioned VMs: “citrix-provisioning-scheme-id”: “provSchemeId”. You can use this label to filter by catalog in the GCP console.
WBC disk “CitrixResource”: “internal”
  CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”

Note:

A VM is not visible in the Citrix inventory if a CitrixResource tag is added to identify it as a resource created by MCS. You can remove or rename the tag to make it visible.

More information

Manage a Google Cloud Platform catalog