Пример #1
0
 def check_options(self, validator):
     if get_katello_mode() == 'katello':
         validator.require(('name', 'org', 'environment'))
         validator.mutually_exclude(('view_name', 'view_label', 'view_id'))
         validator.require_at_least_one_of(('view_name', 'view_label', 'view_id'))
     else:
         validator.require(('name', 'org'))
Пример #2
0
    def run(self):
        mode = get_katello_mode()
        orgName = self.get_option('org')
        keyName = self.get_option('name')

        keys = self.api.activation_keys_by_organization(orgName, keyName)

        if len(keys) == 0:
            print >> sys.stderr, _("Could not find activation key [ %s ]") % keyName
            return os.EX_DATAERR
        for akey in keys:
            akey["pools"] = "[ "+ ", ".join([pool["cp_id"] for pool in akey["pools"]]) +" ]"

        if mode == 'katello' and keys[0]['content_view_id']:
            view = get_content_view(orgName, view_id=keys[0]['content_view_id'])
            keys[0]['content_view'] = view['label']

        self.printer.add_column('id', _("ID"))
        self.printer.add_column('name', _("Name"))
        self.printer.add_column('description', _("Description"), multiline=True)
        self.printer.add_column('usage_limit', _("Usage Limit"), \
            value_formatter=lambda x: "unlimited" if x == -1 else x)
        if mode == 'katello':
            self.printer.add_column('environment_id', _("Environment ID"))
            self.printer.add_column('content_view', _("Content View"), value_formatter=lambda x: "[ %s ]" % x)
        self.printer.add_column('pools', _("Pools"), multiline=True, show_with=printer.VerboseStrategy)
        self.printer.set_header(_("Activation Key Info"))
        self.printer.print_item(keys[0])
        return os.EX_OK
Пример #3
0
    def run(self):
        mode = get_katello_mode()
        username = self.get_option('username')
        password = self.get_option('password')
        email = self.get_option('email')
        disabled = self.get_option('disabled')
        default_organization = self.get_option('default_organization')
        if mode == 'katello':
            default_environment = self.get_option('default_environment')
        elif default_organization is not None:
            default_environment = 'Library'
        no_default_environment = self.get_option('no_default_environment')
        default_locale = self.get_option('default_locale')

        if no_default_environment is True:
            environment = None
        elif default_environment is not None:
            environment = get_environment(default_organization, default_environment)
        else:
            environment = False

        user = get_user(username)

        user = self.api.update(user['id'], password, email, disabled, environment, default_locale)
        print _("Successfully updated user [ %s ]") % username
        return os.EX_OK
Пример #4
0
 def setup_parser(self, parser):
     mode = get_katello_mode()
     parser.add_option('--name', dest='name',
                            help=_("activation key name (required)"))
     opt_parser_add_org(parser, required=1)
     parser.add_option('--description', dest='description',
                            help=_("activation key description"))
     if mode == 'katello':
         opt_parser_add_environment(parser, required=1)
         opt_parser_add_content_view(parser)
     parser.add_option('--limit', dest='usage_limit', type="int",
                            help=_("usage limit (unlimited by default)"))
Пример #5
0
def opt_parser_add_content_view(parser, required=None, name='content_view'):
    """
    Add content view options (name, label, id) to command
    """
    if get_katello_mode() == 'katello':
        require = _(" (view name, label, or id required)") if required else ""
        parser.add_option("--"+name, dest="view_name",
                        help=_("content view name eg: database%s" % require))
        parser.add_option("--"+name+"_label", dest="view_label",
                        help=_("content view label eg: database%s" % require))
        parser.add_option("--"+name+"_id", dest="view_id",
                        help=_("content view id eg: 6%s" % require))
Пример #6
0
    def run(self):
        mode = get_katello_mode()
        orgName = self.get_option('org')
        keyName = self.get_option('name')
        if mode == 'katello':
            envName = self.get_option('env')
        else:
            envName = None
        newKeyName = self.get_option('new_name')
        keyDescription = self.get_option('description')
        usageLimit = self.get_option('usage_limit')
        add_poolids = self.get_option('add_poolid') or []
        remove_poolids = self.get_option('remove_poolid') or []
        if mode == 'katello':
            view_label = self.get_option("view_label")
            view_name = self.get_option("view_name")
            view_id = self.get_option("view_id")
        else:
            view_label = None
            view_name = None
            view_id = None

        if envName != None:
            environment = get_environment(orgName, envName)
        else:
            environment = None

        keys = self.api.activation_keys_by_organization(orgName, keyName)
        if len(keys) == 0:
            print >> sys.stderr, _("Could not find activation key [ %s ]") % keyName
            return os.EX_DATAERR
        key = keys[0]

        if view_name or view_label or view_id:
            view = get_content_view(orgName, view_label, view_name, view_id)
            view_id = view['id']
        else:
            view_id = None

        key = self.api.update(orgName, key['id'], environment['id'] if environment != None else None,
            newKeyName, keyDescription, usageLimit, view_id)

        for poolid in add_poolids:
            self.api.add_pool(orgName, key['id'], poolid)
        for poolid in remove_poolids:
            self.api.remove_pool(orgName, key['id'], poolid)

        if key != None:
            print _("Successfully updated activation key [ %s ]") % key['name']
            return os.EX_OK
        else:
            return os.EX_DATAERR
Пример #7
0
    def setup_parser(self, parser):
        mode = get_katello_mode()

        parser.add_option('--username', dest='username', help=_("user name (required)"))
        parser.add_option('--password', dest='password', help=_("initial password (required)"))
        parser.add_option('--email', dest='email', help=_("email (required)"))
        parser.add_option("--disabled", dest="disabled", type="bool",
            help=_("disabled account (default is 'false')"), default=False)
        parser.add_option('--default_organization', dest='default_organization',
                               help=_("user's default organization name"))
        if mode == 'katello':
            parser.add_option('--default_environment', dest='default_environment',
                               help=_("user's default environment name"))
        parser.add_option('--default_locale', dest='default_locale',
                               help=_("user's default locale"))
Пример #8
0
 def setup_parser(self, parser):
     mode = get_katello_mode()
     parser.add_option('--username', dest='username', help=_("user name (required)"))
     parser.add_option('--password', dest='password', help=_("initial password"))
     parser.add_option('--email', dest='email', help=_("email"))
     parser.add_option("--disabled", dest="disabled", help=_("disabled account"))
     parser.add_option('--default_organization', dest='default_organization',
                            help=_("user's default organization name"))
     if mode == 'katello':
         parser.add_option('--default_environment', dest='default_environment',
                                help=_("user's default environment name"))
     parser.add_option('--no_default_environment', dest='no_default_environment', action="store_true",
                            help=_("user's default environment is None"))
     parser.add_option('--default_locale', dest='default_locale',
                            help=_("user's default locale"))
Пример #9
0
    def check_options(self, validator):
        mode = get_katello_mode()

        validator.require('username')
        if mode == 'katello':
            validator.require_at_least_one_of((
                'password', 'email', 'disabled',
                'default_organization', 'no_default_organization',
		'default_locale'))
        else:
            validator.require_at_least_one_of((
                'password', 'email', 'disabled',
                'default_organization', 'no_default_organization',
		'default_locale'))

        validator.mutually_exclude(('default_organization'), 'no_default_organization')
