Skip to content

Repository files navigation

Ansible Collection for Scale Computing HyperCore

The Ansible Collection for Scale Computing HyperCore (HyperCore) a variety of Ansible content to help automate the management of Scale Computing HyperCore products.

Documentation is available at https://scalecomputing.github.io/HyperCoreAnsibleCollection/.

Requirements

Ansible version requirements

This collection has been tested against following Ansible versions: >=2.12.

The collection should work with any Ansible version >=2.9.10, but this is not granted.

Python version requirements

This collection requires Python 3.8 or greater.

HyperCore cluster version requirements

This collection has been tested against following HyperCore cluster versions:

  • v9.1.14.208456
  • v9.2.13.211102
  • v9.3.5.212852
  • v9.4.17.215487
  • v9.5.5.219383

Installation

Before using this collection, you need to install it with the Ansible Galaxy command-line tool:

ansible-galaxy collection install scale_computing.hypercore

You can also include it in a requirements.yml file and install it with ansible-galaxy collection install -r requirements.yml, using the format:

# requirements.yml snippet
collections:
- name: scale_computing.hypercore
# Optionally pin the collection version
# version: 1.0.0

To upgrade the collection to the latest available version, run the following command:

ansible-galaxy collection install scale_computing.hypercore --upgrade

You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version 1.0.0:

ansible-galaxy collection install scale_computing.hypercore:==1.0.0

See using Ansible collections for more details.

Use Cases

Usecases include:

  • Configure or reconfigure a HyperCore cluster.
  • Update HyperCore cluster.
  • Create and maintain VMs on HyperCore clusters.
  • Upgrade VMs on HyperCore cluster, revert to previous version if upgrade fails.

Included content

Inventory plugins

Inventory plugin nameDescription
scale_computing.hypercore.hypercoreInventory source for Scale Computing HyperCore.

Modules

Module nameDescription
scale_computing.hypercore.apiAPI interaction with Scale Computing HyperCore
scale_computing.hypercore.certificateHandles cluster SSL certificates.
scale_computing.hypercore.cluster_infoRetrieve cluster info.
scale_computing.hypercore.cluster_nameUpdate cluster name.
scale_computing.hypercore.cluster_shutdownShutdown the cluster.
scale_computing.hypercore.dns_configModify DNS configuration on HyperCore API
scale_computing.hypercore.dns_config_infoList DNS configuration on HyperCore API
scale_computing.hypercore.email_alertCreate, update, delete or send test emails to Email Alert Recipients on HyperCore API.
scale_computing.hypercore.email_alert_infoList Email Alert Recipients on HyperCore API
scale_computing.hypercore.isoManage ISO images on HyperCore API
scale_computing.hypercore.iso_infoRetrieve ISO images
scale_computing.hypercore.node_infoReturns information about the nodes in a cluster.
scale_computing.hypercore.oidc_configHandles openID connect configuration.
scale_computing.hypercore.oidc_config_infoReturns information about openID connect configuration.
scale_computing.hypercore.registrationHandles cluster registration.
scale_computing.hypercore.registration_infoRetrieve information about cluster registration.
scale_computing.hypercore.remote_cluster_infoRetrieve a list of remote clusters.
scale_computing.hypercore.smtpModify SMTP configuration on HyperCore API.
scale_computing.hypercore.smtp_infoList SMTP configuration on HyperCore API.
scale_computing.hypercore.snapshot_scheduleManage snap schedule to configure the desired schedule of snapshot creation.
scale_computing.hypercore.snapshot_schedule_infoRetrieve information about an automated VM snapshot schedule.
scale_computing.hypercore.support_tunnelOpens or closes remote support tunnel.
scale_computing.hypercore.support_tunnel_infoChecks status of the remote support tunnel.
scale_computing.hypercore.syslog_serverCreate, update or delete Syslog servers from HyperCore API.
scale_computing.hypercore.syslog_server_infoList Syslog servers on HyperCore API
scale_computing.hypercore.task_waitWait for a HyperCore TaskTag to be finished.
scale_computing.hypercore.time_serverModify Time Zone configuration on HyperCore API
scale_computing.hypercore.time_server_infoList Time Server configuration on HyperCore API.
scale_computing.hypercore.time_zoneModify Time Zone configuration on HyperCore API
scale_computing.hypercore.time_zone_infoList Time Zone configuration on HyperCore API
scale_computing.hypercore.userCreates, updates or deletes local hypercore user accounts.
scale_computing.hypercore.user_infoReturns information about the users.
scale_computing.hypercore.version_updateInstall an update on the cluster.
scale_computing.hypercore.version_update_infoGet a list of updates that can be applied to this cluster.
scale_computing.hypercore.version_update_status_infoReturns status of the latest update applied.
scale_computing.hypercore.virtual_diskHandles virtual disks on Hypercore cluster.
scale_computing.hypercore.virtual_disk_attachClones an uploaded virtual disk and attaches it to a virtual machine.
scale_computing.hypercore.virtual_disk_infoList virtual disks on HyperCore API
scale_computing.hypercore.vmCreate, update or delete a VM.
scale_computing.hypercore.vm_boot_devicesManage HyperCore VM's boot devices
scale_computing.hypercore.vm_cloneHandles cloning of the VM
scale_computing.hypercore.vm_diskManage VM's disks
scale_computing.hypercore.vm_exportHandles export of the virtual machine
scale_computing.hypercore.vm_importHandles import of the virtual machine
scale_computing.hypercore.vm_infoRetrieve information about the VMs.
scale_computing.hypercore.vm_nicHandles actions over network interfaces
scale_computing.hypercore.vm_nic_infoReturns info about NIC
scale_computing.hypercore.vm_node_affinityUpdate virtual machine's node affinity
scale_computing.hypercore.vm_paramsManage VM's parameters
scale_computing.hypercore.vm_replicationHandles VM replications
scale_computing.hypercore.vm_replication_infoReturns info about replication of a specific VM
scale_computing.hypercore.vm_snapshotHandles VM snapshots.
scale_computing.hypercore.vm_snapshot_attach_diskAttach a disk from a snapshot to a VM on HyperCore API.
scale_computing.hypercore.vm_snapshot_infoList VM snapshots on HyperCore API

Roles

Role nameDescription
scale_computing.hypercore.check_local_timeCheck if local time meets the required time interval
scale_computing.hypercore.cluster_configConfigure HyperCore cluster
scale_computing.hypercore.template2vmClone a template VM to a regular VM
scale_computing.hypercore.url2templateDownload VM image from URL and create a template VM
scale_computing.hypercore.version_update_single_nodeUpdate single-node systems

Release Notes and Roadmap

Changelog is available at changelog.yaml.

License Information

Collection is published under GNU GPL v3 license.

Examples

The examples subdirectory contains usage examples for individual modules. Look at examples/README.md to see how to use each example.

Testing and Development

See DEVELOPMENT.md.

About

Official Ansible collection for Scale Computing SC//HyperCore (HC3) v1 API

Resources

Stars

12 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages