str(dict) or print(dict) format a dict value into an invalid json
string because it uses single quotes(') instead of double quotes(").
This also fixes the log messages which mentions 'JSON' but doesn't
convert a dict value to a valid json string.
Conflicts:
os_net_config/cli.py
Resolved conflict caused by da3bd5fbb8 .
Closes-Bug: #1973566
Change-Id: I2398e3881310746f349e2c9a89c64956efbc13b2
(cherry picked from commit 88a4c885f6)
(cherry picked from commit bf263b66fb)
Team and repository tags
os-net-config
host network configuration tool
An implementation of the 'network configuration' spec @ https://review.opendev.org/#/c/97859/. The intention is for this code to be moved under the tripleo project in due course.
- Free software: Apache License (2.0)
- Source: https://opendev.org/openstack/os-net-config
- Bugs: https://bugs.launchpad.net/os-net-config
Release Notes
Features
The core aim of this project is to allow fine grained (but extendable) configuration of the networking parameters for a network host. The project consists of:
- A CLI (os-net-config) which provides configuration via a YAML or JSON file formats. By default os-net-config uses a YAML config file located at /etc/os-net-config/config.yaml. This can be customized via the --config-file CLI option.
- A python library which provides configuration via an object model.
YAML Config Examples
Configure an OVS bridge with a single attached interface (port)
Configure an OVS bridge on top of an OVS bond
Configure a tagged VLAN interface on top of an OVS bridge
Provider Configuration
Providers are use to apply (implement) the desired configuration on the host system. By default 3 providers are implemented:
- Ifcfg: persistent network config format stored in /etc/sysconfig/network-scripts
- ENI: persistent network config format stored in /etc/network/interfaces
- iproute2: non-persistent provider which implements the config using iproute2, vconfig, etc... (implementation in progress)
When using bin/os-net-config the provider is automatically selected based on the host systems perferred persistent network type (ifcfg or ENI). This can be customized via the --provider CLI option.