Пример #10
0
    def setup_parser(self, parser):
        mode = get_katello_mode()
        parser.add_option('--name', dest='name',
                               help=_("activation key name (required)"))
        opt_parser_add_org(parser, required=1)
        if mode == 'katello':
            parser.add_option('--environment', dest='env',
                                   help=_("new environment name e.g.: dev"))
        parser.add_option('--new_name', dest='new_name',
                              help=_("new activation key name"))
        parser.add_option('--description', dest='description',
                               help=_("new description"))
        opt_parser_add_content_view(parser)
        parser.add_option('--limit', dest='usage_limit',
                               help=_("usage limit (set -1 for no limit)"))

        parser.add_option('--add_subscription', dest='add_poolid', action='append',
                               help=_("add a pool to the activation key"))
        parser.add_option('--remove_subscription', dest='remove_poolid', action='append',
                               help=_("remove a pool from the activation key"))
Пример #11
0
    def run(self):
        orgId = self.get_option('org')
        envName = self.get_option('environment')
        format_in = self.get_option('format')

        if envName is None:
            report = self.api.report_by_org(
                orgId, convert_to_mime_type(format_in, 'text'))
        else:
            environment = get_environment(orgId, envName)
            report = self.api.report_by_env(
                environment['id'], convert_to_mime_type(format_in, 'text'))

        if format_in == 'pdf':
            save_report(
                report[0],
                attachment_file_name(
                    report[1], "%s_systems_report.pdf" % get_katello_mode()))
        else:
            print report[0]

        return os.EX_OK
Пример #12
0
    def run(self):
        mode = get_katello_mode()
        orgName = self.get_option('org')
        keyName = self.get_option('name')
        keyDescription = self.get_option('description')
        usageLimit = self.get_option('usage_limit')
        if mode == 'katello':
            envName = self.get_option('environment')
            view_label = self.get_option("view_label")
            view_name = self.get_option("view_name")
            view_id = self.get_option("view_id")
        else:
            envName = 'Library'
            view_label = None
            view_name = None
            view_id = None

        if usageLimit is None:
            usageLimit = -1
        else:
            if int(usageLimit) <= 0:
                print >> sys.stderr, _("Usage limit [ %s ] must be higher than one") % usageLimit
                return os.EX_DATAERR

        environment = get_environment(orgName, envName)

        if view_name or view_label or view_id:
            view = get_content_view(orgName, view_label, view_name, view_id)
            view_id = view['id']
        else:
            view_id = None


        key = self.api.create(environment['id'], keyName, keyDescription, usageLimit, view_id)
        test_record(key,
            _("Successfully created activation key [ %s ]") % keyName,
            _("Could not create activation key [ %s ]") % keyName
        )
Пример #13
0
    def run(self):
        mode = get_katello_mode()
        envName = self.get_option('environment')
        orgName = self.get_option('org')

        keys = self.get_keys_for_organization(orgName) \
            if envName == None else self.get_keys_for_environment(orgName, envName)

        if not keys:
            if envName == None:
                print _("No keys found in organization [ %s ]") % orgName
            else:
                print _("No keys found in organization [ %(orgName)s ] environment [ %(envName)s ]") \
                    % {'orgName':orgName, 'envName':envName}

            return os.EX_OK

        for k in keys:
            if k['usage_limit'] is None or k['usage_limit'] == -1:
                k['usage'] = str(k['usage_count'])
            else:
                k['usage'] = str(k['usage_count']) + '/' + str(k['usage_limit'])
            if mode == 'katello' and k['content_view_id']:
                view = get_content_view(orgName, view_id=k['content_view_id'])
                k['content_view'] = view["name"]

        self.printer.add_column('id', _("ID"))
        self.printer.add_column('name', _("Name"))
        self.printer.add_column('description', _("Description"), multiline=True)
        self.printer.add_column('usage', _("Usage"))
        if mode == 'katello':
            self.printer.add_column('environment_id', _("Environment ID"))
            self.printer.add_column('content_view', _("Content View"))

        self.printer.set_header(_("Activation Key List"))
        self.printer.print_items(keys)
        return os.EX_OK
Пример #14
0
 def check_options(self, validator):
     mode = get_katello_mode()
     validator.require(('name', 'org'))
     if mode == 'katello':
         validator.mutually_exclude(('view_name', 'view_label', 'view_id'))
