Пример #1
0
def start(options):
    dataset = options.dataset
    clientconfigset = options.clientconfigset
    standalone = clientconfigset is None
    if standalone:
        print("start " + dataset + " in background")
    else:
        print("start " + dataset + " " + clientconfigset)

    container = None
    started = False
    if dataset:
        cname = "{}:{}".format(settings.REPOSITORY, settings.populatedTag(dataset))
        started = dockerutils.findContainer(cname) == ""
        container = startContainer(cname, lambda: kolabpopulated.run.main(dataset, standalone))
    if clientconfigset == "pep":
        pep.run.main()
    elif clientconfigset == "kube":
        kube.run.main(container)
    elif clientconfigset == "release":
        release.run.main()
    elif not standalone:
        kontact.run.main(container, clientconfigset)
        if started:
            sh.docker.kill(container)
            sh.docker.rm(container)
Пример #2
0
def start(options):
    dataset = options.dataset
    clientconfigset = options.clientconfigset
    standalone = clientconfigset is None
    if standalone:
        print("start " + dataset + " in background")
    else:
        print("start " + dataset + " " + clientconfigset)

    container = None
    started = False
    if dataset:
        cname = "{}:{}".format(settings.REPOSITORY,
                               settings.populatedTag(dataset))
        started = dockerutils.findContainer(cname) == ""
        container = startContainer(
            cname, lambda: kolabpopulated.run.main(dataset, standalone))
    if clientconfigset == "pep":
        pep.run.main()
    elif clientconfigset == "kube":
        kube.run.main(container)
    elif clientconfigset == "release":
        release.run.main()
    elif clientconfigset == "kubestandalone":
        kubestandalone.run.main()
    elif not standalone:
        kontact.run.main(container, clientconfigset)
        if started:
            sh.docker.kill(container)
            sh.docker.rm(container)
Пример #3
0
def buildServer(options):
    if options.dataset is None:
        Exception("needs a dataset to build")


#    buildImage(settings.REPOSITORY, "base", False, lambda: kolab.build.main())
    buildImage(settings.REPOSITORY, settings.populatedTag(options.dataset),
               True, lambda: kolabpopulated.build.main(options.dataset))
Пример #4
0
def main(command, argv):
    if command == "build":
        target = argv[2]
        if target == "server":
            dataset = argv[3]
            baseimage = buildImage(settings.REPOSITORY, "base", False, lambda: kolab.build.main)
            populatedbuild = buildImage(settings.REPOSITORY, settings.populatedTag(dataset), False, lambda: kolabpopulated.build.main(dataset))
        if target == "client":
            buildImage("kontact", "john", False, lambda: kontact.build.main("john"))
    if command == "start":
        print("start")
        dataset = argv[2]
        clientconfigset = argv[3]
        container = startContainer("{}:{}".format(settings.REPOSITORY, settings.populatedTag(dataset)), lambda: kolabpopulated.run.main(dataset))
        kontact.run.main(container, clientconfigset)
        sh.docker.kill(container)
        sh.docker.rm(container)
Пример #5
0
def main(dataset, standalone=False):
    runargs = [
        "-d",
        "-h", settings.HOSTNAME,
        "-v", "/sys/fs/cgroup:/sys/fs/cgroup:ro",
    ]

    runargs += ports(standalone)
    runargs += [settings.kolabimagename(settings.populatedTag(dataset))]
    docker.run(*runargs)
Пример #6
0
def main(dataset, standalone=False):
    runargs = [
        "-d",
        "-h",
        settings.HOSTNAME,
        "-v",
        "/sys/fs/cgroup:/sys/fs/cgroup:ro",
    ]

    runargs += ports(standalone)
    runargs += [settings.kolabimagename(settings.populatedTag(dataset))]
    docker.run(*runargs)
Пример #7
0
def main(dataset):
    runargs = (
        "-d",
        "-p", "80:80",
        "-p", "143:143",
        "-p", "443:443",
        "-p", "587:587",
        "-p", "4190:4190",
        "-h", settings.HOSTNAME,
        "-v", "/sys/fs/cgroup:/sys/fs/cgroup:ro",
        settings.kolabimagename(settings.populatedTag(dataset))
    )
    docker.run(*runargs)
Пример #8
0
def build(options):
    if (options.target == "server" or options.target == "all") and options.dataset is None:
        Exception("needs a dataset to build")
    else:
        print("build " + options.target)
    if options.target == "server":
        print("build " + options.dataset + " " + options.target)
        buildImage(settings.REPOSITORY, "base", False, lambda: kolab.build.main())
        buildImage(settings.REPOSITORY, settings.populatedTag(options.dataset), True, lambda: kolabpopulated.build.main(options.dataset))
    if options.target == "client" or options.target == "all":
        # buildImage("kontact", "john", False, lambda: kontact.build.main("john"))
        kontact.build.main("john")
        kontact.build.main("jane")
    if options.target == "kdesrcbuild" or options.target == "all":
        kdesrcbuild.build.main()
Пример #9
0
def shell(options):
    print "shell " + options.dataset
    container = dockerutils.findContainer("{}:{}".format(
        settings.REPOSITORY, settings.populatedTag(options.dataset)))
    subprocess.call("docker exec -i -t {} bash".format(container), shell=True)
Пример #10
0
def shell(options):
    print "shell " + options.dataset
    container = dockerutils.findContainer("{}:{}".format(settings.REPOSITORY, settings.populatedTag(options.dataset)))
    subprocess.call("docker exec -i -t {} bash".format(container), shell=True)
Пример #11
0
def buildServer(options):
    if options.dataset is None:
        Exception("needs a dataset to build")
    buildImage(settings.REPOSITORY, "base", settings.rebuild(), lambda: kolab.build.main())
    buildImage(settings.REPOSITORY, settings.populatedTag(options.dataset), settings.rebuild(), lambda: kolabpopulated.build.main(options.dataset))