Bug 1404401

Summary: Update options of 'rhui-manager client rpm'
Product: Red Hat Update Infrastructure for Cloud Providers Reporter: Irina Gulina <igulina>
Component: ToolsAssignee: bizhang
Status: CLOSED ERRATA QA Contact: Irina Gulina <igulina>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.0.0CC: bizhang, lwilliam, pcreech, rbiba
Target Milestone: ---   
Target Release: 3.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-01 22:14:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Irina Gulina 2016-12-13 18:26:25 UTC
Description of problem:
1. remove options: --lb_hostname and --ca_cert since they are not in RHUI3
2. add option --unprotected_repo_ids to include such in the client rpm

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

How reproducible:
always


Actual results:
>> rhui-manager client rpm 
rpm: create a client config rpm
    --private_key - entitlement private key  (required)
    --entitlement_cert - entitlement certificate  (required)
    --lb_hostname - the fully-qualified domain name of the load-balancer for the CDS cluster (required)
    --ca_cert - full path to CA certificate (required)
    --rpm_version - version number of the client config rpm (required)
    --rpm_name - name of the client config rpm (required)
    --dir - directory where the rpm will be created (required)

Comment 3 Irina Gulina 2016-12-15 18:33:07 UTC
iso 20161214

>> rhui-manager client rpm --private_key cert_1214.key --entitlement_cert cert_1214.crt --rpm_version 2 --rpm_name my_rpm1 --dir /tmp --unprotected_repo unprotected_repo1
Successfully created client configuration RPM.
RPMs can be found at /tmp

>> ls -la /tmp/my_rpm1-2/build/RPMS/noarch/my_rpm1-2-1.noarch.rpm
-rw-r--r--. 1 root root 6627 Dec 15 13:30 /tmp/my_rpm1-2/build/RPMS/noarch/my_rpm1-2-1.noarch.rpm

Which can be installed on a CLI machine and works charming. However, 

>> rhui-manager client rpm
rpm: create a client config rpm
    --private_key - entitlement private key  (required)
    --entitlement_cert - entitlement certificate  (required)
    --rpm_version - version number of the client config rpm (required)
    --rpm_name - name of the client config rpm (required)
    --dir - directory where the rpm will be created (required)
    --unprotected_repos - list of unprotected repos (required)


'--unprotected_repos' should be optional, CLI rpm should be created with or without this option.

Comment 4 Irina Gulina 2016-12-16 11:31:45 UTC
iso 20161215

>> rhui-manager client rpm --help
Usage: rhui-manager [options]

Options:
  -h, --help            show this help message and exit
rpm: create a client config rpm
    --private_key - entitlement private key  (required)
    --entitlement_cert - entitlement certificate  (required)
    --rpm_version - version number of the client config rpm (required)
    --rpm_name - name of the client config rpm (required)
    --dir - directory where the rpm will be created (required)
    --unprotected_repos - list of unprotected repos to include


>> rhui-manager client rpm --private_key /tmp/cert1215.key --entitlement_cert /tmp/cert1215.crt --rpm_version 2 --rpm_name my_rpm1215 --dir /tmp

An unexpected error has occurred during the last operation.

'NoneType' object has no attribute 'strip'

AttributeError: 'NoneType' object has no attribute 'strip'
2016-12-16 06:25:56,255 - 'NoneType' object has no attribute 'strip'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/rhui/tools/cli.py", line 66, in run
    Cli.run(self, args)
  File "/usr/lib/python2.7/site-packages/rhui/common/cli.py", line 272, in run
    command_or_section.execute(remaining_args)
  File "/usr/lib/python2.7/site-packages/rhui/common/cli.py", line 113, in execute
    self.method(**arg_dict)
  File "/usr/lib/python2.7/site-packages/rhui/tools/commands/client.py", line 120, in rpm
    unprotected_repos_ids=kwargs['--unprotected_repos'].strip().split(",")
AttributeError: 'NoneType' object has no attribute 'strip'

Comment 5 Irina Gulina 2016-12-16 11:35:51 UTC
when adding a fix on the previous comment also please:

'--unprotected_repos - list of unprotected repos to include'
replace with
'--unprotected_repos - comma-separated list of unprotected repos to include'

Comment 7 bizhang 2016-12-16 18:53:51 UTC
Irina, 

The --unprotected_repos wording change did not make it in to the latest beta2 build. I'll ask les to update the docs with the better wording and make the change in GA.

Comment 9 Radek Bíba 2016-12-20 16:36:22 UTC
No traceback in 20161220:
# rhui-manager client rpm --private_key /tmp/rhui.key --entitlement_cert /tmp/rhui.crt --rpm_version 2.0 --rpm_name rhui --dir /tmp
Successfully created client configuration RPM.
RPMs can be found at /tmp

I'm also able to include an unprotected repo; no problem occurs and the repo is configured in /etc/yum.repos.d/rh-cloud.repo in the RPM.

The wording change will need to wait for GA, so I'm leaving this bug in ON_QA.

Comment 10 Radek Bíba 2017-01-18 10:30:21 UTC
On behalf of Irina:

I see the wording change, both RHEL versions:

# rhui-manager client rpm --help
<snip>
    --unprotected_repos - comma-separated list of unprotected repos to include

Comment 14 errata-xmlrpc 2017-03-01 22:14:49 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.

https://access.redhat.com/errata/RHBA-2017:0367