Пример #15
0
def setup_admin(katello_cmd, mode=get_katello_mode()):
    # pylint: disable=R0912,R0914,R0915
    # Following pylint warnings are disabled as we break them intentionally:
    #   R0912: Too many branches
    #   R0914: Too many local variables
    #   R0915: Too many statements

    akey_cmd = activation_key.ActivationKey()
    akey_cmd.add_command('create', activation_key.Create())
    akey_cmd.add_command('info', activation_key.Info())
    akey_cmd.add_command('list', activation_key.List())
    akey_cmd.add_command('update', activation_key.Update())
    akey_cmd.add_command('delete', activation_key.Delete())
    if mode == 'katello':
        akey_cmd.add_command('add_system_group', activation_key.AddSystemGroup())
        akey_cmd.add_command('remove_system_group', activation_key.RemoveSystemGroup())
    katello_cmd.add_command('activation_key', akey_cmd)

    env_cmd = environment.Environment()
    env_cmd.add_command('create', environment.Create())
    env_cmd.add_command('info', environment.Info())
    env_cmd.add_command('list', environment.List())
    env_cmd.add_command('update', environment.Update())
    env_cmd.add_command('delete', environment.Delete())
    katello_cmd.add_command('environment', env_cmd)

    org_cmd = organization.Organization()
    org_cmd.add_command('create', organization.Create())
    org_cmd.add_command('info', organization.Info())
    org_cmd.add_command('list', organization.List())
    org_cmd.add_command('update', organization.Update())
    org_cmd.add_command('delete', organization.Delete())
    org_cmd.add_command('subscriptions', organization.ShowSubscriptions())
    if mode == 'katello':
        org_cmd.add_command('uebercert', organization.GenerateDebugCert())
    org_cmd.add_command("add_default_system_info", organization.AddDefaultSystemInfo())
    org_cmd.add_command("remove_default_system_info", organization.RemoveDefaultSystemInfo())
    org_cmd.add_command("apply_default_system_info", organization.ApplyDefaultSystemInfo())
    katello_cmd.add_command('org', org_cmd)

    user_cmd = user.User()
    user_cmd.add_command('create', user.Create())
    user_cmd.add_command('info', user.Info())
    user_cmd.add_command('list', user.List())
    user_cmd.add_command('update', user.Update())
    user_cmd.add_command('delete', user.Delete())
    user_cmd.add_command('report', user.Report())
    user_cmd.add_command('assign_role', user.AssignRole(True))
    user_cmd.add_command('unassign_role', user.AssignRole(False))
    user_cmd.add_command('list_roles', user.ListRoles())
    user_cmd.add_command('sync_ldap_roles', user.SyncLdapRoles())
    katello_cmd.add_command('user', user_cmd)

    user_role_cmd = user_role.UserRole()
    user_role_cmd.add_command('create', user_role.Create())
    user_role_cmd.add_command('info', user_role.Info())
    user_role_cmd.add_command('list', user_role.List())
    user_role_cmd.add_command('update', user_role.Update())
    user_role_cmd.add_command('add_ldap_group', user_role.AddLdapGroup())
    user_role_cmd.add_command('remove_ldap_group', user_role.RemoveLdapGroup())
    user_role_cmd.add_command('delete', user_role.Delete())
    katello_cmd.add_command('user_role', user_role_cmd)

    permission_cmd = permission.Permission()
    permission_cmd.add_command('create', permission.Create())
    permission_cmd.add_command('list', permission.List())
    permission_cmd.add_command('delete', permission.Delete())
    permission_cmd.add_command('available_verbs', permission.ListAvailableVerbs())
    katello_cmd.add_command('permission', permission_cmd)

    katello_cmd.add_command('ping', ping.Status())
    katello_cmd.add_command('version', version.Info())

    prod_cmd = product.Product()
    prod_cmd.add_command('list', product.List())
    if mode == 'katello':
        prod_cmd.add_command('create', product.Create())
        prod_cmd.add_command('update', product.Update())
        prod_cmd.add_command('delete', product.Delete())
        prod_cmd.add_command('synchronize', product.Sync())
        prod_cmd.add_command('cancel_sync', product.CancelSync())
        prod_cmd.add_command('status', product.Status())
        prod_cmd.add_command('promote', product.Promote())
        prod_cmd.add_command('set_plan', product.SetSyncPlan())
        prod_cmd.add_command('remove_plan', product.RemoveSyncPlan())
    katello_cmd.add_command('product', prod_cmd)

    # these could be set in the same block but are separated
    # for clarity
    if mode == 'katello':
        repo_cmd = repo.Repo()
        repo_cmd.add_command('create', repo.Create())
        repo_cmd.add_command('update', repo.Update())
        repo_cmd.add_command('discover', repo.Discovery())
        repo_cmd.add_command('info', repo.Info())
        repo_cmd.add_command('list', repo.List())
        repo_cmd.add_command('delete', repo.Delete())
        repo_cmd.add_command('status', repo.Status())
        repo_cmd.add_command('synchronize', repo.Sync())
        repo_cmd.add_command('cancel_sync', repo.CancelSync())
        repo_cmd.add_command('enable', repo.Enable(True))
        repo_cmd.add_command('disable', repo.Enable(False))
        katello_cmd.add_command('repo', repo_cmd)

    if mode == 'katello':
        package_group_cmd = packagegroup.PackageGroup()
        package_group_cmd.add_command('list', packagegroup.List())
        package_group_cmd.add_command('info', packagegroup.Info())
        package_group_cmd.add_command('category_list', packagegroup.CategoryList())
        package_group_cmd.add_command('category_info', packagegroup.CategoryInfo())
        katello_cmd.add_command('package_group', package_group_cmd)

    if mode == 'katello':
        dist_cmd = distribution.Distribution()
        dist_cmd.add_command('info', distribution.Info())
        dist_cmd.add_command('list', distribution.List())
        katello_cmd.add_command('distribution', dist_cmd)

    if mode == 'katello':
        pack_cmd = package.Package()
        pack_cmd.add_command('info', package.Info())
        pack_cmd.add_command('list', package.List())
        pack_cmd.add_command('search', package.Search())
        katello_cmd.add_command('package', pack_cmd)

    if mode == 'katello':
        errata_cmd = errata.Errata()
        errata_cmd.add_command('list', errata.List())
        errata_cmd.add_command('info', errata.Info())
        errata_cmd.add_command('system', errata.SystemErrata())
        errata_cmd.add_command('system_group', errata.SystemGroupErrata())
        katello_cmd.add_command('errata', errata_cmd)

    system_cmd = system.System()
    system_cmd.add_command('list', system.List())
    system_cmd.add_command('register', system.Register())
    system_cmd.add_command('unregister', system.Unregister())
    system_cmd.add_command('subscriptions', system.Subscriptions())
    system_cmd.add_command('subscribe', system.Subscribe())
    system_cmd.add_command('unsubscribe', system.Unsubscribe())
    system_cmd.add_command('info', system.Info())
    system_cmd.add_command('facts', system.Facts())
    system_cmd.add_command('update', system.Update())
    system_cmd.add_command('report', system.Report())
    system_cmd.add_command('releases', system.Releases())
    system_cmd.add_command('remove_deletion', system.RemoveDeletion())
    if mode == 'katello':
        system_cmd.add_command('tasks', system.TasksList())
        system_cmd.add_command('task', system.TaskInfo())
        system_cmd.add_command('packages', system.InstalledPackages())
        system_cmd.add_command('add_to_groups', system.AddSystemGroups())
        system_cmd.add_command('remove_from_groups', system.RemoveSystemGroups())
    system_cmd.add_command('add_custom_info', system_custom_info.AddCustomInfo())
    system_cmd.add_command('update_custom_info', system_custom_info.UpdateCustomInfo())
    system_cmd.add_command('remove_custom_info', system_custom_info.RemoveCustomInfo())
    katello_cmd.add_command('system', system_cmd)

    if mode == 'katello':
        system_group_cmd = system_group.SystemGroup()
        system_group_cmd.add_command('list', system_group.List())
        system_group_cmd.add_command('info', system_group.Info())
        system_group_cmd.add_command('job_history', system_group.History())
        system_group_cmd.add_command('job_tasks', system_group.HistoryTasks())
        system_group_cmd.add_command('systems', system_group.Systems())
        system_group_cmd.add_command('add_systems', system_group.AddSystems())
        system_group_cmd.add_command('remove_systems', system_group.RemoveSystems())
        system_group_cmd.add_command('create', system_group.Create())
        system_group_cmd.add_command('copy', system_group.Copy())
        system_group_cmd.add_command('update', system_group.Update())
        system_group_cmd.add_command('delete', system_group.Delete())
        system_group_cmd.add_command('packages', system_group.Packages())
        system_group_cmd.add_command('errata', system_group.Errata())
        katello_cmd.add_command('system_group', system_group_cmd)

    if mode == 'katello':
        sync_plan_cmd = sync_plan.SyncPlan()
        sync_plan_cmd.add_command('create', sync_plan.Create())
        sync_plan_cmd.add_command('info', sync_plan.Info())
        sync_plan_cmd.add_command('list', sync_plan.List())
        sync_plan_cmd.add_command('update', sync_plan.Update())
        sync_plan_cmd.add_command('delete', sync_plan.Delete())
        katello_cmd.add_command('sync_plan', sync_plan_cmd)

    if mode == 'katello':
        template_cmd = template.Template()
        template_cmd.add_command('create', template.Create())
        template_cmd.add_command('import', template.Import())
        template_cmd.add_command('export', template.Export())
        template_cmd.add_command('list', template.List())
        template_cmd.add_command('info', template.Info())
        template_cmd.add_command('update', template.Update())
        template_cmd.add_command('delete', template.Delete())
        katello_cmd.add_command('template', template_cmd)

    katello_cmd.add_command('shell', shell_command.ShellAction(katello_cmd))

    prov_cmd = provider.Provider()
    prov_cmd.add_command('info', provider.Info())
    prov_cmd.add_command('list', provider.List())
    prov_cmd.add_command('import_manifest', provider.ImportManifest())
    if mode == 'headpin':
        prov_cmd.add_command('delete_manifest', provider.DeleteManifest())
    if mode == 'katello':
        prov_cmd.add_command('create', provider.Update(create=True))
        prov_cmd.add_command('update', provider.Update())
        prov_cmd.add_command('delete', provider.Delete())
        prov_cmd.add_command('synchronize', provider.Sync())
        prov_cmd.add_command('cancel_sync', provider.CancelSync())
        prov_cmd.add_command('status', provider.Status())
        prov_cmd.add_command('refresh_products', provider.RefreshProducts())
    katello_cmd.add_command('provider', prov_cmd)

    if mode == 'katello':
        cset_cmd = changeset.Changeset()
        cset_cmd.add_command('create', changeset.Create())
        cset_cmd.add_command('list', changeset.List())
        cset_cmd.add_command('info', changeset.Info())
        cset_cmd.add_command('update', changeset.UpdateContent())
        cset_cmd.add_command('delete', changeset.Delete())
        cset_cmd.add_command('apply', changeset.Apply())
        cset_cmd.add_command('promote', changeset.Promote())
        katello_cmd.add_command('changeset', cset_cmd)

    client_cmd = client.Client()
    client_cmd.add_command('remember', client.Remember())
    client_cmd.add_command('forget', client.Forget())
    client_cmd.add_command('saved_options', client.SavedOptions())
    katello_cmd.add_command('client', client_cmd)

    if mode == 'katello':
        gpgkey_cmd = gpg_key.GpgKey()
        gpgkey_cmd.add_command('create', gpg_key.Create())
        gpgkey_cmd.add_command('info', gpg_key.Info())
        gpgkey_cmd.add_command('list', gpg_key.List())
        gpgkey_cmd.add_command('update', gpg_key.Update())
        gpgkey_cmd.add_command('delete', gpg_key.Delete())
        katello_cmd.add_command('gpg_key', gpgkey_cmd)

    if mode == 'katello':
        admin_cmd = admin.Admin()
        admin_cmd.add_command('crl_regen', admin.CrlRegen())
        katello_cmd.add_command('admin', admin_cmd)

    if mode == 'katello':
        architecture_cmd = architecture.Architecture()
        architecture_cmd.add_command('list', architecture.List())
        architecture_cmd.add_command('info', architecture.Show())
        architecture_cmd.add_command('create', architecture.Create())
        architecture_cmd.add_command('update', architecture.Update())
        architecture_cmd.add_command('delete', architecture.Delete())
        katello_cmd.add_command('architecture', architecture_cmd)

    if mode == 'katello':
        configtemplate_cmd = config_template.ConfigTemplate()
        configtemplate_cmd.add_command('list', config_template.List())
        configtemplate_cmd.add_command('info', config_template.Info())
        configtemplate_cmd.add_command('create', config_template.Create())
        configtemplate_cmd.add_command('update', config_template.Update())
        configtemplate_cmd.add_command('delete', config_template.Delete())
        configtemplate_cmd.add_command('build_pxe_default', config_template.Build_Pxe_Default())
        katello_cmd.add_command('config_template', configtemplate_cmd)

    if mode == 'katello':
        domain_cmd = domain.Domain()
        domain_cmd.add_command('list', domain.List())
        domain_cmd.add_command('info', domain.Info())
        domain_cmd.add_command('create', domain.Create())
        domain_cmd.add_command('update', domain.Update())
        domain_cmd.add_command('delete', domain.Delete())
        katello_cmd.add_command('domain', domain_cmd)

    if mode == 'katello':
        smart_proxy_cmd = smart_proxy.SmartProxy()
        smart_proxy_cmd.add_command('list', smart_proxy.List())
        smart_proxy_cmd.add_command('info', smart_proxy.Info())
        smart_proxy_cmd.add_command('create', smart_proxy.Create())
        smart_proxy_cmd.add_command('update', smart_proxy.Update())
        smart_proxy_cmd.add_command('delete', smart_proxy.Delete())
        katello_cmd.add_command('smart_proxy', smart_proxy_cmd)

    if mode == 'katello':
        subnet_cmd = subnet.Subnet()
        subnet_cmd.add_command('list', subnet.List())
        subnet_cmd.add_command('info', subnet.Info())
        subnet_cmd.add_command('create', subnet.Update(create=True))
        subnet_cmd.add_command('update', subnet.Update(create=False))
        subnet_cmd.add_command('delete', subnet.Delete())
        katello_cmd.add_command('subnet', subnet_cmd)

    if mode == 'katello':
        resource_cmd = compute_resource.ComputeResource()
        resource_cmd.add_command('list', compute_resource.List())
        resource_cmd.add_command('info', compute_resource.Info())
        resource_cmd.add_command('create', compute_resource.Create())
        resource_cmd.add_command('update', compute_resource.Update())
        resource_cmd.add_command('delete', compute_resource.Delete())
        katello_cmd.add_command('compute_resource', resource_cmd)

    if mode == 'katello':
        hardware_model_cmd = hardware_model.HardwareModel()
        hardware_model_cmd.add_command('list', hardware_model.List())
        hardware_model_cmd.add_command('info', hardware_model.Info())
        hardware_model_cmd.add_command('create', hardware_model.Create())
        hardware_model_cmd.add_command('update', hardware_model.Update())
        hardware_model_cmd.add_command('delete', hardware_model.Delete())
        katello_cmd.add_command('hw_model', hardware_model_cmd)
Пример #16
0
    def run(self):
        orgId = self.get_option('org')
        envName = self.get_option('environment')
        format_in = self.get_option('format')

        if envName is None:
            report = self.api.report_by_org(orgId, convert_to_mime_type(format_in, 'text'))
        else:
            environment = get_environment(orgId, envName)
            report = self.api.report_by_env(environment['id'], convert_to_mime_type(format_in, 'text'))

        if format_in == 'pdf':
            save_report(report[0], attachment_file_name(report[1], "%s_systems_report.pdf" % get_katello_mode()))
        else:
            print report[0]

        return os.EX_OK
Пример #17
0
 def setup_parser(self, parser):
     mode = get_katello_mode()
     opt_parser_add_org(parser, required=1)
     if mode == 'katello':
         opt_parser_add_environment(parser, default="Library")
Пример #18
0
def setup_admin(katello_cmd, mode=get_katello_mode()):
    # pylint: disable=R0912,R0914,R0915
    # Following pylint warnings are disabled as we break them intentionally:
    #   R0912: Too many branches
    #   R0914: Too many local variables
    #   R0915: Too many statements

    akey_cmd = activation_key.ActivationKey()
    akey_cmd.add_command('create', activation_key.Create())
    akey_cmd.add_command('info', activation_key.Info())
    akey_cmd.add_command('list', activation_key.List())
    akey_cmd.add_command('update', activation_key.Update())
    akey_cmd.add_command('delete', activation_key.Delete())
    akey_cmd.add_command('add_system_group', activation_key.AddSystemGroup())
    akey_cmd.add_command('remove_system_group',
                         activation_key.RemoveSystemGroup())
    katello_cmd.add_command('activation_key', akey_cmd)

    env_cmd = environment.Environment()
    if mode == 'katello':
        env_cmd.add_command('create', environment.Create())
        env_cmd.add_command('delete', environment.Delete())
        env_cmd.add_command('update', environment.Update())
    env_cmd.add_command('info', environment.Info())
    env_cmd.add_command('list', environment.List())
    katello_cmd.add_command('environment', env_cmd)

    org_cmd = organization.Organization()
    org_cmd.add_command('create', organization.Create())
    org_cmd.add_command('info', organization.Info())
    org_cmd.add_command('list', organization.List())
    org_cmd.add_command('update', organization.Update())
    org_cmd.add_command('delete', organization.Delete())
    org_cmd.add_command('subscriptions', organization.ShowSubscriptions())
    if mode == 'katello':
        org_cmd.add_command('uebercert', organization.GenerateDebugCert())
    default_info_cmd = organization.DefaultInfo()
    default_info_cmd.add_command("add", organization.AddDefaultInfo())
    default_info_cmd.add_command("remove", organization.RemoveDefaultInfo())
    default_info_cmd.add_command("apply", organization.ApplyDefaultInfo())
    org_cmd.add_command("default_info", default_info_cmd)
    katello_cmd.add_command('org', org_cmd)

    user_cmd = user.User()
    user_cmd.add_command('create', user.Create())
    user_cmd.add_command('info', user.Info())
    user_cmd.add_command('list', user.List())
    user_cmd.add_command('update', user.Update())
    user_cmd.add_command('delete', user.Delete())
    user_cmd.add_command('report', user.Report())
    user_cmd.add_command('assign_role', user.AssignRole(True))
    user_cmd.add_command('unassign_role', user.AssignRole(False))
    user_cmd.add_command('list_roles', user.ListRoles())
    user_cmd.add_command('sync_ldap_roles', user.SyncLdapRoles())
    katello_cmd.add_command('user', user_cmd)

    user_role_cmd = user_role.UserRole()
    user_role_cmd.add_command('create', user_role.Create())
    user_role_cmd.add_command('info', user_role.Info())
    user_role_cmd.add_command('list', user_role.List())
    user_role_cmd.add_command('update', user_role.Update())
    user_role_cmd.add_command('add_ldap_group', user_role.AddLdapGroup())
    user_role_cmd.add_command('remove_ldap_group', user_role.RemoveLdapGroup())
    user_role_cmd.add_command('delete', user_role.Delete())
    katello_cmd.add_command('user_role', user_role_cmd)

    permission_cmd = permission.Permission()
    permission_cmd.add_command('create', permission.Create())
    permission_cmd.add_command('list', permission.List())
    permission_cmd.add_command('delete', permission.Delete())
    permission_cmd.add_command('available_verbs',
                               permission.ListAvailableVerbs())
    katello_cmd.add_command('permission', permission_cmd)

    katello_cmd.add_command('ping', ping.Status())
    katello_cmd.add_command('version', version.Info())

    prod_cmd = product.Product()
    prod_cmd.add_command('list', product.List())
    if mode == 'katello':
        prod_cmd.add_command('create', product.Create())
        prod_cmd.add_command('update', product.Update())
        prod_cmd.add_command('delete', product.Delete())
        prod_cmd.add_command('synchronize', product.Sync())
        prod_cmd.add_command('cancel_sync', product.CancelSync())
        prod_cmd.add_command('status', product.Status())
        prod_cmd.add_command('promote', product.Promote())
        prod_cmd.add_command('set_plan', product.SetSyncPlan())
        prod_cmd.add_command('remove_plan', product.RemoveSyncPlan())
        prod_cmd.add_command('repository_sets', product.ListRepositorySets())
        prod_cmd.add_command('repository_set_enable',
                             product.EnableRepositorySet())
        prod_cmd.add_command('repository_set_disable',
                             product.DisableRepositorySet())
    katello_cmd.add_command('product', prod_cmd)

    # these could be set in the same block but are separated
    # for clarity
    if mode == 'katello':
        repo_cmd = repo.Repo()
        repo_cmd.add_command('create', repo.Create())
        repo_cmd.add_command('update', repo.Update())
        repo_cmd.add_command('discover', repo.Discovery())
        repo_cmd.add_command('info', repo.Info())
        repo_cmd.add_command('list', repo.List())
        repo_cmd.add_command('delete', repo.Delete())
        repo_cmd.add_command('status', repo.Status())
        repo_cmd.add_command('synchronize', repo.Sync())
        repo_cmd.add_command('cancel_sync', repo.CancelSync())
        repo_cmd.add_command('enable', repo.Enable(True))
        repo_cmd.add_command('disable', repo.Enable(False))
        katello_cmd.add_command('repo', repo_cmd)

    if mode == 'katello':
        package_group_cmd = packagegroup.PackageGroup()
        package_group_cmd.add_command('list', packagegroup.List())
        package_group_cmd.add_command('info', packagegroup.Info())
        package_group_cmd.add_command('category_list',
                                      packagegroup.CategoryList())
        package_group_cmd.add_command('category_info',
                                      packagegroup.CategoryInfo())
        katello_cmd.add_command('package_group', package_group_cmd)

    if mode == 'katello':
        dist_cmd = distribution.Distribution()
        dist_cmd.add_command('info', distribution.Info())
        dist_cmd.add_command('list', distribution.List())
        katello_cmd.add_command('distribution', dist_cmd)

    if mode == 'katello':
        pack_cmd = package.Package()
        pack_cmd.add_command('info', package.Info())
        pack_cmd.add_command('list', package.List())
        pack_cmd.add_command('search', package.Search())
        katello_cmd.add_command('package', pack_cmd)

    if mode == 'katello':
        errata_cmd = errata.Errata()
        errata_cmd.add_command('list', errata.List())
        errata_cmd.add_command('info', errata.Info())
        errata_cmd.add_command('system', errata.SystemErrata())
        errata_cmd.add_command('system_group', errata.SystemGroupErrata())
        katello_cmd.add_command('errata', errata_cmd)

    system_cmd = system.System()
    system_cmd.add_command('list', system.List())
    system_cmd.add_command('register', system.Register())
    system_cmd.add_command('unregister', system.Unregister())
    system_cmd.add_command('subscriptions', system.Subscriptions())
    system_cmd.add_command('subscribe', system.Subscribe())
    system_cmd.add_command('unsubscribe', system.Unsubscribe())
    system_cmd.add_command('info', system.Info())
    system_cmd.add_command('facts', system.Facts())
    system_cmd.add_command('update', system.Update())
    system_cmd.add_command('report', system.Report())
    system_cmd.add_command('releases', system.Releases())
    system_cmd.add_command('remove_deletion', system.RemoveDeletion())
    if mode == 'katello':
        system_cmd.add_command('tasks', system.TasksList())
        system_cmd.add_command('task', system.TaskInfo())
        system_cmd.add_command('packages', system.InstalledPackages())
    system_cmd.add_command('add_to_groups', system.AddSystemGroups())
    system_cmd.add_command('remove_from_groups', system.RemoveSystemGroups())
    custom_info_cmd = system.CustomInfo()
    custom_info_cmd.add_command('add',
                                system_custom_info.AddSystemCustomInfo())
    custom_info_cmd.add_command('update',
                                system_custom_info.UpdateSystemCustomInfo())
    custom_info_cmd.add_command('remove',
                                system_custom_info.RemoveSystemCustomInfo())
    system_cmd.add_command('custom_info', custom_info_cmd)
    katello_cmd.add_command('system', system_cmd)

    distributor_cmd = distributor.Distributor()
    distributor_cmd.add_command('list', distributor.List())
    distributor_cmd.add_command('create', distributor.Create())
    distributor_cmd.add_command('delete', distributor.Delete())
    distributor_cmd.add_command('subscriptions', distributor.Subscriptions())
    distributor_cmd.add_command('subscribe', distributor.Subscribe())
    distributor_cmd.add_command('unsubscribe', distributor.Unsubscribe())
    distributor_cmd.add_command('info', distributor.Info())
    distributor_cmd.add_command('update', distributor.Update())
    distributor_cmd.add_command('add_custom_info',
                                distributor_custom_info.AddCustomInfo())
    distributor_cmd.add_command('update_custom_info',
                                distributor_custom_info.UpdateCustomInfo())
    distributor_cmd.add_command('remove_custom_info',
                                distributor_custom_info.RemoveCustomInfo())
    katello_cmd.add_command('distributor', distributor_cmd)

    system_group_cmd = system_group.SystemGroup()
    system_group_cmd.add_command('list', system_group.List())
    system_group_cmd.add_command('info', system_group.Info())
    system_group_cmd.add_command('systems', system_group.Systems())
    system_group_cmd.add_command('add_systems', system_group.AddSystems())
    system_group_cmd.add_command('remove_systems',
                                 system_group.RemoveSystems())
    system_group_cmd.add_command('create', system_group.Create())
    system_group_cmd.add_command('copy', system_group.Copy())
    system_group_cmd.add_command('update', system_group.Update())
    system_group_cmd.add_command('delete', system_group.Delete())
    if mode == 'katello':
        system_group_cmd.add_command('job_history', system_group.History())
        system_group_cmd.add_command('job_tasks', system_group.HistoryTasks())
        system_group_cmd.add_command('packages', system_group.Packages())
        system_group_cmd.add_command('errata', system_group.Errata())
        system_group_cmd.add_command('update_systems',
                                     system_group.UpdateSystems())
    katello_cmd.add_command('system_group', system_group_cmd)

    if mode == 'katello':
        sync_plan_cmd = sync_plan.SyncPlan()
        sync_plan_cmd.add_command('create', sync_plan.Create())
        sync_plan_cmd.add_command('info', sync_plan.Info())
        sync_plan_cmd.add_command('list', sync_plan.List())
        sync_plan_cmd.add_command('update', sync_plan.Update())
        sync_plan_cmd.add_command('delete', sync_plan.Delete())
        katello_cmd.add_command('sync_plan', sync_plan_cmd)

    katello_cmd.add_command('shell', shell_command.ShellAction(katello_cmd))

    prov_cmd = provider.Provider()
    prov_cmd.add_command('info', provider.Info())
    prov_cmd.add_command('list', provider.List())
    prov_cmd.add_command('import_manifest', provider.ImportManifest())
    prov_cmd.add_command('refresh_manifest', provider.RefreshManifest())
    if mode == 'headpin':
        prov_cmd.add_command('delete_manifest', provider.DeleteManifest())
    if mode == 'katello':
        prov_cmd.add_command('create', provider.Update(create=True))
        prov_cmd.add_command('update', provider.Update())
        prov_cmd.add_command('delete', provider.Delete())
        prov_cmd.add_command('synchronize', provider.Sync())
        prov_cmd.add_command('cancel_sync', provider.CancelSync())
        prov_cmd.add_command('status', provider.Status())
        prov_cmd.add_command('refresh_products', provider.RefreshProducts())
    katello_cmd.add_command('provider', prov_cmd)

    if mode == 'katello':
        cset_cmd = changeset.Changeset()
        cset_cmd.add_command('create', changeset.Create())
        cset_cmd.add_command('list', changeset.List())
        cset_cmd.add_command('info', changeset.Info())
        cset_cmd.add_command('update', changeset.UpdateContent())
        cset_cmd.add_command('delete', changeset.Delete())
        cset_cmd.add_command('apply', changeset.Apply())
        cset_cmd.add_command('promote', changeset.Promote())
        katello_cmd.add_command('changeset', cset_cmd)

    if mode == 'katello':
        content_cmd = content.Content()
        cv_cmd = content_view.ContentView()
        cv_cmd.add_command('list', content_view.List())
        cv_cmd.add_command('info', content_view.Info())
        cv_cmd.add_command('promote', content_view.Promote())
        cv_cmd.add_command('refresh', content_view.Refresh())
        cv_cmd.add_command('delete', content_view.Delete())
        cvd_cmd = content_view_definition.ContentViewDefinition()
        cvd_cmd.add_command('list', content_view_definition.List())
        cvd_cmd.add_command('info', content_view_definition.Info())
        cvd_cmd.add_command('create', content_view_definition.Create())
        cvd_cmd.add_command('delete', content_view_definition.Delete())
        cvd_cmd.add_command('update', content_view_definition.Update())
        cvd_cmd.add_command('publish', content_view_definition.Publish())
        cvd_cmd.add_command('clone', content_view_definition.Clone())
        cvd_cmd.add_command('add_product',
                            content_view_definition.AddRemoveProduct(True))
        cvd_cmd.add_command('remove_product',
                            content_view_definition.AddRemoveProduct(False))
        cvd_cmd.add_command('add_repo',
                            content_view_definition.AddRemoveRepo(True))
        cvd_cmd.add_command('remove_repo',
                            content_view_definition.AddRemoveRepo(False))
        cvd_cmd.add_command('add_view',
                            content_view_definition.AddRemoveContentView(True))
        cvd_cmd.add_command(
            'remove_view', content_view_definition.AddRemoveContentView(False))

        filter_cmd = content_filter.Filter()
        filter_cmd.add_command('list', content_filter.List())
        filter_cmd.add_command('info', content_filter.Info())
        filter_cmd.add_command('create', content_filter.Create())
        filter_cmd.add_command('delete', content_filter.Delete())
        filter_cmd.add_command('add_product',
                               content_filter.AddRemoveProduct(True))
        filter_cmd.add_command('remove_product',
                               content_filter.AddRemoveProduct(False))
        filter_cmd.add_command('add_repo', content_filter.AddRemoveRepo(True))
        filter_cmd.add_command('remove_repo',
                               content_filter.AddRemoveRepo(False))
        filter_cmd.add_command('add_rule', content_filter.AddRule())
        filter_cmd.add_command('remove_rule', content_filter.RemoveRule())
        cvd_cmd.add_command("filter", filter_cmd)
        content_cmd.add_command('view', cv_cmd)
        content_cmd.add_command('definition', cvd_cmd)
        katello_cmd.add_command('content', content_cmd)

    if mode == 'katello':
        task_cmd = task.Task()
        task_cmd.add_command('status', task.Status())
        katello_cmd.add_command('task', task_cmd)

    client_cmd = client.Client()
    client_cmd.add_command('remember', client.Remember())
    client_cmd.add_command('forget', client.Forget())
    client_cmd.add_command('saved_options', client.SavedOptions())
    katello_cmd.add_command('client', client_cmd)

    if mode == 'katello':
        gpgkey_cmd = gpg_key.GpgKey()
        gpgkey_cmd.add_command('create', gpg_key.Create())
        gpgkey_cmd.add_command('info', gpg_key.Info())
        gpgkey_cmd.add_command('list', gpg_key.List())
        gpgkey_cmd.add_command('update', gpg_key.Update())
        gpgkey_cmd.add_command('delete', gpg_key.Delete())
        katello_cmd.add_command('gpg_key', gpgkey_cmd)

    if mode == 'katello':
        admin_cmd = admin.Admin()
        admin_cmd.add_command('crl_regen', admin.CrlRegen())
        katello_cmd.add_command('admin', admin_cmd)
Пример #19
0
def setup_admin(katello_cmd, mode=get_katello_mode()):
    # pylint: disable=R0912,R0914,R0915
    # Following pylint warnings are disabled as we break them intentionally:
    #   R0912: Too many branches
    #   R0914: Too many local variables
    #   R0915: Too many statements

    akey_cmd = activation_key.ActivationKey()
    akey_cmd.add_command('create', activation_key.Create())
    akey_cmd.add_command('info', activation_key.Info())
    akey_cmd.add_command('list', activation_key.List())
    akey_cmd.add_command('update', activation_key.Update())
    akey_cmd.add_command('delete', activation_key.Delete())
    akey_cmd.add_command('add_system_group', activation_key.AddSystemGroup())
    akey_cmd.add_command('remove_system_group', activation_key.RemoveSystemGroup())
    katello_cmd.add_command('activation_key', akey_cmd)

    env_cmd = environment.Environment()
    if mode == 'katello':
        env_cmd.add_command('create', environment.Create())
        env_cmd.add_command('delete', environment.Delete())
        env_cmd.add_command('update', environment.Update())
    env_cmd.add_command('info', environment.Info())
    env_cmd.add_command('list', environment.List())
    katello_cmd.add_command('environment', env_cmd)

    org_cmd = organization.Organization()
    org_cmd.add_command('create', organization.Create())
    org_cmd.add_command('info', organization.Info())
    org_cmd.add_command('list', organization.List())
    org_cmd.add_command('update', organization.Update())
    org_cmd.add_command('delete', organization.Delete())
    org_cmd.add_command('subscriptions', organization.ShowSubscriptions())
    if mode == 'katello':
        org_cmd.add_command('uebercert', organization.GenerateDebugCert())
    default_info_cmd = organization.DefaultInfo()
    default_info_cmd.add_command("add", organization.AddDefaultInfo())
    default_info_cmd.add_command("remove", organization.RemoveDefaultInfo())
    default_info_cmd.add_command("sync", organization.SyncDefaultInfo())
    org_cmd.add_command("default_info", default_info_cmd)
    org_cmd.add_command("attach_all_systems", organization.AttachAllSystems())
    katello_cmd.add_command('org', org_cmd)

    user_cmd = user.User()
    user_cmd.add_command('create', user.Create())
    user_cmd.add_command('info', user.Info())
    user_cmd.add_command('list', user.List())
    user_cmd.add_command('update', user.Update())
    user_cmd.add_command('delete', user.Delete())
    user_cmd.add_command('report', user.Report())
    user_cmd.add_command('assign_role', user.AssignRole(True))
    user_cmd.add_command('unassign_role', user.AssignRole(False))
    user_cmd.add_command('list_roles', user.ListRoles())
    user_cmd.add_command('sync_ldap_roles', user.SyncLdapRoles())
    katello_cmd.add_command('user', user_cmd)

    user_role_cmd = user_role.UserRole()
    user_role_cmd.add_command('create', user_role.Create())
    user_role_cmd.add_command('info', user_role.Info())
    user_role_cmd.add_command('list', user_role.List())
    user_role_cmd.add_command('update', user_role.Update())
    user_role_cmd.add_command('add_ldap_group', user_role.AddLdapGroup())
    user_role_cmd.add_command('remove_ldap_group', user_role.RemoveLdapGroup())
    user_role_cmd.add_command('delete', user_role.Delete())
    katello_cmd.add_command('user_role', user_role_cmd)

    permission_cmd = permission.Permission()
    permission_cmd.add_command('create', permission.Create())
    permission_cmd.add_command('list', permission.List())
    permission_cmd.add_command('delete', permission.Delete())
    permission_cmd.add_command('available_verbs', permission.ListAvailableVerbs())
    katello_cmd.add_command('permission', permission_cmd)

    katello_cmd.add_command('about', about.Status())

    katello_cmd.add_command('ping', ping.Status())
    katello_cmd.add_command('version', version.Info())

    prod_cmd = product.Product()
    prod_cmd.add_command('list', product.List())
    if mode == 'katello':
        prod_cmd.add_command('create', product.Create())
        prod_cmd.add_command('update', product.Update())
        prod_cmd.add_command('delete', product.Delete())
        prod_cmd.add_command('synchronize', product.Sync())
        prod_cmd.add_command('cancel_sync', product.CancelSync())
        prod_cmd.add_command('status', product.Status())
        prod_cmd.add_command('set_plan', product.SetSyncPlan())
        prod_cmd.add_command('remove_plan', product.RemoveSyncPlan())
        prod_cmd.add_command('repository_sets', product.ListRepositorySets())
        prod_cmd.add_command('repository_set_enable', product.EnableRepositorySet())
        prod_cmd.add_command('repository_set_disable', product.DisableRepositorySet())
    katello_cmd.add_command('product', prod_cmd)

    # these could be set in the same block but are separated
    # for clarity
    if mode == 'katello':
        repo_cmd = repo.Repo()
        repo_cmd.add_command('create', repo.Create())
        repo_cmd.add_command('update', repo.Update())
        repo_cmd.add_command('discover', repo.Discovery())
        repo_cmd.add_command('info', repo.Info())
        repo_cmd.add_command('list', repo.List())
        repo_cmd.add_command('delete', repo.Delete())
        repo_cmd.add_command('status', repo.Status())
        repo_cmd.add_command('synchronize', repo.Sync())
        repo_cmd.add_command('cancel_sync', repo.CancelSync())
        repo_cmd.add_command('enable', repo.Enable(True))
        repo_cmd.add_command('disable', repo.Enable(False))
        repo_cmd.add_command('content_upload', repo.ContentUpload())
        katello_cmd.add_command('repo', repo_cmd)

    if mode == 'katello':
        package_group_cmd = packagegroup.PackageGroup()
        package_group_cmd.add_command('list', packagegroup.List())
        package_group_cmd.add_command('info', packagegroup.Info())
        package_group_cmd.add_command('category_list', packagegroup.CategoryList())
        package_group_cmd.add_command('category_info', packagegroup.CategoryInfo())
        katello_cmd.add_command('package_group', package_group_cmd)

    if mode == 'katello':
        puppet_module_cmd = puppet_module.PuppetModule()
        puppet_module_cmd.add_command('list', puppet_module.List())
        puppet_module_cmd.add_command('info', puppet_module.Info())
        puppet_module_cmd.add_command('search', puppet_module.Search())
        katello_cmd.add_command('puppet_module', puppet_module_cmd)

    if mode == 'katello':
        dist_cmd = distribution.Distribution()
        dist_cmd.add_command('info', distribution.Info())
        dist_cmd.add_command('list', distribution.List())
        katello_cmd.add_command('distribution', dist_cmd)

    if mode == 'katello':
        pack_cmd = package.Package()
        pack_cmd.add_command('info', package.Info())
        pack_cmd.add_command('list', package.List())
        pack_cmd.add_command('search', package.Search())
        katello_cmd.add_command('package', pack_cmd)

    if mode == 'katello':
        errata_cmd = errata.Errata()
        errata_cmd.add_command('list', errata.List())
        errata_cmd.add_command('info', errata.Info())
        errata_cmd.add_command('system', errata.SystemErrata())
        errata_cmd.add_command('system_group', errata.SystemGroupErrata())
        katello_cmd.add_command('errata', errata_cmd)

    system_cmd = system.System()
    system_cmd.add_command('list', system.List())
    system_cmd.add_command('register', system.Register())
    system_cmd.add_command('unregister', system.Unregister())
    system_cmd.add_command('subscriptions', system.Subscriptions())
    system_cmd.add_command('subscribe', system.Subscribe())
    system_cmd.add_command('unsubscribe', system.Unsubscribe())
    system_cmd.add_command('info', system.Info())
    system_cmd.add_command('facts', system.Facts())
    system_cmd.add_command('update', system.Update())
    system_cmd.add_command('report', system.Report())
    system_cmd.add_command('releases', system.Releases())
    system_cmd.add_command('remove_deletion', system.RemoveDeletion())
    if mode == 'katello':
        system_cmd.add_command('tasks', system.TasksList())
        system_cmd.add_command('task', system.TaskInfo())
        system_cmd.add_command('packages', system.InstalledPackages())
    system_cmd.add_command('add_to_groups', system.AddSystemGroups())
    system_cmd.add_command('remove_from_groups', system.RemoveSystemGroups())
    system_custom_info_cmd = system.CustomInfo()
    system_custom_info_cmd.add_command('add', system_custom_info.AddSystemCustomInfo())
    system_custom_info_cmd.add_command('update', system_custom_info.UpdateSystemCustomInfo())
    system_custom_info_cmd.add_command('remove', system_custom_info.RemoveSystemCustomInfo())
    system_cmd.add_command('custom_info', system_custom_info_cmd)
    katello_cmd.add_command('system', system_cmd)

    distributor_cmd = distributor.Distributor()
    distributor_cmd.add_command('list', distributor.List())
    distributor_cmd.add_command('list-versions', distributor.ListVersions())
    distributor_cmd.add_command('create', distributor.Create())
    distributor_cmd.add_command('delete', distributor.Delete())
    distributor_cmd.add_command('subscriptions', distributor.Subscriptions())
    distributor_cmd.add_command('subscribe', distributor.Subscribe())
    distributor_cmd.add_command('unsubscribe', distributor.Unsubscribe())
    distributor_cmd.add_command('info', distributor.Info())
    distributor_cmd.add_command('update', distributor.Update())
    distributor_custom_info_cmd = distributor.CustomInfo()
    distributor_custom_info_cmd.add_command('add', distributor_custom_info.AddCustomInfo())
    distributor_custom_info_cmd.add_command('update', distributor_custom_info.UpdateCustomInfo())
    distributor_custom_info_cmd.add_command('remove', distributor_custom_info.RemoveCustomInfo())
    distributor_cmd.add_command('custom_info', distributor_custom_info_cmd)
    katello_cmd.add_command('distributor', distributor_cmd)

    system_group_cmd = system_group.SystemGroup()
    system_group_cmd.add_command('list', system_group.List())
    system_group_cmd.add_command('info', system_group.Info())
    system_group_cmd.add_command('systems', system_group.Systems())
    system_group_cmd.add_command('add_systems', system_group.AddSystems())
    system_group_cmd.add_command('remove_systems', system_group.RemoveSystems())
    system_group_cmd.add_command('create', system_group.Create())
    system_group_cmd.add_command('copy', system_group.Copy())
    system_group_cmd.add_command('update', system_group.Update())
    system_group_cmd.add_command('delete', system_group.Delete())
    if mode == 'katello':
        system_group_cmd.add_command('job_history', system_group.History())
        system_group_cmd.add_command('job_tasks', system_group.HistoryTasks())
        system_group_cmd.add_command('packages', system_group.Packages())
        system_group_cmd.add_command('errata', system_group.Errata())
        system_group_cmd.add_command('update_systems', system_group.UpdateSystems())
    katello_cmd.add_command('system_group', system_group_cmd)

    if mode == 'katello':
        sync_plan_cmd = sync_plan.SyncPlan()
        sync_plan_cmd.add_command('create', sync_plan.Create())
        sync_plan_cmd.add_command('info', sync_plan.Info())
        sync_plan_cmd.add_command('list', sync_plan.List())
        sync_plan_cmd.add_command('update', sync_plan.Update())
        sync_plan_cmd.add_command('delete', sync_plan.Delete())
        katello_cmd.add_command('sync_plan', sync_plan_cmd)

    katello_cmd.add_command('shell', shell_command.ShellAction(katello_cmd))

    prov_cmd = provider.Provider()
    prov_cmd.add_command('info', provider.Info())
    prov_cmd.add_command('list', provider.List())
    prov_cmd.add_command('import_manifest', provider.ImportManifest())
    prov_cmd.add_command('refresh_manifest', provider.RefreshManifest())
    prov_cmd.add_command('update', provider.Update())
    if mode == 'headpin':
        prov_cmd.add_command('delete_manifest', provider.DeleteManifest())
    if mode == 'katello':
        prov_cmd.add_command('create', provider.Update(create=True))
        prov_cmd.add_command('delete', provider.Delete())
        prov_cmd.add_command('synchronize', provider.Sync())
        prov_cmd.add_command('cancel_sync', provider.CancelSync())
        prov_cmd.add_command('status', provider.Status())
        prov_cmd.add_command('refresh_products', provider.RefreshProducts())
    katello_cmd.add_command('provider', prov_cmd)

    if mode == 'katello':
        node_cmd = node.Node()
        node_cmd.add_command('list', node.List())
        node_cmd.add_command('sync', node.Sync())
        node_cmd.add_command('add_environment', node.AddEnvironment())
        node_cmd.add_command('remove_environment', node.RemoveEnvironment())
        katello_cmd.add_command('node', node_cmd)

    if mode == 'katello':
        cset_cmd = changeset.Changeset()
        cset_cmd.add_command('create', changeset.Create())
        cset_cmd.add_command('list', changeset.List())
        cset_cmd.add_command('info', changeset.Info())
        cset_cmd.add_command('update', changeset.UpdateContent())
        cset_cmd.add_command('delete', changeset.Delete())
        cset_cmd.add_command('apply', changeset.Apply())
        cset_cmd.add_command('promote', changeset.Promote())
        katello_cmd.add_command('changeset', cset_cmd)

    if mode == 'katello':
        content_cmd = content.Content()
        cv_cmd = content_view.ContentView()
        cv_cmd.add_command('list', content_view.List())
        cv_cmd.add_command('info', content_view.Info())
        cv_cmd.add_command('promote', content_view.Promote())
        cv_cmd.add_command('refresh', content_view.Refresh())
        cv_cmd.add_command('delete', content_view.Delete())
        cvd_cmd = content_view_definition.ContentViewDefinition()
        cvd_cmd.add_command('list', content_view_definition.List())
        cvd_cmd.add_command('info', content_view_definition.Info())
        cvd_cmd.add_command('create', content_view_definition.Create())
        cvd_cmd.add_command('delete', content_view_definition.Delete())
        cvd_cmd.add_command('update', content_view_definition.Update())
        cvd_cmd.add_command('publish', content_view_definition.Publish())
        cvd_cmd.add_command('clone', content_view_definition.Clone())
        cvd_cmd.add_command('add_product',
                content_view_definition.AddRemoveProduct(True))
        cvd_cmd.add_command('remove_product',
                content_view_definition.AddRemoveProduct(False))
        cvd_cmd.add_command('add_repo',
                content_view_definition.AddRemoveRepo(True))
        cvd_cmd.add_command('remove_repo',
                content_view_definition.AddRemoveRepo(False))
        cvd_cmd.add_command('add_view',
                content_view_definition.AddRemoveContentView(True))
        cvd_cmd.add_command('remove_view',
                content_view_definition.AddRemoveContentView(False))

        filter_cmd = content_filter.Filter()
        filter_cmd.add_command('list', content_filter.List())
        filter_cmd.add_command('info', content_filter.Info())
        filter_cmd.add_command('create', content_filter.Create())
        filter_cmd.add_command('delete', content_filter.Delete())
        filter_cmd.add_command('add_product',
                content_filter.AddRemoveProduct(True))
        filter_cmd.add_command('remove_product',
                content_filter.AddRemoveProduct(False))
        filter_cmd.add_command('add_repo',
                content_filter.AddRemoveRepo(True))
        filter_cmd.add_command('remove_repo',
                content_filter.AddRemoveRepo(False))
        filter_cmd.add_command('add_rule',
                content_filter.AddRule())
        filter_cmd.add_command('remove_rule',
                content_filter.RemoveRule())
        cvd_cmd.add_command("filter", filter_cmd)
        content_cmd.add_command('view', cv_cmd)
        content_cmd.add_command('definition', cvd_cmd)
        katello_cmd.add_command('content', content_cmd)

    if mode == 'katello':
        task_cmd = task.Task()
        task_cmd.add_command('status', task.Status())
        task_cmd.add_command('list', task.List())
        katello_cmd.add_command('task', task_cmd)

    client_cmd = client.Client()
    client_cmd.add_command('remember', client.Remember())
    client_cmd.add_command('forget', client.Forget())
    client_cmd.add_command('saved_options', client.SavedOptions())
    katello_cmd.add_command('client', client_cmd)

    if mode == 'katello':
        gpgkey_cmd = gpg_key.GpgKey()
        gpgkey_cmd.add_command('create', gpg_key.Create())
        gpgkey_cmd.add_command('info', gpg_key.Info())
        gpgkey_cmd.add_command('list', gpg_key.List())
        gpgkey_cmd.add_command('update', gpg_key.Update())
        gpgkey_cmd.add_command('delete', gpg_key.Delete())
        katello_cmd.add_command('gpg_key', gpgkey_cmd)

    if mode == 'katello':
        admin_cmd = admin.Admin()
        admin_cmd.add_command('crl_regen', admin.CrlRegen())
        katello_cmd.add_command('admin', admin_cmd)
Пример #20
0
    def run(self):
        orgId = self.get_option("org")
        envName = self.get_option("environment")
        format_in = self.get_option("format")

        if envName is None:
            report = self.api.report_by_org(orgId, convert_to_mime_type(format_in, "text"))
        else:
            environment = get_environment(orgId, envName)
            report = self.api.report_by_env(environment["id"], convert_to_mime_type(format_in, "text"))

        if format_in == "pdf":
            save_report(report[0], attachment_file_name(report[1], "%s_systems_report.pdf" % get_katello_mode()))
        else:
            print report[0]

        return os.EX_OK