def main(instances, docker_bridge, docker_container, fixture_root, fixture_name):
try:
addrs = netifaces.ifaddresses(docker_bridge)
except ValueError:
click.secho('It appears {0} is not a valid newtork interface on this system.'.format(
docker_bridge), fg='red')
sys.exit(1)
try:
docker_bridge_addr = IPAddress(addrs[netifaces.AF_INET][0]['addr'])
except IndexError:
click.secho('It appears {0} does not have an address at this time.'.format(docker_bridge), fg='red')
sys.exit(1)
network = list(IPRange(docker_bridge_addr + 1,
docker_bridge_addr + 1 + instances - 1))
if os.path.exists(os.path.join(fixture_root, fixture_name)):
click.secho('[ERROR] ', fg='red', nl=False)
click.secho('A fixture named {0} already exists.'.format(fixture_name))
sys.exit(1)
fixture_ctx = FixtureContext(fixture_root, fixture_name)
for instance in range(0, len(network)):
# TODO(sholsapp): We might want to specify different containers for
# different instances one day.
instance_ctx = InstanceContext(
fixture_ctx.fixture_root, instance, network, docker_container)
click.secho('Creating instance {0} at {1}... '.format(
instance_ctx.instance, instance_ctx.node_root), nl=False)
fixture_ctx.instances.append(instance_ctx)
click.secho('[GOOD]', fg='green')
fixture_ctx.render()
评论列表
文章目录