Bug 760548 - System already in candlepin fails to register with NetworkException instance has no attribute 'args'
Summary: System already in candlepin fails to register with NetworkException instance ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Subscription Asset Manager
Classification: Retired
Component: candlepin
Version: 1.0.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Bryan Kearney
QA Contact: SAM QE List
URL:
Whiteboard:
Depends On:
Blocks: 703617 766689
TreeView+ depends on / blocked
 
Reported: 2011-12-06 13:41 UTC by Eric Sammons
Modified: 2012-04-27 00:22 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 766689 (view as bug list)
Environment:
Last Closed: 2012-04-27 00:22:19 UTC
Embargoed:


Attachments (Terms of Use)

Description Eric Sammons 2011-12-06 13:41:02 UTC
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:

Comment 1 Tom McKay 2011-12-12 15:01:55 UTC
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 2 Bryan Kearney 2011-12-12 18:06:32 UTC
clean only removes the local copies. --force only does unregitser first. So.. this it to be expected.

katello-headpin-all-0.1.115-1.fc15.noarch is not displaying this issue. You are seeing an error message.

-- bk


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