Skip to content

Commit

Permalink
redhat_subscription: drop unneeded args to Rhsm.register() (#5583)
Browse files Browse the repository at this point in the history
Stop passing all the "rhsm_", and "server_" module arguments to
"Rhsm.register()", and thus as arguments for
"subscription-manager register":
- right before calling "Rhsm.register()", "Rhsm.configure()" is called
  to configure subscription-manager with all the "rhsm_", and "server_"
  arguments; hence, they are already configured
- the passed argument to "--serverurl" is partially wrong:
  "Rhsm.register()" passes only the hostname, whereas the other bits
  (port and prefix) are supported too; this "works" because port and
  prefix were already configured previously, and the lax parsing that
  subscription-manager does allows for missing bits
- the parsing done by subscription-manager for "--baseurl" strips out
  the URL scheme and always uses https: this means that specifying
  "rhsm_baseurl: http://server" as module parameter will be taken as
  "https://server" by subscription-manager; since "rhsm_baseurl" is
  already configured by "Rhsm.configure()", this issue is gone
  • Loading branch information
ptoscano authored Nov 29, 2022
1 parent 53da86c commit 101c957
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bugfixes:
- redhat_subscription - do not pass arguments to ``subscription-manager register`` for things already configured; now a specified ``rhsm_baseurl`` is properly set for subscription-manager
(https://github.com/ansible-collections/community.general/pull/5583).
24 changes: 2 additions & 22 deletions plugins/modules/redhat_subscription.py
Original file line number Diff line number Diff line change
Expand Up @@ -394,8 +394,7 @@ def is_registered(self):

def register(self, username, password, auto_attach, activationkey, org_id,
consumer_type, consumer_name, consumer_id, force_register, environment,
rhsm_baseurl, server_insecure, server_hostname, server_proxy_hostname,
server_proxy_port, server_proxy_user, server_proxy_password, release):
release):
'''
Register the current system to the provided RHSM or Red Hat Satellite
or Katello server
Expand All @@ -409,27 +408,9 @@ def register(self, username, password, auto_attach, activationkey, org_id,
if force_register:
args.extend(['--force'])

if rhsm_baseurl:
args.extend(['--baseurl', rhsm_baseurl])

if server_insecure:
args.extend(['--insecure'])

if server_hostname:
args.extend(['--serverurl', server_hostname])

if org_id:
args.extend(['--org', org_id])

if server_proxy_hostname and server_proxy_port:
args.extend(['--proxy', server_proxy_hostname + ':' + server_proxy_port])

if server_proxy_user:
args.extend(['--proxyuser', server_proxy_user])

if server_proxy_password:
args.extend(['--proxypassword', server_proxy_password])

if activationkey:
args.extend(['--activationkey', activationkey])
else:
Expand Down Expand Up @@ -924,8 +905,7 @@ def main():
rhsm.configure(**module.params)
rhsm.register(username, password, auto_attach, activationkey, org_id,
consumer_type, consumer_name, consumer_id, force_register,
environment, rhsm_baseurl, server_insecure, server_hostname,
server_proxy_hostname, server_proxy_port, server_proxy_user, server_proxy_password, release)
environment, release)
if syspurpose and 'sync' in syspurpose and syspurpose['sync'] is True:
rhsm.sync_syspurpose()
if pool_ids:
Expand Down
5 changes: 0 additions & 5 deletions tests/unit/plugins/modules/test_redhat_subscription.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ def test_without_required_parameters(capfd, patch_redhat_subscription):
),
(
['/testbin/subscription-manager', 'register',
'--serverurl', 'satellite.company.com',
'--username', 'admin',
'--password', 'admin'],
{'check_rc': True, 'expand_user_and_vars': False},
Expand Down Expand Up @@ -180,7 +179,6 @@ def test_without_required_parameters(capfd, patch_redhat_subscription):
[
'/testbin/subscription-manager',
'register',
'--serverurl', 'satellite.company.com',
'--org', 'admin',
'--activationkey', 'some-activation-key'
],
Expand Down Expand Up @@ -340,9 +338,6 @@ def test_without_required_parameters(capfd, patch_redhat_subscription):
'register',
'--force',
'--org', 'admin',
'--proxy', 'proxy.company.com:12345',
'--proxyuser', 'proxy_user',
'--proxypassword', 'secret_proxy_password',
'--username', 'admin',
'--password', 'admin'
],
Expand Down

0 comments on commit 101c957

Please sign in to comment.