python-nomad
Installation
pip install python-nomad
Documentation
https://python-nomad.readthedocs.io/en/latest/
Examples
import nomad
# For HTTP Nomad instances
n = nomad.Nomad(host="172.16.100.10", timeout=5)
# For HTTPS Nomad instances with non-self-signed SSL certificates
n = nomad.Nomad(host="172.16.100.10", secure=True, timeout=5, verify=True)
# For HTTPS Nomad instances with self-signed SSL certificates and no validate the cert
n = nomad.Nomad(host="172.16.100.10", secure=True, timeout=5, verify=False)
# For HTTPS Nomad instances with self-signed SSL certificates that must validate with cert
n = nomad.Nomad(host="172.16.100.10", secure=True, timeout=5, verify=True, cert="/path/to/certfile") # See http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification
# For HTTPS Nomad instances with cert file and key
n = nomad.Nomad(host="https://172.16.100.10", secure=True, timeout=5, verify=True, cert=("/path/to/certfile", "/path/to/key")) # See http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification
# For HTTPS Nomad instances with namespace and acl token
n = nomad.Nomad(host="172.16.100.10", secure=True, timeout=5, verify=False, namespace='Namespace-example',token='3f4a0fcd-7c42-773c-25db-2d31ba0c05fe')
"example" in n.jobs
j = n.jobs["example"]["ID"]
example_allocation = n.job.get_allocations(j)
n.job.deregister_job(j)
Environment Variables
This library also supports environment variables: NOMAD_ADDR, NOMAD_NAMESPACE, NOMAD_TOKEN, NOMAD_REGION, NOMAD_CLIENT_CERT, and NOMAD_CLIENT_KEY
for ease of configuration and unifying with nomad cli tools and other libraries.
NOMAD_ADDR=http://127.0.0.1:4646
NOMAD_NAMESPACE=default
NOMAD_TOKEN=xxxx-xxxx-xxxx-xxxx
NOMAD_REGION=us-east-1a
NOMAD_CLIENT_CERT=/path/to/tls/client.crt
NOMAD_CLIENT_KEY=/path/to/tls/client.key
Class Dunders
| Class | contains | len | getitem | iter |
|---|---|---|---|---|
| agent | N | N | N | N |
| allocation | Y | N | Y | N |
| allocations | N | Y | N | Y |
| client | N | N | N | N |
| evaluation | Y | N | Y | N |
| evaluations | Y | Y | Y | Y |
| event | N | N | N | N |
| job | Y | N | Y | N |
| jobs | Y | Y | Y | Y |
| node | Y | N | Y | N |
| nodes | Y | Y | Y | Y |
| regions | Y | Y | Y | Y |
| status.leader | Y | Y | N | N |
| status.peers | Y | Y | Y | Y |
| system | N | N | N | N |
| validate | N | N | N | N |
| deployments | Y | Y | Y | Y |
| deployment | Y | N | Y | N |
| namespace | Y | N | Y | N |
| namespaces | Y | Y | Y | Y |
| acl | Y | N | Y | N |
| sentinel | Y | N | Y | N |
Development
- create virtualenv and activate
- install requirements-dev.txt
- can either use the Vagrantfile for local integration testing or create environment variables
NOMAD_IPandNOMAD_PORTthat are assigned to a nomad binary that is running
virtualenv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
Testing with vagrant and virtualbox
vagrant up --provider virtualbox
py.test --cov=nomad --cov-report=term-missing --runxfail tests/
Testing with nomad binary
./nomad agent -dev -node pynomad1 --acl-enabled
NOMAD_IP=127.0.0.1 NOMAD_VERSION=<SEMNATIC_VERSION> py.test --cov=nomad --cov-report=term-missing --runxfail tests/
- Examples
- Acl :link:
- Agent :link:
- Allocation :link:
- Allocations :link:
- Deployment :link:
- Deployments :link:
- Client :link:
- Evaluation :link:
- Evaluations :link:
- Event :link:
- Job :link:
- Jobs :link:
- Namespace :link:
- Namespaces :link:
- Node :link:
- Nodes :link:
- Regions :link:
- Sentinel :link:
- Search :link:
- Status :link:
- System :link:
- Validate :link:
- Variable :link:
- Variables :link:
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python_nomad-2.1.0.tar.gz
(33.8 kB
view details)
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 python_nomad-2.1.0.tar.gz.
File metadata
- Download URL: python_nomad-2.1.0.tar.gz
- Upload date:
- Size: 33.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53e6d9ec6f66b672ae9d6d03591a24be2d8b5450dd7fdbe1003831cb9b77f847
|
|
| MD5 |
50f858e577c778e6ce38c10fc8f9e95d
|
|
| BLAKE2b-256 |
8a2eda51f38d18518818f6ac85ec2c5e64680330720d910c6abe49764cd36aff
|
File details
Details for the file python_nomad-2.1.0-py3-none-any.whl.
File metadata
- Download URL: python_nomad-2.1.0-py3-none-any.whl
- Upload date:
- Size: 37.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c48a48d3b1774176a690493ad72d27a585714d0f2396752f9d1b6c7c1901458
|
|
| MD5 |
d5d889de2438b5adb92ae2b5d3995847
|
|
| BLAKE2b-256 |
548383c46ffdd9268b00739bf05022c973baf769e31aff5f285e25c654483e92
|