Esempio n. 1
0
def cmd_deactivate(ns, caption, device_name):
    setting = get_setting_by_caption(ns, caption)
    if setting is None:
        raise errors.LmiFailed("No such setting: %s" % caption)
    if device_name:
        device = get_device_by_name(ns, device_name)
        if device is None:
            raise errors.LmiFailed("No such device: %s" % device_name)
    else:
        device = None
    return deactivate(ns, setting, device)
Esempio n. 2
0
def cmd_set_autoconnect(ns, caption, device_name, enable):
    setting = get_setting_by_caption(ns, caption)
    if setting is None:
        raise errors.LmiFailed("No such setting: %s" % caption)

    device = None
    if device_name is not None:
        device = get_device_by_name(ns, device_name)
        if device is None:
            raise errors.LmiFailed("No such device: %s" % device_name)

    return set_autoconnect(ns, setting, device, enable)
Esempio n. 3
0
    def execute(self, ns, caption, device_name):
        setting = get_setting_by_caption(ns, caption)
        if setting is None:
            raise errors.LmiFailed("No such setting: %s" % caption)

        device = None
        if device_name is not None:
            device = get_device_by_name(ns, device_name)
            if device is None:
                raise errors.LmiFailed("No such device: %s" % device_name)

        if get_autoconnect(ns, setting, device):
            yield ("Setting %s is automatically activated" % caption,)
        else:
            yield ("Setting %s is not automatically activated" % caption,)
Esempio n. 4
0
    def execute(self, ns, package, _repoid=None, _installed=False):
        def _render_installed(package):
            result = "No"
            if software.get_backend(ns) == software.BACKEND_YUM and \
                    package.InstallDate is not None:
                result = package.InstallDate.datetime.strftime(
                    '%a %b %d/%Y  %H:%M')
            elif software.get_backend(ns) == software.BACKEND_PACKAGEKIT and \
                    software.is_package_installed(package):
                result = "Yes"
            return result

        properties = [
            'Name', ('Arch', 'Architecture'), 'Version', 'Release',
            ('Summary', 'Caption'), ('Installed', _render_installed),
            'Description'
        ]
        pkgs = [
            p.to_instance() for p in software.find_package(
                ns, pkg_spec=package, repoid=_repoid)
        ]
        pkgs = [p for p in pkgs if not _installed or \
                software.is_package_installed(p)]
        if len(pkgs) < 1:
            raise errors.LmiFailed('No such package "%s" found.' % package)
        if len(pkgs) > 1:
            LOG().warn('More than one package found for "%s" : %s', package,
                       ', '.join(p.ElementName for p in pkgs))

        return (properties, pkgs[-1])
Esempio n. 5
0
    def execute(self, ns, package, _type=None):
        properties = [
                ('Name'),
                ('Type', lambda i: software.FILE_TYPES[i.FileType]),
                ('FileSize', lambda i: i.FileSize),
                ('Passed', lambda i: len(i.FailedFlags) < 1)]
        if _type is not None:
            del properties[1]

        pkgs = list(software.find_package(ns, pkg_spec=package[0]))
        if len(pkgs) < 1:
            raise errors.LmiFailed(
                    'no package matching "%s" found' % package[0])
        if len(pkgs) > 1:
            LOG().warn('more than one package found for "%s": %s',
                    package[0], ', '.join(p.ElementName for p in pkgs))

        return ( properties
               , software.list_package_files(ns, pkgs[-1], file_type=_type))
Esempio n. 6
0
    def execute(self, ns, package, _type=None):
        properties = [('Name'),
                      ('Type', lambda i: software.FILE_TYPES[i.FileType]
                       if i.FileExists else 'Missing'),
                      ('FileSize', lambda i: i.FileSize),
                      ('Passed', lambda i: len(i.FailedFlags) < 1)]
        if _type is not None:
            del properties[1]

        pkgs = list(p.to_instance()
                    for p in software.find_package(ns, pkg_spec=package))
        pkgs = [p for p in pkgs if software.is_package_installed(p)]
        if len(pkgs) < 1:
            raise errors.LmiFailed('No package matching "%s" found.' % package)
        if len(pkgs) > 1:
            LOG().warn('More than one package found for "%s": %s', package,
                       ', '.join(p.ElementName for p in pkgs))

        return (properties,
                software.list_package_files(ns, pkgs[-1], file_type=_type))
