Beispiel #1
0
def images(gandi, label, datacenter):
    """List available system images for virtual machines.

    You can also filter results using label, by example:

    $ gandi vm images Ubuntu --datacenter LU

    or

    $ gandi vm images 'Ubuntu 10.04' --datacenter LU

    """
    output_keys = ['label', 'os_arch', 'kernel_version', 'disk_id',
                   'dc', 'name']

    datacenters = gandi.datacenter.list()
    result = gandi.image.list(datacenter, label)
    for num, image in enumerate(result):
        if num:
            gandi.separator_line()
        output_image(gandi, image, datacenters, output_keys)

    # also display usable disks
    result = gandi.disk.list_create(datacenter, label)
    for disk in result:
        gandi.separator_line()
        output_image(gandi, disk, datacenters, output_keys)

    return result
Beispiel #2
0
def images(gandi, label, datacenter):
    """List available system images for virtual machines.

    You can also filter results using label, by example:

    $ gandi vm images Ubuntu --datacenter LU

    or

    $ gandi vm images 'Ubuntu 10.04' --datacenter LU

    """
    output_keys = [
        'label', 'os_arch', 'kernel_version', 'disk_id', 'dc', 'name'
    ]

    datacenters = gandi.datacenter.list()
    result = gandi.image.list(datacenter, label)
    for num, image in enumerate(result):
        if num:
            gandi.separator_line()
        output_image(gandi, image, datacenters, output_keys)

    # also display usable disks
    result = gandi.disk.list_create(datacenter, label)
    for disk in result:
        gandi.separator_line()
        output_image(gandi, disk, datacenters, output_keys)

    return result
Beispiel #3
0
def info(gandi, resource, stat):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = [
        'hostname', 'state', 'cores', 'memory', 'console', 'datacenter', 'ip'
    ]
    justify = 14
    if stat is True:
        sampler = {'unit': 'hours', 'value': 1, 'function': 'max'}
        time_range = 3600 * 24
        query_vif = 'vif.bytes.all'
        query_vbd = 'vbd.bytes.all'

    resource = sorted(tuple(set(resource)))
    datacenters = gandi.datacenter.list()
    ret = []
    for num, item in enumerate(resource):
        if num:
            gandi.separator_line()
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, justify)
        ret.append(vm)
        for num, disk in enumerate(vm['disks']):
            gandi.echo('')
            disk_out_keys = ['label', 'kernel_version', 'name', 'size']
            output_image(gandi,
                         disk,
                         datacenters,
                         disk_out_keys,
                         justify,
                         warn_deprecated=False)
        if stat is True:
            metrics_vif = gandi.metric.query(vm['id'], time_range, query_vif,
                                             'vm', sampler)
            metrics_vbd = gandi.metric.query(vm['id'], time_range, query_vbd,
                                             'vm', sampler)
            gandi.echo('')
            gandi.echo('vm network stats')
            output_metric(gandi, metrics_vif, 'direction', justify)
            gandi.echo('disk network stats')
            output_metric(gandi, metrics_vbd, 'direction', justify)

    return ret
Beispiel #4
0
def info(gandi, resource):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = ['hostname', 'state', 'cores', 'memory', 'console',
                   'datacenter', 'ip']

    datacenters = gandi.datacenter.list()
    ret = []
    for item in resource:
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, 14)
        ret.append(vm)
        for disk in vm['disks']:
            disk_out_keys = ['label', 'kernel_version', 'name', 'size']
            output_image(gandi, disk, datacenters, disk_out_keys, 14)

    return ret
Beispiel #5
0
def info(gandi, resource):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = [
        'hostname', 'state', 'cores', 'memory', 'console', 'datacenter', 'ip'
    ]

    datacenters = gandi.datacenter.list()
    ret = []
    for item in resource:
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, 14)
        ret.append(vm)
        for disk in vm['disks']:
            disk_out_keys = ['label', 'kernel_version', 'name', 'size']
            output_image(gandi, disk, datacenters, disk_out_keys, 14)

    return ret
Beispiel #6
0
def info(gandi, resource, stat):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = ['hostname', 'state', 'cores', 'memory', 'console',
                   'datacenter', 'ip']
    justify = 14
    if stat is True:
        sampler = {'unit': 'hours', 'value': 1, 'function': 'max'}
        time_range = 3600 * 24
        query_vif = 'vif.bytes.all'
        query_vbd = 'vbd.bytes.all'

    resource = sorted(tuple(set(resource)))
    datacenters = gandi.datacenter.list()
    ret = []
    for num, item in enumerate(resource):
        if num:
            gandi.separator_line()
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, justify)
        ret.append(vm)
        for disk in vm['disks']:
            gandi.echo('')
            disk_out_keys = ['label', 'kernel_version', 'name', 'size']
            output_image(gandi, disk, datacenters, disk_out_keys, justify,
                         warn_deprecated=False)
        if stat is True:
            metrics_vif = gandi.metric.query(vm['id'], time_range, query_vif,
                                             'vm', sampler)
            metrics_vbd = gandi.metric.query(vm['id'], time_range, query_vbd,
                                             'vm', sampler)
            gandi.echo('')
            gandi.echo('vm network stats')
            output_metric(gandi, metrics_vif, 'direction', justify)
            gandi.echo('disk network stats')
            output_metric(gandi, metrics_vbd, 'direction', justify)

    return ret
Beispiel #7
0
def info(gandi, resource):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = ["hostname", "state", "cores", "memory", "console", "datacenter", "ip"]

    resource = tuple(set(resource))
    datacenters = gandi.datacenter.list()
    ret = []
    for num, item in enumerate(resource):
        if num:
            gandi.separator_line()
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, 14)
        ret.append(vm)
        for num, disk in enumerate(vm["disks"]):
            gandi.echo("")
            disk_out_keys = ["label", "kernel_version", "name", "size"]
            output_image(gandi, disk, datacenters, disk_out_keys, 14)

    return ret
Beispiel #8
0
def info(gandi, resource):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = ['hostname', 'state', 'cores', 'memory', 'console',
                   'datacenter', 'ip']

    resource = tuple(set(resource))
    datacenters = gandi.datacenter.list()
    ret = []
    for num, item in enumerate(resource):
        if num:
            gandi.separator_line()
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, 14)
        ret.append(vm)
        for num, disk in enumerate(vm['disks']):
            gandi.echo('')
            disk_out_keys = ['label', 'kernel_version', 'name', 'size']
            output_image(gandi, disk, datacenters, disk_out_keys, 14)

    return ret
Beispiel #9
0
def info(gandi, resource):
    """Display information about a virtual machine.

    Resource can be a Hostname or an ID
    """
    output_keys = [
        'hostname', 'state', 'cores', 'memory', 'console', 'datacenter', 'ip'
    ]

    resource = tuple(set(resource))
    datacenters = gandi.datacenter.list()
    ret = []
    for num, item in enumerate(resource):
        if num:
            gandi.separator_line()
        vm = gandi.iaas.info(item)
        output_vm(gandi, vm, datacenters, output_keys, 14)
        ret.append(vm)
        for num, disk in enumerate(vm['disks']):
            gandi.echo('')
            disk_out_keys = ['label', 'kernel_version', 'name', 'size']
            output_image(gandi, disk, datacenters, disk_out_keys, 14)

    return ret