ScaleComputing / HyperCoreAnsibleCollection

Official Ansible collection for Scale Computing SC//HyperCore (HC3) v1 API
GNU General Public License v3.0
12 stars 8 forks source link

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:

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:

Included content

Inventory plugins

Inventory plugin name Description
scale_computing.hypercore.hypercore Inventory source for Scale Computing HyperCore.

Modules

Module name Description
scale_computing.hypercore.api API interaction with Scale Computing HyperCore
scale_computing.hypercore.certificate Handles cluster SSL certificates.
scale_computing.hypercore.cluster_info Retrieve cluster info.
scale_computing.hypercore.cluster_name Update cluster name.
scale_computing.hypercore.cluster_shutdown Shutdown the cluster.
scale_computing.hypercore.dns_config Modify DNS configuration on HyperCore API
scale_computing.hypercore.dns_config_info List DNS configuration on HyperCore API
scale_computing.hypercore.email_alert Create, update, delete or send test emails to Email Alert Recipients on HyperCore API.
scale_computing.hypercore.email_alert_info List Email Alert Recipients on HyperCore API
scale_computing.hypercore.iso Manage ISO images on HyperCore API
scale_computing.hypercore.iso_info Retrieve ISO images
scale_computing.hypercore.node_info Returns information about the nodes in a cluster.
scale_computing.hypercore.oidc_config Handles openID connect configuration.
scale_computing.hypercore.oidc_config_info Returns information about openID connect configuration.
scale_computing.hypercore.registration Handles cluster registration.
scale_computing.hypercore.registration_info Retrieve information about cluster registration.
scale_computing.hypercore.remote_cluster_info Retrieve a list of remote clusters.
scale_computing.hypercore.smtp Modify SMTP configuration on HyperCore API.
scale_computing.hypercore.smtp_info List SMTP configuration on HyperCore API.
scale_computing.hypercore.snapshot_schedule Manage snap schedule to configure the desired schedule of snapshot creation.
scale_computing.hypercore.snapshot_schedule_info Retrieve information about an automated VM snapshot schedule.
scale_computing.hypercore.support_tunnel Opens or closes remote support tunnel.
scale_computing.hypercore.support_tunnel_info Checks status of the remote support tunnel.
scale_computing.hypercore.syslog_server Create, update or delete Syslog servers from HyperCore API.
scale_computing.hypercore.syslog_server_info List Syslog servers on HyperCore API
scale_computing.hypercore.task_wait Wait for a HyperCore TaskTag to be finished.
scale_computing.hypercore.time_server Modify Time Zone configuration on HyperCore API
scale_computing.hypercore.time_server_info List Time Server configuration on HyperCore API.
scale_computing.hypercore.time_zone Modify Time Zone configuration on HyperCore API
scale_computing.hypercore.time_zone_info List Time Zone configuration on HyperCore API
scale_computing.hypercore.user Creates, updates or deletes local hypercore user accounts.
scale_computing.hypercore.user_info Returns information about the users.
scale_computing.hypercore.version_update Install an update on the cluster.
scale_computing.hypercore.version_update_info Get a list of updates that can be applied to this cluster.
scale_computing.hypercore.version_update_status_info Returns status of the latest update applied.
scale_computing.hypercore.virtual_disk Handles virtual disks on Hypercore cluster.
scale_computing.hypercore.virtual_disk_attach Clones an uploaded virtual disk and attaches it to a virtual machine.
scale_computing.hypercore.virtual_disk_info List virtual disks on HyperCore API
scale_computing.hypercore.vm Create, update or delete a VM.
scale_computing.hypercore.vm_boot_devices Manage HyperCore VM's boot devices
scale_computing.hypercore.vm_clone Handles cloning of the VM
scale_computing.hypercore.vm_disk Manage VM's disks
scale_computing.hypercore.vm_export Handles export of the virtual machine
scale_computing.hypercore.vm_import Handles import of the virtual machine
scale_computing.hypercore.vm_info Retrieve information about the VMs.
scale_computing.hypercore.vm_nic Handles actions over network interfaces
scale_computing.hypercore.vm_nic_info Returns info about NIC
scale_computing.hypercore.vm_node_affinity Update virtual machine's node affinity
scale_computing.hypercore.vm_params Manage VM's parameters
scale_computing.hypercore.vm_replication Handles VM replications
scale_computing.hypercore.vm_replication_info Returns info about replication of a specific VM
scale_computing.hypercore.vm_snapshot Handles VM snapshots.
scale_computing.hypercore.vm_snapshot_attach_disk Attach a disk from a snapshot to a VM on HyperCore API.
scale_computing.hypercore.vm_snapshot_info List VM snapshots on HyperCore API

Roles

Role name Description
scale_computing.hypercore.check_local_time Check if local time meets the required time interval
scale_computing.hypercore.cluster_config Configure HyperCore cluster
scale_computing.hypercore.template2vm Clone a template VM to a regular VM
scale_computing.hypercore.url2template Download VM image from URL and create a template VM
scale_computing.hypercore.version_update_single_node Update single-node systems

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.