Ejemplo n.º 1
0
Archivo: repo.py Proyecto: beav/katello
    def run(self):
        orgName = self.get_option('org')
        envName = self.get_option('env')
        prodName = self.get_option('product')
        listDisabled = self.has_option('disabled')

        self.printer.add_column('id')
        self.printer.add_column('name')
        self.printer.add_column('package_count')
        self.printer.add_column('last_sync', formatter=format_sync_time)

        if prodName and envName:
            env  = get_environment(orgName, envName)
            prod = get_product(orgName, prodName)

            self.printer.set_header(_("Repo List For Org %s Environment %s Product %s") %
                (orgName, env["name"], prodName))
            repos = self.api.repos_by_env_product(env["id"], prod["id"], None, listDisabled)
            self.printer.print_items(repos)

        elif prodName:
            prod = get_product(orgName, prodName)
            self.printer.set_header(_("Repo List for Product %s in Org %s ") %
                (prodName, orgName))
            repos = self.api.repos_by_product(orgName, prod["id"], listDisabled)
            self.printer.print_items(repos)

        else:
            env  = get_environment(orgName, envName)
            self.printer.set_header(_("Repo List For Org %s Environment %s") %
                (orgName, env["name"]))
            repos = self.api.repos_by_org_env(orgName,  env["id"], listDisabled)
            self.printer.print_items(repos)

        return os.EX_OK
Ejemplo n.º 2
0
    def run(self):
        orgName = self.get_option('org')
        envName = self.get_option('env')
        prodName = self.get_option('product')
        listDisabled = self.has_option('disabled')

        self.printer.add_column('id')
        self.printer.add_column('name')
        self.printer.add_column('package_count')
        self.printer.add_column('last_sync', formatter=format_sync_time)

        if prodName and envName:
            env  = get_environment(orgName, envName)
            prod = get_product(orgName, prodName)

            self.printer.set_header(_("Repo List For Org %s Environment %s Product %s") %
                (orgName, env["name"], prodName))
            repos = self.api.repos_by_env_product(env["id"], prod["id"], None, listDisabled)
            self.printer.print_items(repos)

        elif prodName:
            prod = get_product(orgName, prodName)
            self.printer.set_header(_("Repo List for Product %s in Org %s ") %
                (prodName, orgName))
            repos = self.api.repos_by_product(orgName, prod["id"], listDisabled)
            self.printer.print_items(repos)

        else:
            env  = get_environment(orgName, envName)
            self.printer.set_header(_("Repo List For Org %s Environment %s") %
                (orgName, env["name"]))
            repos = self.api.repos_by_org_env(orgName,  env["id"], listDisabled)
            self.printer.print_items(repos)

        return os.EX_OK
Ejemplo n.º 3
0
    def run(self):
        orgName = self.get_option("org")
        envName = self.get_option("environment")
        prodName = self.get_option("product")
        prodLabel = self.get_option("product_label")
        prodId = self.get_option("product_id")
        listDisabled = self.has_option("disabled")
        content_view_name = self.get_option("view_name")
        content_view_label = self.get_option("view_label")
        content_view_id = self.get_option("view_id")

        batch_add_columns(
            self.printer,
            {"id": _("ID")},
            {"name": _("Name")},
            {"label": _("Label")},
            {"content_type": _("Type")},
            {"package_count": _("Package Count")},
            {"puppet_module_count": _("Puppet Module Count")},
        )

        self.printer.add_column("last_sync", _("Last Sync"), formatter=format_sync_time)

        if content_view_name or content_view_label or content_view_id:
            content_view = get_content_view(orgName, content_view_label, content_view_name, content_view_id)
            content_view_id = content_view["id"]

        prodIncluded = prodName or prodLabel or prodId
        if prodIncluded and envName:
            env = get_environment(orgName, envName)
            prod = get_product(orgName, prodName, prodLabel, prodId)

            self.printer.set_header(
                _("Repo List For Org %(org_name)s Environment %(env_name)s Product %(prodName)s")
                % {"org_name": orgName, "env_name": env["name"], "prodName": prodName}
            )
            repos = self.api.repos_by_env_product(env["id"], prod["id"], None, listDisabled, content_view_id)
            self.printer.print_items(repos)

        elif prodIncluded:
            prod = get_product(orgName, prodName, prodLabel, prodId)
            self.printer.set_header(
                _("Repo List for Product %(prodName)s in Org %(orgName)s ") % {"prodName": prodName, "orgName": orgName}
            )
            repos = self.api.repos_by_product(orgName, prod["id"], listDisabled)
            self.printer.print_items(repos)

        else:
            env = get_environment(orgName, envName)
            self.printer.set_header(
                _("Repo List For Org %(orgName)s Environment %(env_name)s")
                % {"orgName": orgName, "env_name": env["name"]}
            )
            repos = self.api.repos_by_org_env(orgName, env["id"], listDisabled, content_view_id)
            self.printer.print_items(repos)

        return os.EX_OK