Esempio n. 7
0
    def execute(self, ns, package, _repoid=None, _installed=False):
        properties = [
                'Name',
                ('Arch', 'Architecture'),
                'Version',
                'Release',
                ('Summary', 'Caption'),
                'Description']
        pkgs = [   p.to_instance()
               for p in software.find_package(ns,
                        pkg_spec=package[0],
                        repoid=_repoid)]
        pkgs = [p for p in pkgs if not _installed or bool(p.InstallDate)]
        if len(pkgs) < 1:
            raise errors.LmiFailed('no such package "%s" found' % package[0])
        if len(pkgs) > 1:
            LOG().warn('more than one package found for "%s" : %s',
                    package[0], ', '.join(p.ElementName for p in pkgs))

        return (properties, pkgs[-1])
Esempio n. 8
0
    def execute(self, ns, package, _repoid=None, _installed=False):
        properties = [
            'Name', ('Arch', 'Architecture'), 'Version', 'Release',
            ('Summary', 'Caption'),
            ('Installed', lambda i: 'no'
             if i.InstallDate is None else i.InstallDate.datetime.strftime(
                 '%a %b %d/%Y  %H:%M')), 'Description'
        ]
        pkgs = [
            p.to_instance() for p in software.find_package(
                ns, pkg_spec=package, repoid=_repoid)
        ]
        pkgs = [p for p in pkgs if not _installed or bool(p.InstallDate)]
        if len(pkgs) < 1:
            raise errors.LmiFailed('No such package "%s" found.' % package)
        if len(pkgs) > 1:
            LOG().warn('More than one package found for "%s" : %s', package,
                       ', '.join(p.ElementName for p in pkgs))

        return (properties, pkgs[-1])
Esempio n. 9
0
    def execute(self, ns, caption, device_name, _ethernet, _bridging, _bonding, _ipv4, _ipv6):
        type = SETTING_TYPE_ETHERNET
        if _bridging:
            type = SETTING_TYPE_BRIDGE_MASTER
        elif _bonding:
            type = SETTING_TYPE_BOND_MASTER

        if _ipv4 not in SETTING_IPv4_METHODS:
            raise errors.LmiInvalidOptions("Invalid --ipv4 option: %s" % _ipv4)
        if _ipv6 not in SETTING_IPv6_METHODS:
            raise errors.LmiInvalidOptions("Invalid --ipv6 option: %s" % _ipv6)

        ipv4_method = SETTING_IPv4_METHODS[_ipv4]
        ipv6_method = SETTING_IPv6_METHODS[_ipv6]

        device = get_device_by_name(ns, device_name)
        if device is None:
            raise errors.LmiFailed("No such device: %s" % device_name)
        create_setting(ns, caption, device, type, ipv4_method, ipv6_method)
        return 0
Esempio n. 10
0
 def execute(self, ns, vgs, _add, _remove):
     raise errors.LmiFailed("OpenLMI-Storage 0.8 is required on the remote machine")
Esempio n. 11
0
 def execute(self, ns, caption, address):
     setting = get_setting_by_caption(ns, caption)
     if setting is None:
         raise errors.LmiFailed("No such setting: %s" % caption)
     return replace_dns_server(ns, setting, address)
Esempio n. 12
0
 def execute(self, ns, caption, address, prefix, metric, next_hop):
     setting = get_setting_by_caption(ns, caption)
     if setting is None:
         raise errors.LmiFailed("No such setting: %s" % caption)
     return replace_static_route(ns, setting, address, prefix, metric,
                                 next_hop)
Esempio n. 13
0
 def execute(self, ns, caption, address):
     setting = get_setting_by_caption(ns, caption)
     if setting is None:
         raise errors.LmiFailed("No such setting: %s" % caption)
     return remove_static_route(ns, setting, address)
Esempio n. 14
0
 def execute(self, ns, caption, address, prefix, gateway):
     setting = get_setting_by_caption(ns, caption)
     if setting is None:
         raise errors.LmiFailed("No such setting: %s" % caption)
     return replace_ip_address(ns, setting, address, prefix, gateway)
Esempio n. 15
0
 def execute(self, ns, caption):
     setting = get_setting_by_caption(ns, caption)
     if setting is None:
         raise errors.LmiFailed("No such setting: %s" % caption)
     return delete_setting(ns, setting)