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

Uploaded Source

Built Distribution

redhat_assisted_installer-0.4.7-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for redhat_assisted_installer-0.4.7.tar.gz
Algorithm Hash digest
SHA256 59338bf577f475f07a07cd83b5313bef191a7eecf7324ce86f14dbdc326cd845
MD5 784e3a049b785c85d63efaab02f55c5b
BLAKE2b-256 e15ee6db412a83001696e6a1519054e21c3ce08a1111cc29d03ceb91996d9107

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for redhat_assisted_installer-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5af968f50ae41387fbabf8155b3341307ea3ea7ee9fd21d8d3c5e4b9d776494f
MD5 34d915cb4d1041599289f5cb79bd1b86
BLAKE2b-256 e3114053f6bb43cb49cb811c8971da6d816b0bfd9eedcf746033530f71af9e25

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