Ejemplo n.º 4
0
    def run(self):
        repo_id   = self.get_option('repo_id')
        repo_name = self.get_option('repo')
        org_name  = self.get_option('org')
        env_name  = self.get_option('env')
        env_id, prod_id = None, None
        prod_name = self.get_option('product')

        self.printer.add_column('id')
        self.printer.add_column('title')
        self.printer.add_column('type')

        if not repo_id:
            if repo_name:
                repo = get_repo(org_name, prod_name, repo_name, env_name)
                repo_id = repo["id"]
            else:
                env = get_environment(org_name, env_name)
                env_id = env["id"]
                if prod_name:
                    product = get_product(org_name, prod_name)
                    prod_id = product["id"]


        errata = self.api.errata_filter(repo_id=repo_id, environment_id=env_id, type=self.get_option('type'), severity=self.get_option('severity'),prod_id=prod_id)

        self.printer.set_header(_("Errata List"))
        self.printer.print_items(errata)
        return os.EX_OK
Ejemplo n.º 5
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        envName     = self.get_option('environment')

        env = get_environment(orgName, envName)
        prod = get_product(orgName, prodName, prodLabel, prodId)

        returnCode = os.EX_OK

        cset = self.csapi.create(orgName, env["id"], self.create_cs_name(), constants.PROMOTION)
        try:
            self.csapi.add_content(cset["id"], "products", {'product_id': prod['id']})
            task = self.csapi.apply(cset["id"])
            task = AsyncTask(task)

            run_spinner_in_bg(wait_for_async_task, [task], message=_("Promoting the product, please wait... "))

            if task.succeeded():
                print _("Product [ %(prod_name)s ] promoted to environment [ %(envName)s ] " \
                    % {'prod_name':prod["name"], 'envName':envName})
                returnCode = os.EX_OK
            else:
                print _("Product [ %(prod_name)s ] promotion failed: %(task_errors)s" \
                    % {'prod_name':prod["name"], 'task_errors':format_task_errors(task.errors())} )
                returnCode = os.EX_DATAERR

        except Exception:
            #exception message is printed from action's main method
            raise

        return returnCode
Ejemplo n.º 6
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        envName     = self.get_option('environment')

        env = get_environment(orgName, envName)
        prod = get_product(orgName, prodName, prodLabel, prodId)


        if not self.repoapi.repos_by_product(orgName, prod['id']):
            print _("Product [ %(prod_name)s ] has no repository") % {'prod_name':prod['name']}
            return os.EX_DATAERR

        cset = self.csapi.create(orgName, env["id"], self.create_cs_name(), constants.PROMOTION)

        self.csapi.add_content(cset["id"], "products", {'product_id': prod['id']})
        task = self.csapi.apply(cset["id"])
        task = AsyncTask(task)

        run_spinner_in_bg(wait_for_async_task, [task], message=_("Promoting the product, please wait... "))

        return evaluate_task_status(task,
            failed = _("Product [ %s ] promotion failed") % prod["name"],
            ok =     _("Product [ %(prod)s ] promoted to environment [ %(env)s ]") %
                {'prod':prod["name"], 'env':envName}
        )
Ejemplo n.º 7
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')

        prod = get_product(orgName, prodName, prodLabel, prodId)

        task = AsyncTask(self.api.last_sync_status(orgName, prod['id']))

        if task.is_running():
            pkgsTotal = task.total_count()
            pkgsLeft = task.items_left()
            prod['progress'] = ("%d%% done (%d of %d packages downloaded)" %
                (task.get_progress()*100, pkgsTotal-pkgsLeft, pkgsTotal))

        #TODO: last errors?

        batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")}, \
            {'provider_id': _("Provider ID")}, {'provider_name': _("Provider Name")})
        self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time)
        self.printer.add_column('sync_state', _("Sync State"), formatter=format_sync_state)
        self.printer.add_column('progress', _("Progress"), show_with=printer.VerboseStrategy)

        self.printer.set_header(_("Product Status"))
        self.printer.print_item(prod)
        return os.EX_OK
