Bug 667197

Summary: Using the config module to get non-existent options returns the string 'None'
Product: Red Hat Enterprise Linux 6 Reporter: Rob Crittenden <rcritten>
Component: python-rhsmAssignee: Adrian Likins <alikins>
Status: CLOSED CURRENTRELEASE QA Contact: J.C. Molet <jmolet>
Severity: medium Docs Contact:
Priority: low    
Version: 6.1CC: bkearney, dgoodwin, jesusr, jmolet, jsefler
Target Milestone: rcKeywords: QA-Closed
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-23 21:51:24 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:    
Bug Blocks: 639436    

Description Rob Crittenden 2011-01-04 19:18:03 UTC
Description of problem:

The behavior I saw in my registration client that calls registerConsumer(name="MY DOMAIN", type="domain") is a failure in creating a proxy connection. I don't have a proxy configured in /etc/rhsm/rhsm.conf

The problem is in the constructor for UEPConnection in: 

proxy_hostname=config.get('server', 'proxy_hostname'),

The call to config.get() is returning the string 'None' instead of the value None.

I'm currently working around it by a small change to config.py:

    def get(self, section, prop):
        if not self.has_section(section):
            self.add_section(section)
        v = SafeConfigParser.get(self, section, prop)
        if v == 'None':
            return None
        else:
            return v

Version-Release number of selected component (if applicable):

python-rhsm-0.94.10-1.fc14.noarch

Comment 1 Adrian Likins 2011-01-07 19:07:20 UTC
commit 3e593ca8bd4a55e0f5f369d44b7c64334a75c6cc
Author: Adrian Likins <alikins>
Date:   Fri Jan 7 13:14:46 2011 -0500

    667829: handle proxy config options being absent from rhsm.conf

    new config class doesn't like settings these to None, so they
    now get set to empty string



I believe the above commit will fix that issue.  Though technically, it slightly changes the api behaviour  (returns '' instead of the None it was supposed to before or the 'None' it was actually returning).

Comment 2 J.C. Molet 2011-01-24 21:19:43 UTC
After creating a user as above using: 

subscription-manager register --user=admin --password=admin --type=domain --name=domaintypetest

The user is successfully created with no errors while proxy variables are set to empty strings.

This is tested in version:
python-rhsm-0.94.15-1.git.0.b738ea1.el6.noarch