This release is a pre-release and may not be stable for production use.
We are nmstate!
A declarative network manager API for hosts.
What is it?
NMState is a library with an accompanying command line tool that manages host networking settings in a declarative manner. The networking state is described by a pre-defined schema. Reporting of current state and changes to it (desired state) both conform to the schema.
NMState is aimed to satisfy enterprise needs to manage host networking through a northbound declarative API and multi provider support on the southbound. NetworkManager acts as the main (and currently the only) provider supported.
Development Environment
Install:
pip install tox pbr
Run Unit Tests:
tox
Runtime Environment
Install (from sources) system-wide:
sudo pip install --upgrade .
Install just for the local user:
pip install --user --upgrade .
Make sure that ~/.local/bin is in your PATH when installing as a local user.
The export command can be used to add it for the current session:
export PATH="${HOME}/.local/bin:${PATH}"
Basic Operations
Show current state:
nmstatectl show
Change to desired state:
nmstatectl set desired-state.json
Edit current state of eth3 in a text editor:
nmstatectl edit --only eth3
nmstatectl will also read from stdin when no file is specified:
nmstatectl set < desired-state.json
Desired/Current state example:
{
"interfaces": [
{
"description": "Production Network",
"ethernet": {
"auto-negotiation": true,
"duplex": "full",
"speed": 1000
},
"ipv4": {
"address": [
{
"ip": "192.0.2.142",
"prefix-length": 24
}
],
"enabled": true
},
"mtu": 1500,
"name": "eth3",
"state": "up",
"type": "ethernet"
}
]
}
The state is also supported as YAML, to get the current state in YAML format:
nmstatectl show --yaml
The set command accepts both YAML and JSON.
Supported Interfaces:
- bond
- dummy
- ethernet
- ovs-bridge
Metadata
Release files for nmstate 0.0.1.dev187
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nmstate-0.0.1.dev187.tar.gz | 58.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nmstate-0.0.1.dev187-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 96.1 kB
Release files / nmstate-0.0.1.dev187.tar.gz
| Download URL | nmstate-0.0.1.dev187.tar.gz |
|---|---|
| Size | 58.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5a08d6aee9c5f4b9e618f094b45c8858da479fa24bcbe409b9e33bbd5b8d5f2
|
|
BLAKE2b-256 checksum How to use checksums |
fc885b9c8bce89d6ec0fb39081c356d2d203ec79c0ce407c64cc332b32f472f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.5
|
Release files / nmstate-0.0.1.dev187-py2-none-any.whl
| Download URL | nmstate-0.0.1.dev187-py2-none-any.whl |
|---|---|
| Size | 37.5 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
8778c929fb83c9331dda268a0f960099e0e71238bff1eab277b69e5c7226a801
|
|
BLAKE2b-256 checksum How to use checksums |
52d95818c009d24faf7f58dd46fd8cb8b9dc231325f569ece930b8f218587758
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.5
|
Security for nmstate 0.0.1.dev187
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.