subcommand "net-up"

This commit is contained in:
Jörn-Michael Miehe 2020-08-17 12:08:42 +02:00
parent 20f6131cfc
commit fe094fbecb
2 changed files with 48 additions and 0 deletions

View file

@ -2,6 +2,7 @@
from .cmd import CmdCommand
from .init import InitCommand
from .logs import LogsCommand
from .net_up import NetUpCommand
from .sh import ShCommand
from .show import ShowCommand
@ -9,6 +10,7 @@ __all__ = [
'CmdCommand',
'InitCommand',
'LogsCommand',
'NetUpCommand',
'ShCommand',
'ShowCommand',
]

View file

@ -0,0 +1,46 @@
# system
import logging
import subprocess
# local
from ._subcommand import SubCommand
from .utils.dockercommand import DockerCommand
class NetUpCommand(SubCommand):
"""kiwi net-up"""
def __init__(self):
super().__init__(
'net-up',
description="Create the local network hub for this instance"
)
def run(self, runner, config, args):
ps = DockerCommand('docker').run(
config, args, ['network', 'ls', '--filter', f"name={config['network:name']}", '--format', '{{.Name}}'],
stdout=subprocess.PIPE
)
net_found = str(ps.stdout, 'utf-8').strip()
if net_found == config['network:name']:
logging.info(f"Network '{config['network:name']}' already exists")
return
try:
DockerCommand('docker').run(
config, args,
[
'network', 'create',
'--driver', 'bridge',
'--internal',
'--subnet', config['network:cidr'],
config['network:name']
],
check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL
)
logging.info(f"Network '{config['network:name']}' created")
except subprocess.CalledProcessError:
logging.error(f"Error creating network '{config['network:name']}'")