add support for creating volume and network with label definition
Signed-off-by: dbdd <wangtong2712@gmail.com>
This commit is contained in:
parent
9248298a4a
commit
bdcce13f4a
9 changed files with 211 additions and 5 deletions
|
|
@ -361,6 +361,9 @@ def load_mapping(config_files, get_func, entity_type):
|
|||
config['driver_opts']
|
||||
)
|
||||
|
||||
if 'labels' in config:
|
||||
config['labels'] = parse_labels(config['labels'])
|
||||
|
||||
return mapping
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,8 @@
|
|||
"name": {"type": "string"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"labels": {"$ref": "#/definitions/list_or_dict"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
|
@ -268,6 +269,7 @@
|
|||
"name": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"labels": {"$ref": "#/definitions/list_or_dict"},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"additionalProperties": false
|
||||
|
|
|
|||
|
|
@ -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, internal=False):
|
||||
ipam=None, external_name=None, internal=False, labels=None):
|
||||
self.client = client
|
||||
self.project = project
|
||||
self.name = name
|
||||
|
|
@ -24,6 +24,7 @@ class Network(object):
|
|||
self.ipam = create_ipam_config_from_dict(ipam)
|
||||
self.external_name = external_name
|
||||
self.internal = internal
|
||||
self.labels = labels
|
||||
|
||||
def ensure(self):
|
||||
if self.external_name:
|
||||
|
|
@ -70,6 +71,7 @@ class Network(object):
|
|||
options=self.driver_opts,
|
||||
ipam=self.ipam,
|
||||
internal=self.internal,
|
||||
labels=self.labels,
|
||||
)
|
||||
|
||||
def remove(self):
|
||||
|
|
@ -118,6 +120,7 @@ def build_networks(name, config_data, client):
|
|||
ipam=data.get('ipam'),
|
||||
external_name=data.get('external_name'),
|
||||
internal=data.get('internal'),
|
||||
labels=data.get('labels'),
|
||||
)
|
||||
for network_name, data in network_config.items()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,17 +12,18 @@ log = logging.getLogger(__name__)
|
|||
|
||||
class Volume(object):
|
||||
def __init__(self, client, project, name, driver=None, driver_opts=None,
|
||||
external_name=None):
|
||||
external_name=None, labels=None):
|
||||
self.client = client
|
||||
self.project = project
|
||||
self.name = name
|
||||
self.driver = driver
|
||||
self.driver_opts = driver_opts
|
||||
self.external_name = external_name
|
||||
self.labels = labels
|
||||
|
||||
def create(self):
|
||||
return self.client.create_volume(
|
||||
self.full_name, self.driver, self.driver_opts
|
||||
self.full_name, self.driver, self.driver_opts, labels=self.labels
|
||||
)
|
||||
|
||||
def remove(self):
|
||||
|
|
@ -68,7 +69,8 @@ class ProjectVolumes(object):
|
|||
name=vol_name,
|
||||
driver=data.get('driver'),
|
||||
driver_opts=data.get('driver_opts'),
|
||||
external_name=data.get('external_name')
|
||||
external_name=data.get('external_name'),
|
||||
labels=data.get('labels')
|
||||
)
|
||||
for vol_name, data in config_volumes.items()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue