Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 766689

Summary: System already in candlepin fails to register with NetworkException instance has no attribute 'args'
Product: Red Hat Satellite Reporter: Tom McKay <tomckay>
Component: WebUIAssignee: Tom McKay <tomckay>
Status: CLOSED CURRENTRELEASE QA Contact: Og Maciel <omaciel>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0.0CC: esammons, mmccune, omaciel, tomckay
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 760548 Environment:
Last Closed: 2012-08-22 18:12:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 760548    
Bug Blocks: 747354    

Description Tom McKay 2011-12-12 15:10:57 UTC
+++ This bug was initially created as a clone of Bug #760548 +++

Description of problem:
A consumer where subscription-manager clean has been run can not re-register with candlepin, even with the --force option.

Version-Release number of selected component (if applicable):
RHEL 5.8 
subscription-manager-0.98.3-1.el5

RHEL 6.2
candlepin-0.5.3-1.el6.noarch
katello-headpin-all-0.1.111-1.el6.noarch

Steps to Reproduce:
1. Successfully register a consumer (5.8) system.
2. Clean the local subscription data.
   # subscription-manager clean
3. Attempt to re-register
  
Actual results:
[cli]
NetworkException instance has no attribute 'args'
[/cli]

[rhsm.log]
2011-12-06 08:39:54,768 [INFO]  @connection.py:350 - Using certificate authentication: key = /etc/pki/consumer/key.pem, cert = /etc/pki/consumer/cert.pem, ca = /etc/rhsm/ca/, insecure = True
2011-12-06 08:39:54,769 [INFO]  @connection.py:363 - Connection Built: host: cubert.usersys.redhat.com, port: 443, handler: /headpin/api
2011-12-06 08:39:54,817 [INFO]  @connection.py:342 - Using basic authentication as: EricAdmin
2011-12-06 08:39:54,817 [INFO]  @connection.py:363 - Connection Built: host: cubert.usersys.redhat.com, port: 443, handler: /headpin/api
2011-12-06 08:39:54,817 [DEBUG]  @connection.py:209 - Making request: GET /headpin/api/users/EricAdmin/owners
2011-12-06 08:39:54,857 [DEBUG]  @connection.py:221 - Response status: 200
2011-12-06 08:39:54,894 [DEBUG]  @cert_sorter.py:105 - Sorting product and entitlement cert status for: 2011-12-06 13:39:54.894682+00:00
2011-12-06 08:39:54,896 [DEBUG]  @cert_sorter.py:185 - Installed product IDs: ['69']
2011-12-06 08:39:54,896 [DEBUG]  @cert_sorter.py:112 - valid entitled products: []
2011-12-06 08:39:54,897 [DEBUG]  @cert_sorter.py:113 - expired entitled products: []
2011-12-06 08:39:54,897 [DEBUG]  @cert_sorter.py:114 - partially entitled products: []
2011-12-06 08:39:54,897 [DEBUG]  @cert_sorter.py:115 - unentitled products: ['69']
2011-12-06 08:39:54,897 [DEBUG]  @cert_sorter.py:116 - future products: []
2011-12-06 08:39:54,897 [DEBUG]  @cert_sorter.py:117 - partial stacks: []
2011-12-06 08:39:54,897 [DEBUG]  @cert_sorter.py:118 - valid stacks: []
2011-12-06 08:39:54,898 [DEBUG]  @connection.py:209 - Making request: POST /headpin/api/consumers?owner=Eric_s_Org
2011-12-06 08:39:54,998 [DEBUG]  @connection.py:221 - Response status: 400
2011-12-06 08:39:54,999 [ERROR]  @connection.py:233 - No JSON object could be decoded
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/rhsm/connection.py", line 231, in validateResponse
    parsed = json.loads(response['content'])
  File "/usr/lib64/python2.4/site-packages/simplejson/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python2.4/site-packages/simplejson/decoder.py", line 335, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python2.4/site-packages/simplejson/decoder.py", line 353, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
2011-12-06 08:39:55,000 [ERROR]  @connection.py:234 - Response: {'content': "Validation failed: Name has already been taken, Name has already been taken\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/validations.rb:49:in `save!'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/attribute_methods/dirty.rb:30:in `save!'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/transactions.rb:245:in `save!'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/transactions.rb:292:in `with_transaction_returning_status'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/database_statements.rb:139:in `transaction'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/transactions.rb:207:in `transaction'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/transactions.rb:290:in `with_transaction_returning_status'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/transactions.rb:245:in `save!'\n/usr/share/katello/app/models/lazy_accessor.rb:109:in `save!'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/validations.rb:34:in `create!'\n/usr/share/katello/app/controllers/api/systems_controller.rb:55:in `create'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/implicit_render.rb:4:in `send_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/implicit_render.rb:4:in `send_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/base.rb:150:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rendering.rb:11:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/callbacks.rb:18:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:467:in `_run__2061323016__process_action__1623385099__callbacks'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:221:in `_conditional_callback_around_2172'\n/usr/share/katello/lib/util/threadsession.rb:79:in `thread_locals'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:220:in `_conditional_callback_around_2172'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:441:in `_run__2061323016__process_action__1623385099__callbacks'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:410:in `send'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:410:in `_run_process_action_callbacks'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:94:in `send'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:94:in `run_callbacks'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/callbacks.rb:17:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rescue.rb:17:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:30:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:29:in `process_action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/base.rb:119:in `process'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:41:in `process'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal.rb:138:in `dispatch'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal.rb:178:in `action'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:62:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:62:in `dispatch'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:27:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/route_set.rb:150:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:93:in `recognize'\n/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:89:in `optimized_each'\n/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:92:in `recognize'\n/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/route_set.rb:141:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:493:in `call'\n/usr/lib/ruby/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:35:in `call'\n/usr/lib/ruby/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:34:in `catch'\n/usr/lib/ruby/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:34:in `call'\n/usr/lib/ruby/gems/1.8/gems/sass-3.1.7/lib/sass/../sass/plugin/rack.rb:54:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/head.rb:14:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/methodoverride.rb:24:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/params_parser.rb:21:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/flash.rb:182:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/session/abstract_store.rb:149:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/cookies.rb:302:in `call'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:32:in `call'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/query_cache.rb:28:in `cache'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:12:in `cache'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:31:in `call'\n/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:354:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/callbacks.rb:46:in `call'\n/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:416:in `_run_call_callbacks'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/callbacks.rb:44:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/sendfile.rb:102:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/remote_ip.rb:48:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/show_exceptions.rb:47:in `call'\n/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/rack/logger.rb:13:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/runtime.rb:17:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/lock.rb:34:in `call'\n/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/static.rb:30:in `call'\n/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:168:in `call'\n/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:77:in `send'\n/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:77:in `method_missing'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:52:in `call'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:46:in `each'\n/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:46:in `call'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:84:in `pre_process'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:57:in `process'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'\n/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'\n/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/controllers/controller.rb:86:in `start'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `send'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `run_command'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:151:in `run!'\n/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/bin/thin:6\n/usr/share/katello/script/thin:59:in `load'\n/usr/share/katello/script/thin:59", 'status': 400}
2011-12-06 08:39:55,000 [ERROR]  @managercli.py:95 - exception caught in subscription-manager
2011-12-06 08:39:55,001 [ERROR]  @managercli.py:96 - NetworkException instance has no attribute 'args'
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager", line 78, in ?
    sys.exit(abs(main() or 0))
  File "/usr/sbin/subscription-manager", line 69, in main
    return managercli.CLI().main()
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 1456, in main
    cmd.main()
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 259, in main
    self._do_command()
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 643, in _do_command
    handle_exception(_("Error during registration: %s") % e, e)
AttributeError: NetworkException instance has no attribute 'args'
[/rhsm.log]


Expected results:
successful registration or a more meaningful error to indicate the system is already defined.


Additional info:

--- Additional comment from tomckay on 2011-12-12 10:01:55 EST ---

From RHEL6.2 to Katello

% subscription-manager register --force --username=admin --password=admin
  The system has been registered with id: 4a9.....
% subscription-manager clean
  All local data removed
% subscription-manager register --force --username=admin --password=admin
  Validation failed: Name has already been taken, Name has already been taken

Should the clean be sending a remove to katello? Or, should a --force entitle the registering system to co-opt the name of the existing system entry?

Comment 1 Bryan Kearney 2011-12-12 18:04:46 UTC
katello-headpin-all-0.1.115-1.fc15.noarch is not displaying this issue. You are seeing an error message.

-- bk

Comment 4 Og Maciel 2012-03-01 02:02:10 UTC
Tom, am I missing something here?

[root@qeclient01 ~]# yum repolist
Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
Tokyo_Community_Stable                                                                    | 2.6 kB     00:00     
Tokyo_Community_Zoo                                                                       | 3.7 kB     00:00     
Tokyo_Community_Zoo/primary_db                                                            | 2.9 kB     00:00     
repo id                                                      repo name                                     status
Tokyo_Community_Stable                                       Stable                                        155
Tokyo_Community_Zoo                                          Zoo                                             8
repolist: 163
[root@qeclient01 ~]# subscription-manager clean
All local data removed
[root@qeclient01 ~]# subscription-manager register --username admin --password admin --org Tokyo
Validation failed: Name has already been taken
[root@qeclient01 ~]# subscription-manager register --force --username admin --password admin --org Tokyo
Validation failed: Name has already been taken

Comment 5 Tom McKay 2012-03-01 02:13:33 UTC
Taking a look at this.

Comment 6 Og Maciel 2012-03-01 13:42:17 UTC
Validated as per comment on https://bugzilla.redhat.com/show_bug.cgi?id=798829:

* candlepin-0.5.23-1.el6.noarch
* candlepin-tomcat6-0.5.23-1.el6.noarch
* katello-0.1.300-1.el6.noarch
* katello-all-0.1.300-1.el6.noarch
* katello-certs-tools-1.0.2-2.el6.noarch
* katello-cli-0.1.100-2.el6.noarch
* katello-cli-common-0.1.100-2.el6.noarch
* katello-common-0.1.300-1.el6.noarch
* katello-configure-0.1.100-7.el6.noarch
* katello-glue-candlepin-0.1.300-1.el6.noarch
* katello-glue-foreman-0.1.300-1.el6.noarch
* katello-glue-pulp-0.1.300-1.el6.noarch
* katello-httpd-ssl-key-pair-1.0-1.noarch
* katello-qpid-broker-key-pair-1.0-1.noarch
* katello-repos-0.1.5-1.el6.noarch
* katello-selinux-0.1.7-1.el6.noarch
* katello-trusted-ssl-cert-1.0-1.noarch
* pulp-1.0.0-4.el6.noarch
* pulp-common-1.0.0-4.el6.noarch
* pulp-selinux-server-1.0.0-4.el6.noarch