1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

redhat_subscription: drop unneeded args to Rhsm.register() (#5583)

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
This commit is contained in:
Pino Toscano 2022-11-29 13:07:08 +01:00 committed by GitHub
parent 53da86c1a5
commit 101c957631
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 27 deletions

View file

@ -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).

View file

@ -394,8 +394,7 @@ class Rhsm(RegistrationBase):
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
@ -409,27 +408,9 @@ class Rhsm(RegistrationBase):
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:
@ -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:

View file

@ -92,7 +92,6 @@ TEST_CASES = [
),
(
['/testbin/subscription-manager', 'register',
'--serverurl', 'satellite.company.com',
'--username', 'admin',
'--password', 'admin'],
{'check_rc': True, 'expand_user_and_vars': False},
@ -180,7 +179,6 @@ TEST_CASES = [
[
'/testbin/subscription-manager',
'register',
'--serverurl', 'satellite.company.com',
'--org', 'admin',
'--activationkey', 'some-activation-key'
],
@ -340,9 +338,6 @@ TEST_CASES = [
'register',
'--force',
'--org', 'admin',
'--proxy', 'proxy.company.com:12345',
'--proxyuser', 'proxy_user',
'--proxypassword', 'secret_proxy_password',
'--username', 'admin',
'--password', 'admin'
],