Ejemplo n.º 8
0
    def run(self):
        repo_id   = self.get_option('repo_id')
        repo_name = self.get_option('repo')
        org_name  = self.get_option('org')
        env_name  = self.get_option('environment')
        env_id, prod_id = None, None
        prod_name = self.get_option('product')

        self.printer.add_column('id')
        self.printer.add_column('title')
        self.printer.add_column('type')

        if not repo_id:
            if repo_name:
                repo = get_repo(org_name, prod_name, repo_name, env_name)
                repo_id = repo["id"]
            else:
                env = get_environment(org_name, env_name)
                env_id = env["id"]
                if prod_name:
                    product = get_product(org_name, prod_name)
                    prod_id = product["id"]


        errata = self.api.errata_filter(repo_id=repo_id, environment_id=env_id, type_in=self.get_option('type'),
            severity=self.get_option('severity'), prod_id=prod_id)

        self.printer.set_header(_("Errata List"))
        self.printer.print_items(errata)
        return os.EX_OK
Ejemplo n.º 9
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')

        prod = get_product(orgName, prodName, prodLabel, prodId)

        task = AsyncTask(self.api.last_sync_status(orgName, prod['id']))

        if task.is_running():
            pkgsTotal = task.total_count()
            pkgsLeft = task.items_left()
            prod['progress'] = ("%d%% done (%d of %d packages downloaded)" %
                (task.get_progress()*100, pkgsTotal-pkgsLeft, pkgsTotal))

        #TODO: last errors?

        batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")}, \
            {'provider_id': _("Provider ID")}, {'provider_name': _("Provider Name")})
        self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time)
        self.printer.add_column('sync_state', _("Sync State"), formatter=format_sync_state)
        self.printer.add_column('progress', _("Progress"), show_with=printer.VerboseStrategy)

        self.printer.set_header(_("Product Status"))
        self.printer.print_item(prod)
        return os.EX_OK
Ejemplo n.º 10
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        envName     = self.get_option('env')

        env = get_environment(orgName, envName)
        prod = get_product(orgName, prodName)

        returnCode = os.EX_OK

        cset = self.csapi.create(orgName, env["id"], self.create_cs_name())
        try:
            self.csapi.add_content(cset["id"], "products", {'product_id': prod['id']})
            task = self.csapi.promote(cset["id"])
            task = AsyncTask(task)

            run_spinner_in_bg(wait_for_async_task, [task], message=_("Promoting the product, please wait... "))

            if task.succeeded():
                print _("Product [ %s ] promoted to environment [ %s ] " % (prodName, envName))
                returnCode = os.EX_OK
            else:
                print _("Product [ %s ] promotion failed: %s" % (prodName, format_task_errors(task.errors())) )
                returnCode = os.EX_DATAERR

        except Exception as e:
            #exception message is printed from action's main method
            raise e

        return returnCode
Ejemplo n.º 11
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        envName     = self.get_option('env')

        env = get_environment(orgName, envName)
        prod = get_product(orgName, prodName)

        returnCode = os.EX_OK

        cset = self.csapi.create(orgName, env["id"], self.create_cs_name())
        try:
            self.csapi.add_content(cset["id"], "products", {'product_id': prod['id']})
            task = self.csapi.promote(cset["id"])
            task = AsyncTask(task)

            run_spinner_in_bg(wait_for_async_task, [task], message=_("Promoting the product, please wait... "))

            if task.succeeded():
                print _("Product [ %s ] promoted to environment [ %s ] " % (prodName, envName))
                returnCode = os.EX_OK
            else:
                print _("Product [ %s ] promotion failed: %s" % (prodName, format_task_errors(task.errors())) )
                returnCode = os.EX_DATAERR

        except Exception as e:
            #exception message is printed from action's main method
            raise e

        return returnCode
Ejemplo n.º 12
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')

        prod = get_product(orgName, prodName)
        if (prod == None):
            return os.EX_DATAERR

        task = AsyncTask(self.api.last_sync_status(orgName, prod['id']))

        prod['last_sync'] = format_sync_time(prod['last_sync'])
        prod['sync_state'] = format_sync_state(prod['sync_state'])

        if task.is_running():
            pkgsTotal = task.total_count()
            pkgsLeft = task.items_left()
            prod['progress'] = ("%d%% done (%d of %d packages downloaded)" % (task.get_progress()*100, pkgsTotal-pkgsLeft, pkgsTotal))

        #TODO: last errors?

        self.printer.add_column('id')
        self.printer.add_column('name')
        self.printer.add_column('provider_id')
        self.printer.add_column('provider_name')
        self.printer.add_column('last_sync')
        self.printer.add_column('sync_state')
        self.printer.add_column('progress', show_with=printer.VerboseStrategy)

        self.printer.set_header(_("Product Status"))
        self.printer.print_item(prod)
        return os.EX_OK
