Skip to main content

Python module to implement the RedHat Assisted Installer API

Project description

red-hat-assisted-installer

Python package to implement the RedHat Assisted Installer API.

Description

Python package that implements the RedHat Assisted Installer API. This

Installation

pip install redhat-assisted-installer

Package Requirements

Packages

pip install requests

Environment Variables

  • REDHAT_PULL_SECRET: The pull secret associated with your RedHat Hybrid Cloud account

  • REDHAT_OFFLINE_TOKEN: The offline token associated with your RedHat Hybrid Cloud account

You can find these credentials by navigating to https://console.redhat.com/openshift/overview. In the side panel navigate to Downloads, and at the bottom of the page you should see the pull secret and token

How to use

Create AssistedInstaller instance

# import package
import redhat_assisted_installer.assistedinstaller as assistedinstaller

# Method 1:
# set assisted installer token value as an evironment variable
os.environ['REDHAT_OFFLINE_TOKEN'] = <str> token
# set assisted installer pull_secret value as an evironment variable
os.environ['REDHAT_PULL_SECRET'] = <str> pull_secret

# Method 2:
# You can also set env in virtual environment `activate` file via export.. you may have to restart your session
# export REDHAT_OFFLINE_TOKEN= '<token>'
# export REDHAT_PULL_SECRET= '<pull_secret>'

# create installer instance
installer = assistedinstaller.assistedinstaller()

On init the class will lookup the environment variables specified in requirements, and attempt to set those as attributes of itself.

API ENDPOINTS Implemented

/v2/clusters

GET

Retrieves the list of OpenShift clusters.

Query Parameters

name type description required
openshift_cluster_id string A specific cluster to retrieve. False
with_hosts boolean Include hosts in the returned list. False
owner string returns only clusters that are owned by the specified user. False

EXAMPLES

import redhat_assisted_installer.assistedinstaller as assistedinstaller

installer = assistedinstaller.assistedinstaller()

# return all clusters associated with this account
clusters = installer.getClusters()

# return cluster by id... still returns an array so remember to access via index (i.e clusters[0])
clusters = installer.getClusters(cluster_id=<cluster_id>)

# return all clusters and include the hosts associated with each cluster
clusters = installer.getClusters(with_hosts=True=<bool>)

POST

Creates a new OpenShift cluster definition.

Body Parameters

name type description required
name string Name of cluster definition. True
version string OpenShift version to use. True
basedomain string The base dns domain to use for the cluster. True
hamode string Determine if the cluster will be single node or highly available False
cpuarchitecture string The cpu arch of the baremetal hardware this cluster will run on False

EXAMPLES

import redhat_assisted_installer.assistedinstaller as assistedinstaller

installer = assistedinstaller.assistedinstaller()

# create a single node openshift cluster running version 4.15  
cluster = installer.postCluster("ocp-testing-sno", "4.15", "example.com")

# create a highly available cluster running 3 control plane nodes
cluster = installer.postCluster("ocp-testing-ha", "4.15", "example.com", hamode="Full")

/v2/clusters/{cluster_id}

DELETE

Deletes an OpenShift cluster definition.

Path Parameters

name type description required
cluster_id string The cluster to be deregistered. True

EXAMPLES

import redhat_assisted_installer.assistedinstaller as assistedinstaller

installer = assistedinstaller.assistedinstaller()

# get cluster by id
clusters = installer.getClusters(cluster_id=<cluster_id>)

# return object is an array, so we can safely delete any clusters with that id by using a for loop
for cluster in clusters:
    installer.deleteCluster(cluster['id'])

/v2/infra-envs

GET

Retrieves the list of infra-envs.

Query Parameters

name type description required
cluster_id string returns only infra-envs which directly reference this cluster. False
owner string returns only clusters that are owned by the specified user. False

EXAMPLES

import redhat_assisted_installer.assistedinstaller as assistedinstaller

installer = assistedinstaller.assistedinstaller()
# get all infra-envs registered to this account
infra_envs = installer.getInfrastructureEnvironments()

# get all infra-envs registered to this account
infra_envs = installer.getInfrastructureEnvironments()

# get all infra-envs that directly reference cluster_id
infra_env = installer.getInfrastructureEnvironments(cluster_id=<cluster_id>)

POST

Creates a new OpenShift Discovery ISO.

Body Parameters

name type description required
name string Name of cluster definition. True
version string OpenShift version to use. False
cluster_id string The cluster this infra-env will reference False
cpuarchitecture string The cpu arch of the baremetal hardware this cluster will run on False

EXAMPLES

import redhat_assisted_installer.assistedinstaller as assistedinstaller

installer = assistedinstaller.assistedinstaller()

# create min infra-env
installer.postInfrastructureEnvironment(name="testing-infra")

/v2/infra-envs/{infra-env-id}

DELETE

Deletes an infra-env.

Path Parameters

name type description required
infra_env_id string The infra-env to be deleted. True

EXAMPLES

import redhat_assisted_installer.assistedinstaller as assistedinstaller

installer = assistedinstaller.assistedinstaller()

# get all infra-envs registered to this account
infras = installer.getInfrastructureEnvironments()

# return object is an array, so we can safely delete any infra-envs with that id by using a for loop
for infra in infras:
    installer.deleteInfrastructureEnvironment(infra['id'])

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redhat_assisted_installer-0.2.17.tar.gz (121.2 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file redhat_assisted_installer-0.2.17.tar.gz.

File metadata

File hashes

Hashes for redhat_assisted_installer-0.2.17.tar.gz
Algorithm Hash digest
SHA256 ab775aff05a1739fe645f7588e81191225f5a78323c99f823971ba81f803df9b
MD5 ee639110693b43f59145491c0cd1fe64
BLAKE2b-256 1324ed8b81b1b9d7bcc945bcda68e47239e2ca841ce943f7a57d67ee3ea58f98

See more details on using hashes here.

File details

Details for the file redhat_assisted_installer-0.2.17-py3-none-any.whl.

File metadata

File hashes

Hashes for redhat_assisted_installer-0.2.17-py3-none-any.whl
Algorithm Hash digest
SHA256 9ef78e67e4c03dca047a047115650da7e459b0fb842bffc2b9e30715aac4cfa9
MD5 9a665a2ac6071515c9fbce71ab89a7f3
BLAKE2b-256 b6c6a3e8e3b8dff52a099a152a6855e96196ddf66fe777c6ca7e20699a8d6d4d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page