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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for redhat_assisted_installer-0.2.18.tar.gz
Algorithm Hash digest
SHA256 f520d71bd4cb714bd98c1a77b73b8cafd09f8f73982ec86e37c772fe29f42287
MD5 f0020f478f4eb7acd71da379089c61c8
BLAKE2b-256 dd8042a079091895260f7410fff9a74f63810c928f662d08b9522fbcb2841a2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for redhat_assisted_installer-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 3f63e7176db2c2d1a589fd40ec901d8528070a7c2c7a4049ed68f3ed3b588f9e
MD5 10a1fcdc84c44064ccb8ae627656abda
BLAKE2b-256 af1fd9f61912dd736ceedd6b90deb16220bbfad0fb17a841ad202c565838f67a

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