Last updated:
0 purchases
pythonnomad 2.0.1
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_IP and NOMAD_PORT that 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:
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.