Ejemplo n.º 13
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        envName     = self.get_option('environment')

        env = get_environment(orgName, envName)
        prod = get_product(orgName, prodName, prodLabel, prodId)


        if not self.repoapi.repos_by_product(orgName, prod['id']):
            print _("Product [ %(prod_name)s ] has no repository") % {'prod_name':prod['name']}
            return os.EX_DATAERR

        cset = self.csapi.create(orgName, env["id"], self.create_cs_name(), constants.PROMOTION)

        self.csapi.add_content(cset["id"], "products", {'product_id': prod['id']})
        task = self.csapi.apply(cset["id"])
        task = AsyncTask(task)

        run_spinner_in_bg(wait_for_async_task, [task], message=_("Promoting the product, please wait... "))

        return evaluate_task_status(task,
            failed = _("Product [ %s ] promotion failed") % prod["name"],
            ok =     _("Product [ %(prod)s ] promoted to environment [ %(env)s ]") %
                {'prod':prod["name"], 'env':envName}
        )
Ejemplo n.º 14
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')
        product = get_product(orgName, prodName)

        msg = self.api.delete(orgName, product["id"])
        print msg
        return os.EX_OK
Ejemplo n.º 15
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')
        product = get_product(orgName, prodName)

        msg = self.api.delete(orgName, product["id"])
        print msg
        return os.EX_OK
Ejemplo n.º 16
0
        def product_id(self, options):
            if 'product' in options:
                prod_name = options['product']
            else:
                prod_name = options['name']

            prod = get_product(self.org_name, prod_name)
            return prod['id']
Ejemplo n.º 17
0
        def product_id(self, options):
            if 'product' in options:
                prod_name = options['product']
            else:
                prod_name = options['name']

            prod = get_product(self.org_name, prod_name)
            return prod['id']
Ejemplo n.º 18
0
 def productNamesToIds(self, orgName, productNames):
     ids = []
     for prodName in productNames:
         p = get_product(orgName, prodName)
         if p != None:
             ids.append(p['id'])
         else:
             system_exit(os.EX_DATAERR)
     return ids
Ejemplo n.º 19
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')

        prod = get_product(orgName, prodName)

        msg = self.api.cancel_sync(orgName, prod["id"])
        print msg
        return os.EX_OK
Ejemplo n.º 20
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')

        prod = get_product(orgName, prodName)

        msg = self.api.remove_sync_plan(orgName, prod['id'])
        print msg
        return os.EX_OK
Ejemplo n.º 21
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')

        prod = get_product(orgName, prodName)

        msg = self.api.cancel_sync(orgName, prod["id"])
        print msg
        return os.EX_OK
Ejemplo n.º 22
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')

        prod = get_product(orgName, prodName)

        msg = self.api.remove_sync_plan(orgName, prod['id'])
        print msg
        return os.EX_OK
Ejemplo n.º 23
0
 def productNamesToIds(self, orgName, productNames):
     ids = []
     for prodName in productNames:
         p = get_product(orgName, prodName)
         if p != None:
             ids.append(p['id'])
         else:
             system_exit(os.EX_DATAERR)
     return ids
Ejemplo n.º 24
0
        def product_id(self, options):
            prod_opts = self.product_options(options)

            # if the product name/label/id are all none...
            if (all(opt is None for opt in prod_opts.itervalues())):
                prod_opts['name'] = options['name']

            prod = get_product(self.org_name, prod_opts['name'], prod_opts['label'], prod_opts['id'])

            return prod['id']
Ejemplo n.º 25
0
        def product_id(self, options):
            if 'product' in options:
                prodName = options['product']
            else:
                prodName = options['name']

            prod = get_product(self.orgName, prodName)
            if prod == None:
                system_exit(os.EX_DATAERR)
            return prod['id']
