@ -104,7 +104,11 @@ options:
version_added : " 2.1 "
consumer_id :
description :
- References an existing consumer ID to resume using a previous registration for this system . If the system ' s identity certificate is lost or corrupted, this option allows it to resume using its previous identity and subscriptions. The default is to not specify a consumer ID so a new ID is created.
- |
References an existing consumer ID to resume using a previous registration
for this system . If the system ' s identity certificate is lost or corrupted,
this option allows it to resume using its previous identity and subscriptions .
The default is to not specify a consumer ID so a new ID is created .
required : False
default : null
version_added : " 2.1 "
@ -166,6 +170,9 @@ from ansible.module_utils.pycompat24 import get_exception
from ansible . module_utils . six . moves import configparser
SUBMAN_CMD = None
class RegistrationBase ( object ) :
def __init__ ( self , module , username = None , password = None ) :
self . module = module
@ -272,10 +279,6 @@ class Rhsm(RegistrationBase):
* Boolean - whether the current system is currently registered to
RHSM .
'''
# Quick version...
if False :
return os . path . isfile ( ' /etc/pki/consumer/cert.pem ' ) and \
os . path . isfile ( ' /etc/pki/consumer/key.pem ' )
args = [ SUBMAN_CMD , ' identity ' ]
rc , stdout , stderr = self . module . run_command ( args , check_rc = False )
@ -285,7 +288,8 @@ class Rhsm(RegistrationBase):
return False
def register ( self , username , password , autosubscribe , activationkey , org_id ,
consumer_type , consumer_name , consumer_id , force_register , environment ) :
consumer_type , consumer_name , consumer_id , force_register , environment ,
rhsm_baseurl , server_insecure ) :
'''
Register the current system to the provided RHSM or Sat6 server
Raises :
@ -297,6 +301,12 @@ class Rhsm(RegistrationBase):
if force_register :
args . extend ( [ ' --force ' ] )
if rhsm_baseurl :
args . extend ( [ ' --baseurl ' , rhsm_baseurl ] )
if server_insecure :
args . extend ( [ ' --insecure ' ] )
if activationkey :
args . extend ( [ ' --activationkey ' , activationkey ] )
args . extend ( [ ' --org ' , org_id ] )
@ -381,7 +391,6 @@ class Rhsm(RegistrationBase):
' unsubscribed_serials ' : serials }
class RhsmPool ( object ) :
'''
Convenience class for housing subscription information
@ -472,21 +481,38 @@ def main():
module = AnsibleModule (
argument_spec = dict (
state = dict ( default = ' present ' , choices = [ ' present ' , ' absent ' ] ) ,
username = dict ( default = None , required = False ) ,
password = dict ( default = None , required = False , no_log = True ) ,
server_hostname = dict ( default = rhsm . config . get_option ( ' server.hostname ' ) , required = False ) ,
server_insecure = dict ( default = rhsm . config . get_option ( ' server.insecure ' ) , required = False ) ,
rhsm_baseurl = dict ( default = rhsm . config . get_option ( ' rhsm.baseurl ' ) , required = False ) ,
autosubscribe = dict ( default = False , type = ' bool ' ) ,
activationkey = dict ( default = None , required = False ) ,
org_id = dict ( default = None , required = False ) ,
environment = dict ( default = None , required = False , type = ' str ' ) ,
pool = dict ( default = ' ^$ ' , required = False , type = ' str ' ) ,
consumer_type = dict ( default = None , required = False ) ,
consumer_name = dict ( default = None , required = False ) ,
consumer_id = dict ( default = None , required = False ) ,
force_register = dict ( default = False , type = ' bool ' ) ,
state = dict ( default = ' present ' ,
choices = [ ' present ' , ' absent ' ] ) ,
username = dict ( default = None ,
required = False ) ,
password = dict ( default = None ,
required = False ,
no_log = True ) ,
server_hostname = dict ( default = rhsm . config . get_option ( ' server.hostname ' ) ,
required = False ) ,
server_insecure = dict ( default = rhsm . config . get_option ( ' server.insecure ' ) ,
required = False ) ,
rhsm_baseurl = dict ( default = rhsm . config . get_option ( ' rhsm.baseurl ' ) ,
required = False ) ,
autosubscribe = dict ( default = False ,
type = ' bool ' ) ,
activationkey = dict ( default = None ,
required = False ) ,
org_id = dict ( default = None ,
required = False ) ,
environment = dict ( default = None ,
required = False , type = ' str ' ) ,
pool = dict ( default = ' ^$ ' ,
required = False ,
type = ' str ' ) ,
consumer_type = dict ( default = None ,
required = False ) ,
consumer_name = dict ( default = None ,
required = False ) ,
consumer_id = dict ( default = None ,
required = False ) ,
force_register = dict ( default = False ,
type = ' bool ' ) ,
) ,
required_together = [ [ ' username ' , ' password ' ] , [ ' activationkey ' , ' org_id ' ] ] ,
mutually_exclusive = [ [ ' username ' , ' activationkey ' ] ] ,
@ -500,7 +526,7 @@ def main():
server_hostname = module . params [ ' server_hostname ' ]
server_insecure = module . params [ ' server_insecure ' ]
rhsm_baseurl = module . params [ ' rhsm_baseurl ' ]
autosubscribe = module . params [ ' autosubscribe ' ] == True
autosubscribe = module . params [ ' autosubscribe ' ]
activationkey = module . params [ ' activationkey ' ]
org_id = module . params [ ' org_id ' ]
environment = module . params [ ' environment ' ]
@ -534,7 +560,7 @@ def main():
rhsm . configure ( * * module . params )
rhsm . register ( username , password , autosubscribe , activationkey , org_id ,
consumer_type , consumer_name , consumer_id , force_register ,
environment )
environment , rhsm_baseurl , server_insecure )
subscribed_pool_ids = rhsm . subscribe ( pool )
except Exception :
e = get_exception ( )