Pypi: openshift-python-wrapper
A python wrapper for kubernetes-python-client with support for RedHat Container Virtualization
Docs: openshift-python-wrapper docs
The wrapper offers a simple and intuitive interface for interacting with the API.
It standardizes how to work with cluster resources and offers unified resource CRUD (Create, Read, Update, and Delete) flows.
The wrapper also provides additional capabilities, such as resource-specific functionality that otherwise needs to be implemented by users.
The wrapper makes code easier to read and maintain over time.
One example of simplified usage is interacting with a container.
Running a command inside a container requires using Kubernetes stream, handling errors, and more.
The wrapper handles it all and provides simple and intuitive functionality.
Both developers or testers can use the wrapper. The code is modular and easy to maintain.
Instead of writing custom code for every API, you can use the wrapper that provides a consistent interface for interacting with APIs.
It saves time, avoids code duplications, and reduces the chance of errors.
Using Python capabilities, context managers can provide out-of-the-box resource creation and deletion,
and inheritance can be used to extend functionality for specific use cases.
Pytest fixtures can utilize the code for setup and teardown, leaving no leftovers.
Resources can even be saved for debugging.
Resource manifests and logs can be easily collected.
From source:
git clone https://github.com/RedHatQE/openshift-python-wrapper.git
cd openshift-python-wrapper
python setup.py install --user
From pypi:
pip install openshift-python-wrapper --user
- Export GitHub token
export GITHUB_TOKEN=<your_github_token>
sudo npm install --global release-it
npm install --save-dev @release-it/bumper
- Create a release, run from the relevant branch.
To create a 4.11 release, run:
git checkout v4.11
git pull
release-it # Follow the instructions
Hosted on readthedocs.io openshift-python-wrapper
For PR dependency we use dpulls
To make PR depends on other PR add depends on #<PR NUMBER>
in the PR description.
To change log level export OPENSHIFT_PYTHON_WRAPPER_LOG_LEVEL:
export OPENSHIFT_PYTHON_WRAPPER_LOG_LEVEL=<LOG_LEVEL> # can be: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"
-
By default some sensitive information is hashed in the logs, and if running with DEBUG the log output can be corrupted.
In secure environments user can setOPENSHIFT_PYTHON_WRAPPER_HASH_LOG_DATA="false"
environment variable to disable the log hashing.export OPENSHIFT_PYTHON_WRAPPER_HASH_LOG_DATA="false"
We use pre-commit for code check.
pre-commit install
Some code examples locate at examples directory
To contribute new additions or changes to the project, please refer to the contribution guide first.