Edit

Azure CycleCloud version 8.10.1

This release contains many security-related fixes. It also introduces several new features and resolves existing issues.

New features

  • Azure CycleCloud Slurm cluster changes:
  • Azure CycleCloud PBS cluster changes:
    • Azure CycleCloud PBS clusters no longer require Chef for node configuration.
    • Azure CycleCloud PBS clusters now allow mounting the /sched filesystem on external filesystems as well as the built-in NFS filesystem.
  • Azure CycleCloud HealthAgent changes:
    • Azure CycleCloud detects and reports a node health issue if a node loses contact with the service for an extended duration (for example, after an unplanned node shutdown).
    • Azure CycleCloud allows Guest Health Report (GHR) submission for all node health issues.
    • HealthAgent includes a recommended remediation and recommended GHR Impact code with node health issue reports.
  • Azure CycleCloud UI changes:
    • The node Show Details dialog reports physical hostname and Nvidia Cluster UUID when available.
    • The node Show Details dialog now includes a link to the node’s virtual network and subnet pages in the Azure portal.
    • The cycle_server service executable now accepts a --foreground argument to opt in to foreground execution for use in containers.
    • Service account users are now hidden by default in the CycleCloud web UI.
    • The Azure CycleCloud pop-up dialogs now use Fluent UI 9.
    • Azure CycleCloud shows a warning when you create or edit a cluster with VM SKUs that are unavailable in the selected region or subscription.
    • The Subscription page now offers a Features tab which shows Azure Feature status for the subscription.
    • The Subscriptions page now provides a Monitor Now button to force an immediate update of subscription resource changes to quickly detect changes made outside Azure CycleCloud.
    • Azure HPC proof-of-concept images for Rocky Linux are now provided with image names: cycle.image.rocky8-poc and cycle.image.rocky9-poc.
  • The maximum cycle_server.log file size is configurable by using the logging.max_file_size setting.
  • Azure CycleCloud now supports Azure-managed storage for node boot diagnostics.
  • You can associate an On-Demand Capacity reservation with node arrays by setting the CapacityReservationGroupId attribute on the node.
  • Azure CycleCloud now supports built-in filer search for all cluster types without requiring Chef.
  • Azure CycleCloud now creates Standard rather than Basic public IP resources when you request public IP for a node.
  • Azure CycleCloud now offers additional advanced Apache Tomcat configuration options in the cycle_server.properties file: webServerClusterMaxThreads, webServerClusterMaxQueueSize, webServerClusterAcceptCount.
  • Updated Apache Tomcat version to 9.0.122.

Resolved problems

  • Azure CycleCloud used a single cyclecloud_access service account user for node connections to Azure CycleCloud for new and upgraded clusters.
  • The Azure CycleCloud Slurm azslurm CLI allowed OS command injection through a malicious NodeName as root.
  • Disabling node name as hostname in cluster template caused slurmctld service to fail.
  • The Azure CycleCloud Slurm azslurm-exporter enabled sacct collector even when Slurm accounting was disabled.
  • The NodeSync and NodeProperties record types had no associated retirement rules, leading to extremely high record counts.
  • Azure CycleCloud stored NodeSync record versions periodically, even when unchanged, leading to high version counts.
  • The retirement rule for the Event record type was too loose, leading to significant disk consumption.
  • The reimage node action didn't apply to nodes in the Failed state.
  • Screen reader didn't announce the complete visual label information while navigating to the Set Default check box on the dialog.
  • Azure CycleCloud generated self-signed certificates with negative serial number that Kubernetes rejected.
  • Deleting or evicting a node with Azure Managed Lustre file-system mounts could leave locks active, temporarily affecting access from other nodes. Azure CycleCloud now cleanly unmounts the file system during shutdown and releases its locks promptly.
  • HealthAgent failed all Nvidia IMEX-capable nodes when using certain versions of the Nvidia DCGM SDK, which report spurious errors when Nvidia IMEX is available on the node but the service isn't running. HealthAgent now ignores that error report (configurable).
  • Cluster event details weren't readable by users with read access to the cluster (access required the SuperUser role).
  • Virtual machine scale sets with extensions with the AutoExtensionUpgrade=True flag set could block cluster termination and no Retry option was available in the Azure CycleCloud UI.
  • Nested form sections didn't hide properly in forms using "list" layouts.
  • Node termination sometimes failed for nodes showing a software configuration failure issue.
  • Screen readers might fail on the Add Subscription dialog after invoking the Save button if an error is displayed on disabled fields such as Storage account or Default Location.
  • The cyclecloud credential list CLI command failed for all CLI versions after 8.6.4.
  • Azure CycleCloud showed inconsistent memory values for many machine types, showing the GiB value in GB.
  • Jetpack failed to log software configuration stages, making debugging difficult.
  • Resolved CVEs and GHSAs:
  • Navigating to the URL of a deleted or nonexistent cluster displayed an empty panel rather than redirecting to the Clusters page.
  • Nodes with TargetState==Deleted could throw a null-pointer exception due to a missing TimingOrchestrationHooks and EventOrchestrationHooks.
  • Long pages, such as the About and Notices pages, were cut off at the bottom and couldn't be scrolled to see the remaining content.
  • On the Add Subscription form, the red required-field asterisks stayed fixed on the screen instead of scrolling with their labels.

Breaking changes

  • Update custom scripts that use the cluster-wide cyclecloud_access user to use the restricted per-node type username.
  • The deprecated and end-of-life HTCondor cluster type is removed.
  • Deprecated support for backward compatibility with Azure CycleCloud 8.7.x and earlier clusters that use the legacy AMQP message bus is removed.