Useful tools to interact with Resource Locker Project
Project description
Useful tools to work with Rlocker project API
Quick Start
Normal installation
pip install rlockertools
Setup
git clone https://github.com/red-hat-storage/rlockertools.git
cd rlockertools
python -m venv venv
source venv/bin/activate
pip install ./
rlock --help
usage: rlock [-h] --server-url SERVER_URL --token TOKEN [--release] [--lock] [--resume-on-connection-error] [--signoff SIGNOFF] [--priority PRIORITY] [--search-string SEARCH_STRING] [--link LINK] [--interval INTERVAL] [--attempts ATTEMPTS]
optional arguments: -h, --help show this help message and exit --server-url SERVER_URL The URL of the Resource Locker Server --token TOKEN Token of the user that creates API calls --release Use this argument to release a resource --lock Use this argument to lock a resource --resume-on-connection-error Use this argument in case you don't want to break queue execution in the middle of waiting for queue status being FINISHED --signoff SIGNOFF Use this when lock=True, locking a resource requires signoff --priority PRIORITY Use this when lock=True, specify the level of priority the resource should be locked --search-string SEARCH_STRING Use this when lock=True, specify the lable or the name of the lockable resource --link LINK Use this when lock=True, specify the link of the CI/CD pipeline that locks the resource --interval INTERVAL Use this when lock=True, how many seconds to wait between each call while checking for a free resource --attempts ATTEMPTS Use this when lock=True, how many times to create an API call that will check for a free resource
## Usage Examples
### To add a queue for locking a resource
```bash
rlock --lock --server-url=your.rlocker.instance.com --token=YOURTOKEN --search-string=nameorlabel --signoff=YOURUNIQUESIGNOFF --priority=3 --interval=15 --attempts=15
To release a locked resource (filtration by signoff only)
rlock --release --server-url=your.rlocker.instance.com --token=YOURTOKEN --signoff=YOURUNIQUESIGNOFF
Change log
[0.3.8] - 2021-03-15
Initial build
[0.3.9] - 2021-07-15
Move to new repo + bug fix
[0.3.10] - 2021-07-15
Fix build issue
[0.3.11] - 2021-07-19
Suppress the logs Show safe errors when beating a queue returns !=200 status code
[0.4] - 2022-04-12
Allow **datakwargs in the change queue method. This is necessary to allow modification of the data section once a queue is changing
[0.4.1] - 2022-04-13
Show more output in get_queue method in case of non 200 status code
[0.4.2] - 2022-04-17
Address item assignment for str, should be fixed to a dictionary in change queue method
[0.4.3] - 2022-04-28
Adding log file in order to track after the queue id number once executing from the rlock entrypoint. Reason: In order to to API calls about the queue, we need to save it in some readable location
[0.4.4] - 2022-06-09
Adding support for --check
argument which will return if the given --search-string
has available resources
by label or a name. Commit number: #15
Usage example:
rlock --check --search-string=aws-east-2 --token=$token --server-url=$SERVER_URL
[0.4.5] - 2022-07-26
Fixing JSON parsing for the data section in a queue, which was not fixed totally in 0.4.2
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
Hashes for rlockertools-0.4.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfbff55fedb3bd39a0f528d7223edeca57ae1b20821b561ce2e397837ae8bdef |
|
MD5 | 4815f9a087a45fb2a1222204e25aea3e |
|
BLAKE2b-256 | e98bb3726e274b35560d1b914f7a66bfe1f42700b1d459443df46fa03a44142f |