diff options
author | Dan Prince <dprince@redhat.com> | 2014-08-26 13:40:18 -0400 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2014-08-26 13:42:51 -0400 |
commit | cfda711898a35b06e870e54b93bf37bad1a24746 (patch) | |
tree | 03a8860614949e4bf23ee4308e2cc6999ef0baee | |
parent | 82bfaf3f7b4c7bb000da70b0a6e9cd847eca4a4d (diff) |
README.rst updates per yaml config changes
-rw-r--r-- | README.rst | 122 |
1 files changed, 55 insertions, 67 deletions
@@ -20,88 +20,76 @@ 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 python library which provides configuration via an object model. - - * A CLI (os-net-config) which provides configuration via a JSON file format. - By default os-net-config uses a JSON config file located at - /etc/os-net-config/config.json. This can be customized via the + * 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. -JSON Config Examples + * A python library which provides configuration via an object model. + +YAML Config Examples -------------------- * Configure an OVS bridge with a single attached interface (port) -.. code-block:: json - - { "network_config": [ - { - "type": "ovs_bridge", - "name": "br-ctlplane", - "use_dhcp": "true", - "members": [ - { - "type": "interface", - "name": "em1" - } - ] - } - ] - } +.. code-block:: yaml + + network_config: + - + type: ovs_bridge + name: br-ctlplane + use_dhcp: true + ovs_extra: + - br-set-external-id br-ctlplane bridge-id br-ctlplane + members: + - + type: interface + name: em1 .. * Configure an OVS bridge on top of an OVS bond -.. code-block:: json - - { "network_config": [ - { - "type": "ovs_bridge", - "name": "br-ctlplane", - "use_dhcp": "true", - "members": [ - { - "type": "ovs_bond", - "name": "bond1", - "use_dhcp": "true", - "members": [ - { "type": "interface", "name": "em1" }, - { "type": "interface", "name": "em2" } - ] - } - ] - } - ] - } +.. code-block:: yaml + + network_config: + - + type: ovs_bridge + name: br-ctlplane + use_dhcp: true + members: + - + type: ovs_bond + name: bond1 + members: + - + type: interface + name: em1 + - + type: interface + name: em2 .. * Configure a tagged VLAN interface on top of an OVS bridge -.. code-block:: json - - { "network_config": [ - { - "type": "ovs_bridge", - "name": "br-ctlplane", - "members": [ - { - "type": "vlan", - "device": "em1", - "vlan_id": "16", - "addresses": [{ - "ip_netmask": "192.0.2.1/24" - }], - "routes": [{ - "next_hop": "192.0.2.1", - "ip_netmask": "192.0.2.1/24" - }] - } - ] - } - ] - } +.. code-block:: yaml + + network_config: + - + type: ovs_bridge + name: br-ctlplane + use_dhcp: true + members: + - + type: interface + name: em1 + - + type: vlan + vlan_id: 16 + addresses: + - + ip_netmask: 192.0.2.1/24 .. @@ -116,7 +104,7 @@ host system. By default 3 providers are implemented: * ENI: persistent network config format stored in /etc/network/interfaces * iproute2: non-persistent provider which implements the config using - iproute2, vconfig, etc... + 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 |