mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
add networking_config to container_create for custom network_mode
This commit is contained in:
parent
5c99dbdf1a
commit
c6e553c2c7
2 changed files with 17 additions and 0 deletions
|
@ -846,6 +846,13 @@ def _get_create_kwargs(skip_translate=None,
|
|||
Take input kwargs and return a kwargs dict to pass to docker-py's
|
||||
create_container() function.
|
||||
'''
|
||||
|
||||
networks = kwargs.pop('networks', {})
|
||||
if kwargs.get('network_mode', '') in networks:
|
||||
networks = {kwargs['network_mode']: networks[kwargs['network_mode']]}
|
||||
else:
|
||||
networks = {}
|
||||
|
||||
kwargs = __utils__['docker.translate_input'](
|
||||
salt.utils.docker.translate.container,
|
||||
skip_translate=skip_translate,
|
||||
|
@ -853,6 +860,9 @@ def _get_create_kwargs(skip_translate=None,
|
|||
validate_ip_addrs=validate_ip_addrs,
|
||||
**__utils__['args.clean_kwargs'](**kwargs))
|
||||
|
||||
if networks:
|
||||
kwargs['networking_config'] = _create_networking_config(networks)
|
||||
|
||||
if client_args is None:
|
||||
try:
|
||||
client_args = get_client_args(['create_container', 'host_config'])
|
||||
|
@ -2388,6 +2398,11 @@ def version():
|
|||
return ret
|
||||
|
||||
|
||||
def _create_networking_config(networks):
|
||||
log.debug("creating networking config from {}".format(networks))
|
||||
return _client_wrapper('create_networking_config',
|
||||
{k: _client_wrapper('create_endpoint_config', **v) for k, v in networks.items()})
|
||||
|
||||
# Functions to manage containers
|
||||
@_refresh_mine_cache
|
||||
def create(image,
|
||||
|
|
|
@ -1673,6 +1673,8 @@ def running(name,
|
|||
|
||||
try:
|
||||
networks = _parse_networks(networks)
|
||||
if networks:
|
||||
kwargs['networks'] = networks
|
||||
image_id = _resolve_image(ret, image, client_timeout)
|
||||
except CommandExecutionError as exc:
|
||||
ret['result'] = False
|
||||
|
|
Loading…
Add table
Reference in a new issue