Bug 804555 - Orgs with international chars in name provide broken urls in redhat.repo
Summary: Orgs with international chars in name provide broken urls in redhat.repo
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Subscription Management
Version: 6.0.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: Unspecified
Assignee: Jesus M. Rodriguez
QA Contact: Og Maciel
URL:
Whiteboard:
Depends On:
Blocks: 858000
TreeView+ depends on / blocked
 
Reported: 2012-03-19 08:53 UTC by Tomas Strachota
Modified: 2019-09-26 15:54 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Specific baseurl repositories used organization names. Organization names with non-ASCII characters broke the baseurl as candlepin did not encode the entire organization prefix into the URL. This fix encodes the entire prefix for an organization. The baseurl now shows non-ASCII characters correctly.
Clone Of:
Environment:
Last Closed: 2012-12-04 19:43:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:1543 0 normal SHIPPED_LIVE Important: CloudForms System Engine 1.1 update 2012-12-05 00:39:57 UTC

Description Tomas Strachota 2012-03-19 08:53:42 UTC
Description of problem:

When a system is subscribed to a product in org with international characters in name the repository url in redhat.repo are broken. The characters in org are replaced by dots. The url is broken already in certificate that comes from candlepin. There's probably problem in org name not being url-encoded. Environment name seems to be correct.


Version-Release number of selected component (if applicable):
candlepin-0.5.26-1
python-rhsm-0.99.5-1
katello-0.2.14-1


Steps to Reproduce:
1. create an org with international characters in name
2. create a product and repo
3. subscribe to that product
4. see baseurl in redhat.repo


Actual results:
(from our cli system tests, org name was org_manifest_žába_701a88c, env name was env_manifest_žába_701a88c)

baseurl = https://localhost/pulp/repos/org_manifest_..ba_701a88c/env_manifest_%C5%BE%C3%A1ba_701a88c/content/zoo/$releasever/$basearch/rpms


Expected results:
baseurl = https://localhost/pulp/repos/org_manifest_%C5%BE%C3%A1ba_701a88c/env_manifest_%C5%BE%C3%A1ba_701a88c/content/zoo/$releasever/$basearch/rpms

Comment 1 Bryan Kearney 2012-03-26 12:57:07 UTC
Per conversations with PM, this is not a blocker for 1.0. It should be fixed
for 1.1 however.

Comment 2 Bryan Kearney 2012-06-18 14:46:53 UTC
Fixed in master at 0d60138eef41a6b538740d8527fb475a61de094e. You will see this in 0.7.3 or later.

Comment 4 Og Maciel 2012-09-16 13:29:00 UTC
* Created the Org Goiás with environment DEV
* Created provider Animals:
** Product: Zoo
*** Repo: Animals  URL:  http://omaciel.fedorapeople.org/fakerepo01/

When I tried to save the repository, I received the following message in the web ui (and pulp.log):


  2012-09-16 08:49:58,476 30573:139919622137600: pulp.server.api.consumer:INFO: consumer:411 Successfully updated package profile for consumer ea26ae67-a98f-4c81-8ac0-6f4a3e833b4a
  2012-09-16 08:55:43,594 30573:139919477430016: pulp.server.webservices.controllers.decorators:ERROR: decorators:52 Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/decorators.py", line 48, in report_error
    return method(self, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/decorators.py", line 127, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/repositories.py", line 335, in POST
    publish=repo_data.get('publish', None), packages_dir=repo_data.get('packages_dir', None))
  File "/usr/lib/python2.6/site-packages/pulp/server/api/repo.py", line 226, in create
    self.check_id(id)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/base.py", line 75, in check_id
    raise PulpValidationError(_("Given ID is invalid. ID may contain numbers(0-9), upper and lower case letters(A-Z, a-z), hyphens(-), underscore(_) and periods(.)"))
PulpValidationError: Given ID is invalid. ID may contain numbers(0-9), upper and lower case letters(A-Z, a-z), hyphens(-), underscore(_) and periods(.)

Comment #2 says I should have the fix with candlepin >= 0.7.3 and I have 0.7.8

Verified using:

* candlepin-0.7.8-1.el6cf.noarch
* candlepin-selinux-0.7.8-1.el6cf.noarch
* candlepin-tomcat6-0.7.8-1.el6cf.noarch
* katello-1.1.12-7.el6cf.noarch
* katello-all-1.1.12-7.el6cf.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.1.8-1.el6cf.noarch
* katello-cli-1.1.8-4.el6cf.noarch
* katello-cli-common-1.1.8-4.el6cf.noarch
* katello-common-1.1.12-7.el6cf.noarch
* katello-configure-1.1.9-3.el6cf.noarch
* katello-glue-candlepin-1.1.12-7.el6cf.noarch
* katello-glue-pulp-1.1.12-7.el6cf.noarch
* katello-qpid-broker-key-pair-1.0-1.noarch
* katello-qpid-client-key-pair-1.0-1.noarch
* katello-selinux-1.1.1-1.el6cf.noarch
* pulp-1.1.12-1.el6cf.noarch
* pulp-common-1.1.12-1.el6cf.noarch
* pulp-selinux-server-1.1.12-1.el6cf.noarch

Comment 5 Jesus M. Rodriguez 2012-09-17 17:08:03 UTC
Pulp doesn't support i18n characters as id's which is why you are getting the above error message.

Katello is sending this request:

[DEBUG: 2012-09-16 08:55:43 #18111] Resource PUT request: /pulp/api/repositories/, {"feed":"http://omaciel.fedorapeople.org/fakerepo01/","feed_cert_data":{"key":null,"ca":null,"cert":null},"arch":"noarch","groupid":["product:1347800116766","env:14","org:5"],"relative_path":"Goiás/Library/custom/Zoo/Animals","preserve_metadata":false,"name":"Animals","content_types":"yum","id":"Goiás-Zoo-Animals"}

Comment 6 Og Maciel 2012-09-17 19:11:31 UTC
This is BLOCKED by https://bugzilla.redhat.com/show_bug.cgi?id=858011

Comment 9 Og Maciel 2012-10-03 01:43:23 UTC
Verified using:

* candlepin-0.7.8-1.el6cf.noarch
* candlepin-selinux-0.7.8-1.el6cf.noarch
* candlepin-tomcat6-0.7.8-1.el6cf.noarch
* katello-1.1.12-12.el6cf.noarch
* katello-all-1.1.12-12.el6cf.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.1.8-1.el6cf.noarch
* katello-cli-1.1.8-6.el6cf.noarch
* katello-cli-common-1.1.8-6.el6cf.noarch
* katello-common-1.1.12-12.el6cf.noarch
* katello-configure-1.1.9-6.el6cf.noarch
* katello-glue-candlepin-1.1.12-12.el6cf.noarch
* katello-glue-pulp-1.1.12-12.el6cf.noarch
* katello-qpid-broker-key-pair-1.0-1.noarch
* katello-qpid-client-key-pair-1.0-1.noarch
* katello-selinux-1.1.1-1.el6cf.noarch
* pulp-1.1.12-1.el6cf.noarch
* pulp-common-1.1.12-1.el6cf.noarch
* pulp-selinux-server-1.1.12-1.el6cf.noarch

Comment 11 errata-xmlrpc 2012-12-04 19:43:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-1543.html

Comment 12 Mike McCune 2013-08-16 18:02:49 UTC
getting rid of 6.0.0 version since that doesn't exist


Note You need to log in before you can comment on or make changes to this bug.