Ejemplo n.º 26
0
        def product_id(self, options):
            prod_opts = self.product_options(options)

            # if the product name/label/id are all none...
            if (all(opt is None for opt in prod_opts.itervalues())):
                prod_opts['name'] = options['name']

            prod = get_product(self.org_name, prod_opts['name'],
                               prod_opts['label'], prod_opts['id'])

            return prod['id']
Ejemplo n.º 27
0
    def run(self):
        org_name     = self.get_option('org')
        prod_name    = self.get_option('name')
        filter_name  = self.get_option('filter')

        prod = get_product(org_name, prod_name)
        get_filter(org_name, filter_name)

        filters = self.api.filters(org_name, prod['id'])
        filters = [f['name'] for f in filters]
        self.update_filters(org_name, prod, filters, filter_name)
        return os.EX_OK
Ejemplo n.º 28
0
    def run(self):
        org_name     = self.get_option('org')
        prod_name    = self.get_option('name')
        filter_name  = self.get_option('filter')

        prod = get_product(org_name, prod_name)
        get_filter(org_name, filter_name)

        filters = self.api.filters(org_name, prod['id'])
        filters = [f['name'] for f in filters]
        self.update_filters(org_name, prod, filters, filter_name)
        return os.EX_OK
Ejemplo n.º 29
0
    def run(self):
        orgName = self.get_option('org')
        envName = self.get_option('environment')
        prodName = self.get_option('product')
        prodLabel = self.get_option('product_label')
        prodId = self.get_option('product_id')
        listDisabled = self.has_option('disabled')

        batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")},
                          {'label': _("Label")}, {'content_type': _("Type")},
                          {'package_count': _("Package Count")},
                          {'puppet_module_count': _("Puppet Module Count")})

        self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time)

        prodIncluded = prodName or prodLabel or prodId
        if prodIncluded and envName:
            env  = get_environment(orgName, envName)
            prod = get_product(orgName, prodName, prodLabel, prodId)

            self.printer.set_header(_("Repo List For Org %(org_name)s Environment %(env_name)s Product %(prodName)s") %
                {'org_name':orgName, 'env_name':env["name"], 'prodName':prodName})
            repos = self.api.repos_by_env_product(env["id"], prod["id"], None, listDisabled)
            self.printer.print_items(repos)

        elif prodIncluded:
            prod = get_product(orgName, prodName, prodLabel, prodId)
            self.printer.set_header(_("Repo List for Product %(prodName)s in Org %(orgName)s ") %
                {'prodName':prodName, 'orgName':orgName})
            repos = self.api.repos_by_product(orgName, prod["id"], listDisabled)
            self.printer.print_items(repos)

        else:
            env  = get_environment(orgName, envName)
            self.printer.set_header(_("Repo List For Org %(orgName)s Environment %(env_name)s") %
                {'orgName':orgName, 'env_name':env["name"]})
            repos = self.api.repos_by_org_env(orgName,  env["id"], listDisabled)
            self.printer.print_items(repos)

        return os.EX_OK
Ejemplo n.º 30
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prod = get_product(orgName, prodName)

        filters = self.api.filters(orgName, prod['id'])
        self.printer.add_column('name')
        self.printer.add_column('description')
        self.printer.set_header(_("Product Filters"))
        self.printer.print_items(filters)


        return os.EX_OK
Ejemplo n.º 31
0
Archivo: repo.py Proyecto: beav/katello
    def run(self):
        name     = self.get_option('name')
        url      = self.get_option('url')
        prodName = self.get_option('prod')
        orgName  = self.get_option('org')
        gpgkey   = self.get_option('gpgkey')
        nogpgkey   = self.get_option('nogpgkey')

        prod = get_product(orgName, prodName)
        self.api.create(orgName, prod["id"], name, url, gpgkey, nogpgkey)
        print _("Successfully created repository [ %s ]") % name

        return os.EX_OK
Ejemplo n.º 32
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prod = get_product(orgName, prodName)

        filters = self.api.filters(orgName, prod['id'])
        self.printer.add_column('name')
        self.printer.add_column('description')
        self.printer.set_header(_("Product Filters"))
        self.printer.print_items(filters)


        return os.EX_OK
Ejemplo n.º 33
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')
        prodLabel = self.get_option('label')
        prodId   = self.get_option('id')
        planName = self.get_option('plan')

        prod = get_product(orgName, prodName, prodLabel, prodId)
        plan = get_sync_plan(orgName, planName)

        msg = self.api.set_sync_plan(orgName, prod['id'], plan['id'])
        print msg
        return os.EX_OK
