Module providing IBM Fail over functions
Project description
# IBM Cloud Fail Over Functions
## Overview
IBM Cloud Fail Over is a Python module designed to automate failover processes for applications hosted on IBM Cloud. This module provides essential functions to manage failover scenarios effectively, ensuring high availability and reliability.
## Features
- **Automated Failover**: Seamlessly switch to backup resources when primary resources are unavailable.
- **Resource Management**: Manage critical resources like Virtual IPs and Floating IPs with ease.
## Installation
You can install the IBM Cloud Fail Over module using pip. Run the following command:
```bash
pip install ibm_cloud_fail_over
Usage
Main Functions
fail_over_cr_vip
This function manages the failover of a Cloud Resource Virtual IP (CR VIP).
Usage:
from ibm_cloud_fail_over import fail_over_cr_vip
# Example usage
active_ip = fail_over_cr_vip(vpc_url='IBM Cloud VPC regional URL",
primary_vip='your_primary_vip',
secondary_vip='your_secondary_vip',
api_key="Optional: API key" )
print(active_ip)
Parameters:
| Parameter | Type | Description |
|---|---|---|
vpc_url |
str | IBM Cloud VPC regional URL. |
primary_vip |
str | The primary Virtual IP to monitor. |
secondary_vip |
str | The secondary Virtual IP to switch to. |
api_key |
str | Optional needed only if you are not using trusted profile, IBM cloud api acsess key |
Returns:
- The Active ip post failover operation.
fail_over_floating_ip_start
This function manages the failover of a Floating IP Attach to the caller Endpoint (VSI/BM)
Usage:
from ibm_cloud_fail_over import fail_over_floating_ip_start
# Example usage
result = fail_over_floating_ip_start(vpc_url='IBM Cloud VPC regional URL",
master_vni_id="Virtual network inetface uuid for new active",
passive_vni_id="Virtual network inetface uuid for new passive" ,
fip_id="the floating ip uuid",
api_key="Optional: API key" ))
print(result)
Parameters:
| Parameter | Type | Description |
|---|---|---|
vpc_url |
str(url) | IBM Cloud VPC regional URL. |
master_vni_id |
str(uuid) | Virtual network inetface uuid for new active. |
passive_vni_id |
str(uuid) | Virtual network inetface uuid for new active. |
fip_id |
str(uuid) | Floating IP uuid to move. |
api_key |
str | Optional needed only if you are not using trusted profile, IBM cloud api acsess key |
| Returns: |
- A confirmation message indicating the success or failure of the failover operation.
fail_over_floating_ip_stop
This function manages the failover of a Floating IP Detach to the caller Endpoint (VSI/BM)
Usage:
from ibm_cloud_fail_over import fail_over_floating_ip_stop
# Example usage
result = fail_over_floating_ip_stop(vpc_url='IBM Cloud VPC regional URL",
master_vni_id="Virtual network inetface uuid for new active",
passive_vni_id="Virtual network inetface uuid for new passive" ,
fip_id="the floating ip uuid",
api_key="Optional: API key" ))
print(result)
Parameters:
| Parameter | Type | Description |
|---|---|---|
vpc_url |
str(url) | IBM Cloud VPC regional URL. |
master_vni_id |
str(uuid) | Virtual network inetface uuid for new active. |
passive_vni_id |
str(uuid) | Virtual network inetface uuid for new active. |
fip_id |
str(uuid) | Floating IP uuid to move. |
api_key |
str | Optional needed only if you are not using trusted profile, IBM cloud api acsess key |
| Returns: |
- A confirmation message indicating the success or failure of the failover operation.
fail_over_get_attached_fip
This function manages the failover of a Floating IP Detach to the caller Endpoint (VSI/BM)
Usage:
from ibm_cloud_fail_over import fail_over_get_attached_fip
# Example usage
attached_fip_id, attached_fip_ip = fail_over_get_attached_fip()
print(attached_fip_ip)
print(attached_fip_id)
Parameters: None
Returns: attached_fip_id, attached_fip_ip
Troubleshooting
If you encounter issues while using the module, consider the following:
- Invalid IP Addresses: Ensure that the IP addresses provided for primary and secondary resources are valid and reachable.
- Network Issues: Check your network connectivity to the IBM Cloud resources.
- Permissions: Ensure that your IBM Cloud account has the necessary permissions to manage the specified resources.
- Required dependencies: Enable Instance Metada Service on Both Enpoints
- Optional dependencies: Enable Trusted profile to avoid using and api access key
For further assistance, please check the GitHub Issues page or contact the project maintainer.
Contributing
We welcome contributions! To contribute to the project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Make your changes and commit them (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Create a new Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contact
For questions or support, please open an issue on GitHub or contact the project maintainer at dev@gampel.net.
### TOOD:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ibm_cloud_fail_over-1.0.9.tar.gz.
File metadata
- Download URL: ibm_cloud_fail_over-1.0.9.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
985d55e96d1f09b03e268dd2076a8aef154b94e235635a922297b9f1fcc273cc
|
|
| MD5 |
59afae49ffeb4ac8e8e0721477172f5c
|
|
| BLAKE2b-256 |
f17d828336de5ddcfdf184e119560d05088a0f236cc4ca77357044921f474ea8
|
Provenance
The following attestation bundles were made for ibm_cloud_fail_over-1.0.9.tar.gz:
Publisher:
publish.yml on gampel/ibm_cloud_fail_over
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ibm_cloud_fail_over-1.0.9.tar.gz -
Subject digest:
985d55e96d1f09b03e268dd2076a8aef154b94e235635a922297b9f1fcc273cc - Sigstore transparency entry: 162356021
- Sigstore integration time:
-
Permalink:
gampel/ibm_cloud_fail_over@60c439e29148f4f5754ab3dda4d6f736e8babe12 -
Branch / Tag:
refs/tags/v1.0.9 - Owner: https://github.com/gampel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60c439e29148f4f5754ab3dda4d6f736e8babe12 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ibm_cloud_fail_over-1.0.9-py3-none-any.whl.
File metadata
- Download URL: ibm_cloud_fail_over-1.0.9-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5e6311d29a74628325666f96af0db0dcd5616f22f3adf0a199d44848456eb3d
|
|
| MD5 |
cf4f24a9481aade67a4ddb1971206fbf
|
|
| BLAKE2b-256 |
20ef282d69146c4a0673e5f179e9553d0a013777e7bbe15e3f66e11c665b1954
|
Provenance
The following attestation bundles were made for ibm_cloud_fail_over-1.0.9-py3-none-any.whl:
Publisher:
publish.yml on gampel/ibm_cloud_fail_over
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ibm_cloud_fail_over-1.0.9-py3-none-any.whl -
Subject digest:
c5e6311d29a74628325666f96af0db0dcd5616f22f3adf0a199d44848456eb3d - Sigstore transparency entry: 162356022
- Sigstore integration time:
-
Permalink:
gampel/ibm_cloud_fail_over@60c439e29148f4f5754ab3dda4d6f736e8babe12 -
Branch / Tag:
refs/tags/v1.0.9 - Owner: https://github.com/gampel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60c439e29148f4f5754ab3dda4d6f736e8babe12 -
Trigger Event:
release
-
Statement type: