Add support for creating internal networks

Signed-off-by: Jonathan Giannuzzi <jonathan@giannuzzi.be>
This commit is contained in:
Jonathan Giannuzzi 2016-07-11 11:34:01 +02:00
commit 83f35e132b
7 changed files with 77 additions and 3 deletions

View file

@ -246,7 +246,8 @@
"name": {"type": "string"}
},
"additionalProperties": false
}
},
"internal": {"type": "boolean"}
},
"additionalProperties": false
},

View file

@ -15,7 +15,7 @@ log = logging.getLogger(__name__)
class Network(object):
def __init__(self, client, project, name, driver=None, driver_opts=None,
ipam=None, external_name=None):
ipam=None, external_name=None, internal=False):
self.client = client
self.project = project
self.name = name
@ -23,6 +23,7 @@ class Network(object):
self.driver_opts = driver_opts
self.ipam = create_ipam_config_from_dict(ipam)
self.external_name = external_name
self.internal = internal
def ensure(self):
if self.external_name:
@ -68,6 +69,7 @@ class Network(object):
driver=self.driver,
options=self.driver_opts,
ipam=self.ipam,
internal=self.internal,
)
def remove(self):
@ -115,6 +117,7 @@ def build_networks(name, config_data, client):
driver_opts=data.get('driver_opts'),
ipam=data.get('ipam'),
external_name=data.get('external_name'),
internal=data.get('internal'),
)
for network_name, data in network_config.items()
}