Ejemplo n.º 34
0
    def run(self):
        name     = self.get_option('name')
        url      = self.get_option('url')
        prodName = self.get_option('prod')
        orgName  = self.get_option('org')
        gpgkey   = self.get_option('gpgkey')
        nogpgkey   = self.get_option('nogpgkey')

        prod = get_product(orgName, prodName)
        self.api.create(orgName, prod["id"], name, url, gpgkey, nogpgkey)
        print _("Successfully created repository [ %s ]") % name

        return os.EX_OK
Ejemplo n.º 35
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')
        prodLabel = self.get_option('label')
        prodId   = self.get_option('id')
        planName = self.get_option('plan')

        prod = get_product(orgName, prodName, prodLabel, prodId)
        plan = get_sync_plan(orgName, planName)

        msg = self.api.set_sync_plan(orgName, prod['id'], plan['id'])
        print msg
        return os.EX_OK
Ejemplo n.º 36
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')

        description = self.get_option('description')
        gpgkey = self.get_option('gpgkey')
        nogpgkey = self.get_option('nogpgkey')
        gpgkey_recursive = self.get_option('recursive')

        prod = get_product(orgName, prodName)

        prod = self.api.update(orgName, prod["id"], description, gpgkey, nogpgkey, gpgkey_recursive)
        print _("Successfully updated product [ %s ]") % prodName
        return os.EX_OK
Ejemplo n.º 37
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')

        description = self.get_option('description')
        gpgkey = self.get_option('gpgkey')
        nogpgkey = self.get_option('nogpgkey')
        gpgkey_recursive = self.get_option('recursive')

        prod = get_product(orgName, prodName)

        prod = self.api.update(orgName, prod["id"], description, gpgkey, nogpgkey, gpgkey_recursive)
        print _("Successfully updated product [ %s ]") % prodName
        return os.EX_OK
Ejemplo n.º 38
0
    def run(self):
        orgName = self.get_option('org')
        envName = self.get_option('environment')
        prodName = self.get_option('product')
        prodLabel = self.get_option('product_label')
        prodId = self.get_option('product_id')
        listDisabled = self.has_option('disabled')

        batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")}, \
            {'label': _("Label")}, {'package_count': _("Package Count")})
        self.printer.add_column('last_sync', _("Last Sync"), formatter=format_sync_time)

        prodIncluded = prodName or prodLabel or prodId
        if prodIncluded and envName:
            env  = get_environment(orgName, envName)
            prod = get_product(orgName, prodName, prodLabel, prodId)

            self.printer.set_header(_("Repo List For Org %(org_name)s Environment %(env_name)s Product %(prodName)s") %
                {'org_name':orgName, 'env_name':env["name"], 'prodName':prodName})
            repos = self.api.repos_by_env_product(env["id"], prod["id"], None, listDisabled)
            self.printer.print_items(repos)

        elif prodIncluded:
            prod = get_product(orgName, prodName, prodLabel, prodId)
            self.printer.set_header(_("Repo List for Product %(prodName)s in Org %(orgName)s ") %
                {'prodName':prodName, 'orgName':orgName})
            repos = self.api.repos_by_product(orgName, prod["id"], listDisabled)
            self.printer.print_items(repos)

        else:
            env  = get_environment(orgName, envName)
            self.printer.set_header(_("Repo List For Org %(orgName)s Environment %(env_name)s") %
                {'orgName':orgName, 'env_name':env["name"]})
            repos = self.api.repos_by_org_env(orgName,  env["id"], listDisabled)
            self.printer.print_items(repos)

        return os.EX_OK
Ejemplo n.º 39
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prod = get_product(orgName, prodName)
        if (prod == None):
            return os.EX_DATAERR

        filters = self.api.filters(orgName, prod['id'])
        self.printer.addColumn('name')
        self.printer.addColumn('description')
        self.printer.setHeader(_("Product Filters"))
        self.printer.printItems(filters)


        return os.EX_OK
Ejemplo n.º 40
0
Archivo: repo.py Proyecto: beav/katello
    def run(self):
        name     = self.get_option('name')
        url      = self.get_option('url')
        assumeyes = self.get_option('assumeyes')
        prodName = self.get_option('prod')
        orgName  = self.get_option('org')

        repourls = self.discover_repositories(orgName, url)
        self.printer.set_header(_("Repository Urls discovered @ [%s]" % url))
        selectedurls = self.select_repositories(repourls, assumeyes)

        prod = get_product(orgName, prodName)
        self.create_repositories(orgName, prod["id"], name, selectedurls)

        return os.EX_OK
