Exemplo n.º 1
0
def delete(args):
    """Delete vm/container"""
    names = args.names
    container = args.container
    snapshots = args.snapshots
    yes = args.yes
    global config
    k = config.k
    if not yes:
        common.confirm("Are you sure?")
    if container:
        for name in names:
            common.pprint("Deleting container %s" % name, color='red')
            dockerutils.delete_container(k, name)
    else:
        codes = []
        for name in names:
            result = k.delete(name, snapshots=snapshots)
            if result['result'] == 'success':
                common.pprint("vm %s deleted" % name, color='red')
                codes.append(0)
            else:
                reason = result['reason']
                common.pprint("Could not delete vm %s because %s" %
                              (name, reason),
                              color='red')
                codes.append(1)
        os._exit(1 if 1 in codes else 0)
Exemplo n.º 2
0
def containeraction():
    """
    start/stop/delete container
    """
    config = Kconfig()
    k = config.k
    if 'name' in request.form:
        name = request.form['name']
        action = request.form['action']
        if action == 'start':
            result = dockerutils.start_container(k, name)
        elif action == 'stop':
            result = dockerutils.stop_container(k, name)
        elif action == 'delete':
            result = dockerutils.delete_container(k, name)
        else:
            result = "Nothing to do"
        print(result)
        response = jsonify(result)
        response.status_code = 200
        return response
    else:
        failure = {'result': 'failure', 'reason': "Invalid Data"}
        response.status_code = 400
        return jsonify(failure)
Exemplo n.º 3
0
def containeraction():
    """
    start/stop/delete container
    """
    from kvirt import dockerutils
    config = Kconfig()
    k = config.k
    if 'name' in request.form:
        name = request.form['name']
        action = request.form['action']
        if action == 'start':
            result = dockerutils.start_container(k, name)
        elif action == 'stop':
            result = dockerutils.stop_container(k, name)
        elif action == 'delete':
            result = dockerutils.delete_container(k, name)
        elif action == 'create' and 'profile' in request.form:
            profile = [
                prof for prof in config.list_containerprofiles()
                if prof[0] == request.form['profile']
            ][0]
            if name is None:
                name = nameutils.get_random_name()
            image, nets, ports, volumes, cmd = profile[1:]
            result = dockerutils.create_container(k,
                                                  name=name,
                                                  image=image,
                                                  nets=nets,
                                                  cmd=cmd,
                                                  ports=ports,
                                                  volumes=volumes)
            result = dockerutils.create_container(k, name, profile)
        else:
            result = "Nothing to do"
        print(result)
        response = jsonify(result)
        response.status_code = 200
        return response
    else:
        failure = {'result': 'failure', 'reason': "Invalid Data"}
        response.status_code = 400
        return jsonify(failure)