示例#1
0
def do_profile_show(cs, args):
    """Show details about a profile by architecture."""
    profile = _find_profile(cs, args.architecture, args.profile)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(profile, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#2
0
def do_role_show(cs, args):
    """Show details about a role."""
    role = _find_role(cs, args.zone, args.role)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(role, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#3
0
def do_profile_show(cs, args):
    """Show details about a profile by architecture."""
    profile = _find_profile(cs, args.architecture, args.profile)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(profile, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#4
0
def do_role_show(cs, args):
    """Show details about a role."""
    role = _find_role(cs, args.zone, args.role)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(role, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#5
0
def do_node_task_state(cs, args):
    """Show details about a task from a node in a zone."""
    zone = _find_zone(cs, args.zone)
    node = _find_node(cs, args.zone, args.node)
    task = _find_task(cs, args.zone, args.node, args.task)
    task = cs.tasks.state(zone, node, task)
    utils.print_dict(task._info)
示例#6
0
def do_device_replace(cs, args):
    """Replaces a node in a zone by a specific device in the pool."""
    kwargs = {'zone_id': args.zone_id}

    if args.lom_user_node_to_remove is not None:
        kwargs['lom_user_node_to_remove'] = args.lom_user_node_to_remove

    if args.lom_password_node_to_remove is not None:
        kwargs['lom_password_node_to_remove'] = args. \
            lom_password_node_to_remove

    if args.lom_user_node_to_add is not None:
        kwargs['lom_user_node_to_add'] = args.lom_user_node_to_add

    if args.lom_password_node_to_add is not None:
        kwargs['lom_password_node_to_add'] = args.lom_password_node_to_add

    kwargs['role_id'] = args.role_id
    kwargs['node_id'] = args.node_id

    device = _find_device(cs, args.mac)

    node = cs.devices.replace(device, **kwargs)

    del node['_links']
    del node['connection_data']

    utils.print_dict(node)
示例#7
0
def do_component_show(cs, args):
    """Show details about a component."""
    component = _find_component(cs, args.component)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(component, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#8
0
def do_device_replace(cs, args):
    """Replaces a node in a zone by a specific device in the pool."""
    kwargs = {'zone_id': args.zone_id}

    if args.lom_user_node_to_remove is not None:
        kwargs['lom_user_node_to_remove'] = args.lom_user_node_to_remove

    if args.lom_password_node_to_remove is not None:
        kwargs['lom_password_node_to_remove'] = args. \
            lom_password_node_to_remove

    if args.lom_user_node_to_add is not None:
        kwargs['lom_user_node_to_add'] = args.lom_user_node_to_add

    if args.lom_password_node_to_add is not None:
        kwargs['lom_password_node_to_add'] = args.lom_password_node_to_add

    kwargs['role_id'] = args.role_id
    kwargs['node_id'] = args.node_id

    device = _find_device(cs, args.mac)

    node = cs.devices.replace(device, **kwargs)

    del node['_links']
    del node['connection_data']

    utils.print_dict(node)
示例#9
0
def do_component_show(cs, args):
    """Show details about a component."""
    component = _find_component(cs, args.component)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(component, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#10
0
def do_node_show(cs, args):
    """Show details about a node in a zone."""
    node = _find_node(cs, args.zone, args.node)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(node, keys)
    final_dict = utils.check_json_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#11
0
def do_node_task_state(cs, args):
    """Show details about a task from a node in a zone."""
    zone = _find_zone(cs, args.zone)
    node = _find_node(cs, args.zone, args.node)
    task = _find_task(cs, args.zone, args.node, args.task)
    task = cs.tasks.state(zone, node, task)
    utils.print_dict(task._info)
示例#12
0
def do_node_show(cs, args):
    """Show details about a node in a zone."""
    node = _find_node(cs, args.zone, args.node)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(node, keys)
    final_dict = utils.check_json_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#13
0
def do_device_show(cs, args):
    """Show details about a device."""
    device = _find_device(cs, args.mac)
    keys = ['_links', 'hardware_profile']
    final_dict = utils.remove_values_from_manager_dict(device, keys)
    final_dict = utils.check_json_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#14
0
def do_device_show(cs, args):
    """Show details about a device."""
    device = _find_device(cs, args.mac)
    keys = ['_links', 'hardware_profile']
    final_dict = utils.remove_values_from_manager_dict(device, keys)
    final_dict = utils.check_json_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#15
0
def do_node_task_cancel(cs, args):
    """Cancel a task from a node in a zone."""
    zone = _find_zone(cs, args.zone)
    node = _find_node(cs, args.zone, args.node)
    task = _find_task(cs, args.zone, args.node, args.task)
    task = cs.tasks.cancel(zone, node, task)
    dict = task[1]['task']
    utils.print_dict(dict)
示例#16
0
def do_node_task_cancel(cs, args):
    """Cancel a task from a node in a zone."""
    zone = _find_zone(cs, args.zone)
    node = _find_node(cs, args.zone, args.node)
    task = _find_task(cs, args.zone, args.node, args.task)
    task = cs.tasks.cancel(zone, node, task)
    dict = task[1]['task']
    utils.print_dict(dict)
示例#17
0
def do_global_property_delete(cs, args):
    """Delete a property.
    :param cs:
    :param args:
    """
    property_key = args.property_key
    property = cs.properties.delete(property_key)
    property = property['properties']
    utils.print_dict(property)
示例#18
0
def do_zone_property_delete(cs, args):
    """Delete a zone property."""
    zone = _find_zone(cs, args.zone)
    property_key = args.property_key
    zone = cs.zones.property_delete(zone, property_key)
    zone = zone['zone']
    del zone['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(zone)
    utils.print_dict(final_dict)
示例#19
0
def do_global_property_delete(cs, args):
    """Delete a property.
    :param cs:
    :param args:
    """
    property_key = args.property_key
    property = cs.properties.delete(property_key)
    property = property['properties']
    utils.print_dict(property)
示例#20
0
def do_zone_property_delete(cs, args):
    """Delete a zone property."""
    zone = _find_zone(cs, args.zone)
    property_key = args.property_key
    zone = cs.zones.property_delete(zone, property_key)
    zone = zone['zone']
    del zone['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(zone)
    utils.print_dict(final_dict)
示例#21
0
def do_global_property_update(cs, args):
    """Updates a property.
    :param cs:
    :param args:
    """
    property_key = args.property_key
    property_value = args.property_value
    property = cs.properties.update(property_key, property_value)
    property = property['properties']
    utils.print_dict(property)
示例#22
0
def do_global_property_update(cs, args):
    """Updates a property.
    :param cs:
    :param args:
    """
    property_key = args.property_key
    property_value = args.property_value
    property = cs.properties.update(property_key, property_value)
    property = property['properties']
    utils.print_dict(property)
示例#23
0
def do_global_property_create(cs, args):
    """Add a new property.
    :param cs:
    :param args:
    """
    property_key = args.property_key
    property_value = args.property_value
    property = cs.properties.create(property_key, property_value)
    property = property['properties']
    utils.print_dict(property)
示例#24
0
def do_global_property_create(cs, args):
    """Add a new property.
    :param cs:
    :param args:
    """
    property_key = args.property_key
    property_value = args.property_value
    property = cs.properties.create(property_key, property_value)
    property = property['properties']
    utils.print_dict(property)
示例#25
0
def do_profile_property_delete(cs, args):
    """Delete a profile property by architecture."""
    architecture = _find_architecture(cs, args.architecture)
    profile = _find_profile(cs, args.architecture, args.profile)
    property_key = args.property_key
    profile = cs.profiles.property_delete(architecture, profile, property_key)
    profile = profile['profile']
    del profile['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(profile)
    utils.print_dict(final_dict)
示例#26
0
def do_profile_property_delete(cs, args):
    """Delete a profile property by architecture."""
    architecture = _find_architecture(cs, args.architecture)
    profile = _find_profile(cs, args.architecture, args.profile)
    property_key = args.property_key
    profile = cs.profiles.property_delete(architecture, profile, property_key)
    profile = profile['profile']
    del profile['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(profile)
    utils.print_dict(final_dict)
示例#27
0
def do_role_component_show(cs, args):
    """Show details about a component by zone and role."""
    zone = _find_zone(cs, args.zone)
    role = _find_role(cs, args.zone, args.role)
    component = args.component
    component_zone_role = cs.components.get_zone_role(zone, role, component)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(component_zone_role,
                                                       keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#28
0
def do_profile_update(cs, args):
    """Update a profile by architecture."""
    _validate_extension_file(args.profile_file, 'json')
    architecture = _find_architecture(cs, args.architecture)
    profile = _find_profile(cs, args.architecture, args.profile)
    final_profile_file = _validate_json_format_file(args.profile_file)
    profile = cs.profiles.update(architecture, profile, final_profile_file)
    profile = profile['profile']
    del profile['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(profile)
    utils.print_dict(final_dict)
示例#29
0
def do_datastore_update(cs, args):
    """Update parameters of a specific datastore."""
    parameters = ''.join(args.parameters)
    parameters = parameters.replace(',', ' ')
    datastore = _find_datastore(cs, args.datastore)

    options = {'parameters': parameters}
    datastore = cs.datastores.update(datastore, **options)
    datastore = datastore['datastore']
    del datastore['actions'],
    utils.print_dict(datastore)
示例#30
0
def do_role_component_show(cs, args):
    """Show details about a component by zone and role."""
    zone = _find_zone(cs, args.zone)
    role = _find_role(cs, args.zone, args.role)
    component = args.component
    component_zone_role = cs.components.get_zone_role(zone, role, component)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(component_zone_role,
                                                       keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#31
0
def do_profile_update(cs, args):
    """Update a profile by architecture."""
    _validate_extension_file(args.profile_file, 'json')
    architecture = _find_architecture(cs, args.architecture)
    profile = _find_profile(cs, args.architecture, args.profile)
    final_profile_file = _validate_json_format_file(args.profile_file)
    profile = cs.profiles.update(architecture, profile, final_profile_file)
    profile = profile['profile']
    del profile['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(profile)
    utils.print_dict(final_dict)
示例#32
0
def do_service_execute(cs, args):
    """Execute a service by zone, role and component."""
    zone = _find_zone(cs, args.zone)
    role = _find_role(cs, args.zone, args.role)
    component = _find_component(cs, args.component)
    service = _find_service(cs, args.zone, args.role, args.component,
                            args.service)
    node = _find_node(cs, args.zone, args.node)
    task = cs.tasks.execute_service(zone, role, component, service, node)
    final_dict = utils.remove_values_from_manager_dict(task, [])
    final_dict = utils.check_json_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#33
0
def do_datastore_validate(cs, args):
    """Validate a discovered NFS endpoint or just a GLUSTER endpoint."""
    options = {
        'endpoint': args.endpoint,
        'store': args.datastore,
        'identifier': args.identifier,
        'storage_type': args.storage_type
    }
    datastore = cs.datastores.validate(**options)
    dict = datastore[1]['datastore']
    final_dict = utils.check_json_pretty_value_for_dict(dict)
    utils.print_dict(final_dict)
示例#34
0
def do_role_component_update(cs, args):
    """Update a component by zone and role ."""
    _validate_extension_file(args.component_file, 'json')
    zone = _find_zone(cs, args.zone)
    role = _find_role(cs, args.zone, args.role)
    component = args.component
    file = _validate_json_format_file(args.component_file)
    component = cs.components.update_zone_role(zone, role, component, file)
    component = component['component']
    del component['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(component)
    utils.print_dict(final_dict)
示例#35
0
def do_service_execute(cs, args):
    """Execute a service by zone, role and component."""
    zone = _find_zone(cs, args.zone)
    role = _find_role(cs, args.zone, args.role)
    component = _find_component(cs, args.component)
    service = _find_service(cs, args.zone, args.role, args.component,
                            args.service)
    node = _find_node(cs, args.zone, args.node)
    task = cs.tasks.execute_service(zone, role, component, service, node)
    final_dict = utils.remove_values_from_manager_dict(task, [])
    final_dict = utils.check_json_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#36
0
def do_role_component_update(cs, args):
    """Update a component by zone and role ."""
    _validate_extension_file(args.component_file, 'json')
    zone = _find_zone(cs, args.zone)
    role = _find_role(cs, args.zone, args.role)
    component = args.component
    file = _validate_json_format_file(args.component_file)
    component = cs.components.update_zone_role(zone, role, component, file)
    component = component['component']
    del component['_links'],
    final_dict = utils.check_json_pretty_value_for_dict(component)
    utils.print_dict(final_dict)
示例#37
0
def do_datastore_validate(cs, args):
    """Validate a discovered NFS endpoint or just a GLUSTER endpoint."""
    options = {
        'endpoint': args.endpoint,
        'store': args.datastore,
        'identifier': args.identifier,
        'storage_type': args.storage_type
    }
    datastore = cs.datastores.validate(**options)
    dict = datastore[1]['datastore']
    final_dict = utils.check_json_pretty_value_for_dict(dict)
    utils.print_dict(final_dict)
示例#38
0
def do_profile_create(cs, args):
    """Add a new profile by architecture."""
    _validate_extension_file(args.profile, 'json')
    architecture = _find_architecture(cs, args.architecture)
    data = _validate_json_format_file(args.profile)
    data['profile']['name'] = args.name

    profile = cs.profiles.create(architecture, data)

    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(profile, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#39
0
def do_datastore_update(cs, args):
    """Update parameters of a specific datastore."""
    parameters = ''.join(args.parameters)
    parameters = parameters.replace(',', ' ')
    datastore = _find_datastore(cs, args.datastore)

    options = {
        'parameters': parameters
    }
    datastore = cs.datastores.update(datastore, **options)
    datastore = datastore['datastore']
    del datastore['actions'],
    utils.print_dict(datastore)
示例#40
0
def do_profile_create(cs, args):
    """Add a new profile by architecture."""
    _validate_extension_file(args.profile, 'json')
    architecture = _find_architecture(cs, args.architecture)
    data = _validate_json_format_file(args.profile)
    data['profile']['name'] = args.name

    profile = cs.profiles.create(architecture, data)

    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(profile, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#41
0
def do_datastore_detach(cs, args):
    """Detach a specific datastore from a zone."""
    datastore = _find_datastore(cs, args.datastore)
    if datastore.id_nova_zone is None:
        print('\nError: datastore/store/volume wihtout any zone attached. '
              'Please verify attached datastores and/or stores')
        raise SystemExit
    datastore = _find_datastore(cs, args.datastore)
    options = {'force': args.force}
    datastore = cs.datastores.detach(datastore, **options)
    datastore = datastore['datastore']
    del datastore['actions'],
    utils.print_dict(datastore)
示例#42
0
def do_datastore_attach(cs, args):
    """Attach a specific datastore to a zone."""
    if args.secure:
        secure = 'secure'
    else:
        secure = ''
    zone = _find_zone(cs, args.zone)
    datastore = _find_datastore(cs, args.datastore)
    options = {'id_zone': zone.id, 'resource': args.resource, 'secure': secure}
    datastore = cs.datastores.attach(datastore, **options)
    datastore = datastore['datastore']
    del datastore['actions'],
    utils.print_dict(datastore)
示例#43
0
def do_architecture_create(cs, args):
    """Add a new architecture.
    :param cs:
    :param args:
    """
    _validate_extension_file(args.architecture, 'arc')

    with open(args.architecture) as f:
        architecture = cs.architectures.create(json.load(f))

    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(architecture, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#44
0
def do_architecture_create(cs, args):
    """Add a new architecture.
    :param cs:
    :param args:
    """
    _validate_extension_file(args.architecture, 'arc')

    with open(args.architecture) as f:
        architecture = cs.architectures.create(json.load(f))

    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(architecture, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#45
0
def do_datastore_detach(cs, args):
    """Detach a specific datastore from a zone."""
    datastore = _find_datastore(cs, args.datastore)
    if datastore.id_nova_zone is None:
        print('\nError: datastore/store/volume wihtout any zone attached. '
              'Please verify attached datastores and/or stores')
        raise SystemExit
    datastore = _find_datastore(cs, args.datastore)
    options = {
        'force': args.force
    }
    datastore = cs.datastores.detach(datastore, **options)
    datastore = datastore['datastore']
    del datastore['actions'],
    utils.print_dict(datastore)
示例#46
0
def do_zone_create(cs, args):
    """Add a new zone by architecture according to a JSON profile."""
    _validate_extension_file(args.zone, 'json')
    architecture = _find_architecture(cs, args.architecture)
    file = _validate_json_format_file(args.zone)
    base_profile = file['profile']
    for key, value in base_profile.items():
        if key == 'name':
            base_profile.update({key: args.name})
    zone = {'zone': ''}
    zone.update({'zone': base_profile})
    zone = cs.zones.create(architecture, zone)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(zone, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#47
0
def do_zone_create(cs, args):
    """Add a new zone by architecture according to a JSON profile."""
    _validate_extension_file(args.zone, 'json')
    architecture = _find_architecture(cs, args.architecture)
    file = _validate_json_format_file(args.zone)
    base_profile = file['profile']
    for key, value in base_profile.items():
        if key == 'name':
            base_profile.update({key: args.name})
    zone = {'zone': ''}
    zone.update({'zone': base_profile})
    zone = cs.zones.create(architecture, zone)
    keys = ['_links']
    final_dict = utils.remove_values_from_manager_dict(zone, keys)
    final_dict = utils.check_json_pretty_value_for_dict(final_dict)
    utils.print_dict(final_dict)
示例#48
0
def do_datastore_attach(cs, args):
    """Attach a specific datastore to a zone."""
    if args.secure:
        secure = 'secure'
    else:
        secure = ''
    zone = _find_zone(cs, args.zone)
    datastore = _find_datastore(cs, args.datastore)
    options = {
        'id_zone': zone.id,
        'resource': args.resource,
        'secure': secure
    }
    datastore = cs.datastores.attach(datastore, **options)
    datastore = datastore['datastore']
    del datastore['actions'],
    utils.print_dict(datastore)
示例#49
0
def do_device_activate(cs, args):
    """Activate a specific device in the pool."""
    kwargs = {'zone_id': args.zone_id}

    if args.lom_user is not None:
        kwargs['lom_user'] = args.lom_user

    if args.lom_password is not None:
        kwargs['lom_password'] = args.lom_password

    device = _find_device(cs, args.mac)

    node = cs.devices.activate(device, **kwargs)

    del node['_links']
    del node['connection_data']

    utils.print_dict(node)
示例#50
0
def do_device_update(cs, args):
    """Update a device."""

    options = {
        'lom_ip': args.lom_ip,
        'lom_mac': args.lom_mac,
        'management_network_ip': args.management_network_ip,
        'management_network_netmask': args.management_network_netmask,
        'management_network_gateway': args.management_network_gateway,
        'management_network_dns': args.management_network_dns
    }

    device = _find_device(cs, args.mac)
    device = cs.devices.update(device, **options)
    device = device['device']
    del device['_links'],
    final_dict = utils.check_json_value_for_dict(device)
    utils.print_dict(final_dict)
示例#51
0
def do_device_activate(cs, args):
    """Activate a specific device in the pool."""
    kwargs = {'zone_id': args.zone_id}

    if args.lom_user is not None:
        kwargs['lom_user'] = args.lom_user

    if args.lom_password is not None:
        kwargs['lom_password'] = args.lom_password

    device = _find_device(cs, args.mac)

    node = cs.devices.activate(device, **kwargs)

    del node['_links']
    del node['connection_data']

    utils.print_dict(node)
示例#52
0
def do_device_update(cs, args):
    """Update a device."""

    options = {
        'lom_ip': args.lom_ip,
        'lom_mac': args.lom_mac,
        'management_network_ip': args.management_network_ip,
        'management_network_netmask': args.management_network_netmask,
        'management_network_gateway': args.management_network_gateway,
        'management_network_dns': args.management_network_dns
    }

    device = _find_device(cs, args.mac)
    device = cs.devices.update(device, **options)
    device = device['device']
    del device['_links'],
    final_dict = utils.check_json_value_for_dict(device)
    utils.print_dict(final_dict)
示例#53
0
def do_datastore_add(cs, args):
    """Validate and add to the pool a NFS endpoint or GLUSTER endpoint."""
    if args.parameters is None:
        parameters = ''
    else:
        parameters = ''.join(args.parameters)
        parameters = parameters.replace(',', ' ')

    options = {
        'endpoint': args.endpoint,
        'store': args.datastore,
        'identifier': args.identifier,
        'storage_type': args.storage_type,
        'persist': True,
        'parameters': parameters
    }
    datastore = cs.datastores.prepare(**options)
    dict = datastore[1]['datastore']
    final_dict = utils.check_json_pretty_value_for_dict(dict)
    utils.print_dict(final_dict)
示例#54
0
def do_datastore_add(cs, args):
    """Validate and add to the pool a NFS endpoint or GLUSTER endpoint."""
    if args.parameters is None:
        parameters = ''
    else:
        parameters = ''.join(args.parameters)
        parameters = parameters.replace(',', ' ')

    options = {
        'endpoint': args.endpoint,
        'store': args.datastore,
        'identifier': args.identifier,
        'storage_type': args.storage_type,
        'persist': True,
        'parameters': parameters
    }
    datastore = cs.datastores.prepare(**options)
    dict = datastore[1]['datastore']
    final_dict = utils.check_json_pretty_value_for_dict(dict)
    utils.print_dict(final_dict)
示例#55
0
def do_node_deactivate(cs, args):
    """Deactivates a zone node. Moves an activated node from the zone
    to the pool.

    """
    options = {}

    options['action'] = 'nothing' if args.action is None else args.action

    if args.lom_user is not None:
        options['lom_user'] = args.lom_user

    if args.lom_password is not None:
        options['lom_password'] = args.lom_password

    zone = _find_zone(cs, args.zone)
    node = _find_node(cs, args.zone, args.node)

    device = cs.nodes.deactivate(zone, node, options)

    del device['_links']
    del device['connection_data']

    utils.print_dict(device)
示例#56
0
def do_node_deactivate(cs, args):
    """Deactivates a zone node. Moves an activated node from the zone
    to the pool.

    """
    options = {}

    options['action'] = 'nothing' if args.action is None else args.action

    if args.lom_user is not None:
        options['lom_user'] = args.lom_user

    if args.lom_password is not None:
        options['lom_password'] = args.lom_password

    zone = _find_zone(cs, args.zone)
    node = _find_node(cs, args.zone, args.node)

    device = cs.nodes.deactivate(zone, node, options)

    del device['_links']
    del device['connection_data']

    utils.print_dict(device)
示例#57
0
def do_endpoints(cs, args):
    """Discover endpoints that get returned from the authenticate services."""
    catalog = cs.client.service_catalog.catalog
    for e in catalog['access']['serviceCatalog']:
        utils.print_dict(e['endpoints'][0], e['name'])
示例#58
0
def do_global_property_list(cs, args):
    """List all the properties that are available on automation."""
    properties = cs.properties.list()
    utils.print_dict(properties)
示例#59
0
def do_global_property_list(cs, args):
    """List all the properties that are available on automation."""
    properties = cs.properties.list()
    utils.print_dict(properties)
示例#60
0
def do_endpoints(cs, args):
    """Discover endpoints that get returned from the authenticate services."""
    catalog = cs.client.service_catalog.catalog
    for e in catalog['access']['serviceCatalog']:
        utils.print_dict(e['endpoints'][0], e['name'])