Ejemplo n.º 41
0
Archivo: repo.py Proyecto: Pajk/katello
    def run(self):
        name     = self.get_option('name')
        url      = self.get_option('url')
        assumeyes = self.get_option('assumeyes')
        prodName = self.get_option('product')
        orgName  = self.get_option('org')

        repourls = self.discover_repositories(orgName, url)
        self.printer.set_header(_("Repository Urls discovered @ [%s]" % url))
        selectedurls = self.select_repositories(repourls, assumeyes)

        product = get_product(orgName, prodName)
        self.create_repositories(orgName, product["id"], name, selectedurls)

        return os.EX_OK
Ejemplo n.º 42
0
    def run(self):
        name     = self.get_option('name')
        label    = self.get_option('label')
        url      = self.get_option('url')
        prodName = self.get_option('product')
        prodLabel = self.get_option('product_label')
        prodId   = self.get_option('product_id')
        orgName  = self.get_option('org')
        gpgkey   = self.get_option('gpgkey')
        nogpgkey   = self.get_option('nogpgkey')
        unprotected = self.get_option('unprotected')
        product = get_product(orgName, prodName, prodLabel, prodId)
        self.api.create(orgName, product["id"], name, label, url, unprotected, gpgkey, nogpgkey)
        print _("Successfully created repository [ %s ]") % name

        return os.EX_OK
Ejemplo n.º 43
0
    def run(self):
        org_name      = self.get_option('org')
        def_label     = self.get_option('label')
        def_name      = self.get_option('name')
        def_id        = self.get_option('id')
        product_name  = self.get_option('product')
        product_id    = self.get_option('product_id')
        product_label = self.get_option('product_label')

        view    = get_cv_definition(org_name, def_label, def_name, def_id)
        product = get_product(org_name, product_name, product_label, product_id)

        products = self.api.products(org_name, view['id'])
        products = [f['id'] for f in products]
        self.update_products(org_name, view, products, product)
        return os.EX_OK
Ejemplo n.º 44
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        prod = get_product(orgName, prodName, prodLabel, prodId)
        sets = self.api.repository_sets(orgName, prod["id"])
        sets = sorted(sets, key=lambda k: k['name']) 

        batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")}, \
            {'katello_enabled': _("Enabled?")})
        self.printer.set_header(_("Repository Sets For Product [ %s ]") % (prod['name']))

        self.printer.print_items(sets)

        return os.EX_OK
Ejemplo n.º 45
0
    def run(self):
        name = self.get_option("name")
        label = self.get_option("label")
        url = self.get_option("url")
        prodName = self.get_option("product")
        prodLabel = self.get_option("product_label")
        prodId = self.get_option("product_id")
        orgName = self.get_option("org")
        gpgkey = self.get_option("gpgkey")
        nogpgkey = self.get_option("nogpgkey")
        unprotected = self.get_option("unprotected")
        product = get_product(orgName, prodName, prodLabel, prodId)
        self.api.create(orgName, product["id"], name, label, url, unprotected, gpgkey, nogpgkey)
        print _("Successfully created repository [ %s ]") % name

        return os.EX_OK
Ejemplo n.º 46
0
    def run(self):
        orgName  = self.get_option('org')
        prodName = self.get_option('name')
        planName = self.get_option('plan')

        prod = get_product(orgName, prodName)
        if (prod == None):
            return os.EX_DATAERR

        plan = get_sync_plan(orgName, planName)
        if (plan == None):
            return os.EX_DATAERR

        msg = self.api.set_sync_plan(orgName, prod['id'], plan['id'])
        print msg
        return os.EX_OK
Ejemplo n.º 47
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')

        prod = get_product(orgName, prodName, prodLabel, prodId)

        task = AsyncTask(self.api.sync(orgName, prod["id"]))
        run_async_task_with_status(task, ProgressBar())

        return evaluate_task_status(task,
            failed =   _("Product [ %s ] failed to sync") % prod["name"],
            canceled = _("Product [ %s ] synchronization canceled") % prod["name"],
            ok =       _("Product [ %s ] synchronized") % prod["name"]
        )
Ejemplo n.º 48
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')

        prod = get_product(orgName, prodName, prodLabel, prodId)

        task = AsyncTask(self.api.sync(orgName, prod["id"]))
        run_async_task_with_status(task, ProgressBar())

        return evaluate_task_status(task,
            failed =   _("Product [ %s ] failed to sync") % prod["name"],
            canceled = _("Product [ %s ] synchronization canceled") % prod["name"],
            ok =       _("Product [ %s ] synchronized") % prod["name"]
        )
