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.4.1.tar.gz (126.6 kB view details)

Uploaded Source

Built Distribution

redhat_assisted_installer-0.4.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for redhat_assisted_installer-0.4.1.tar.gz
Algorithm Hash digest
SHA256 8a0735fbb5150d0f42522e666490a8b511f3e65cdf282c160e27ad2b25adf0e8
MD5 02c637a92b5d8704ef6de3f17f8dcd7a
BLAKE2b-256 9cbbef2e9ec9175f1b71f74b7e7c947021dfd73294afe2b44706e8f869ab25f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for redhat_assisted_installer-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0cf4e7286e130b0dac7a31fabbb227fb02edddcac444fffb0ca0db72571e2f1d
MD5 775d82a298ddf475aaf50eb8e58393da
BLAKE2b-256 024660c5d1e6b016444e0d92574305f7719525daa45999f418d1365f76236f27

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