Ejemplo n.º 49
0
    def run(self):
        org_name      = self.get_option('org')
        def_label     = self.get_option('label')
        def_name      = self.get_option('name')
        def_id        = self.get_option('id')
        product_name  = self.get_option('product')
        product_id    = self.get_option('product_id')
        product_label = self.get_option('product_label')

        view    = get_cv_definition(org_name, def_label, def_name, def_id)
        product = get_product(org_name, product_name, product_label, product_id)

        products = self.api.products(org_name, view['id'])
        products = [f['id'] for f in products]
        self.update_products(org_name, view, products, product)
        return os.EX_OK
Ejemplo n.º 50
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        prod = get_product(orgName, prodName, prodLabel, prodId)
        sets = self.api.repository_sets(orgName, prod["id"])
        sets = sorted(sets, key=lambda k: k['name']) 

        batch_add_columns(self.printer, {'id': _("ID")}, {'name': _("Name")}, \
            {'katello_enabled': _("Enabled?")})
        self.printer.set_header(_("Repository Sets For Product [ %s ]") % (prod['name']))

        self.printer.print_items(sets)

        return os.EX_OK
Ejemplo n.º 51
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        prod = get_product(orgName, prodName, prodLabel, prodId)
        set_name      = self.get_option('set_name')

        task = AsyncTask(self.api.disable_repository_set(orgName, prod['id'], set_name))
        task = run_spinner_in_bg(wait_for_async_task, [task],
                message=_("Disabling Repository Set..."))
        task = AsyncTask(task)
        return evaluate_task_status(task,
            failed = _("Repository disable [ %(set_name)s ] failed.") % 
                        {'set_name':set_name},
            ok = _("Repository Set [ %(set_name)s ] disabled.") % {'set_name':set_name}
        )
Ejemplo n.º 52
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')
        prodLabel   = self.get_option('label')
        prodId      = self.get_option('id')
        prod = get_product(orgName, prodName, prodLabel, prodId)
        set_name      = self.get_option('set_name')

        task = AsyncTask(self.api.disable_repository_set(orgName, prod['id'], set_name))
        task = run_spinner_in_bg(wait_for_async_task, [task],
                message=_("Disabling Repository Set..."))
        task = AsyncTask(task)
        return evaluate_task_status(task,
            failed = _("Repository disable [ %(set_name)s ] failed.") % 
                        {'set_name':set_name},
            ok = _("Repository Set [ %(set_name)s ] disabled.") % {'set_name':set_name}
        )
Ejemplo n.º 53
0
    def run(self):
        orgName     = self.get_option('org')
        prodName    = self.get_option('name')

        prod = get_product(orgName, prodName)

        task = AsyncTask(self.api.sync(orgName, prod["id"]))
        run_async_task_with_status(task, ProgressBar())

        if task.failed():
            errors = [t["result"]['errors'][0] for t in task.get_hashes() if t['state'] == 'error' and
                                                                             isinstance(t["result"], dict) and
                                                                             "errors" in t["result"]]
            print _("Product [ %s ] failed to sync: %s" % (prodName, errors))
            return os.EX_DATAERR
        elif task.cancelled():
            print _("Product [ %s ] synchronization cancelled" % prodName)
            return os.EX_DATAERR

        print _("Product [ %s ] synchronized" % prodName)
        return os.EX_OK
Ejemplo n.º 54
0
    def run(self):
        name     = self.get_option('name')
        label    = self.get_option('label')
        url      = self.get_option('url')
        assumeyes = self.get_option('assumeyes')
        providerName   = self.get_option('provider')
        prodName = self.get_option('product')
        prodLabel = self.get_option('product_label')
        prodId   = self.get_option('product_id')
        orgName  = self.get_option('org')
        unprotected = self.get_option('unprotected')

        prov_id = get_provider(orgName, providerName)['id']
        repourls = self.discover_repositories(prov_id, url)
        self.printer.set_header(_("Repository Urls discovered @ [%s]" % url))
        selectedurls = self.select_repositories(repourls, assumeyes)

        product = get_product(orgName, prodName, prodLabel, prodId)
        self.create_repositories(orgName, product["id"], name, label, selectedurls, unprotected)

        return os.EX_OK