def register(self): """ Register this machine """ delete_unregistered_file() client_hostname = determine_hostname() # This will undo a blacklist logger.debug("API: Create system") system = self.create_system(new_machine_id=False) # If we get a 409, we know we need to generate a new machine-id if system.status_code == 409: system = self.create_system(new_machine_id=True) self.handle_fail_rcs(system) logger.debug("System: %s", system.json()) message = system.headers.get("x-rh-message", "") write_registered_file() # Do grouping if InsightsClient.options.group is not None: self.do_group() if InsightsClient.options.group is not None: return (message, client_hostname, InsightsClient.options.group, InsightsClient.options.display_name) elif InsightsClient.options.display_name is not None: return (message, client_hostname, "None", InsightsClient.options.display_name) else: return (message, client_hostname, "None", "")
def _is_client_registered(): msg_notyet = 'This machine has not yet been registered.' msg_unreg = 'This machine has been unregistered.' msg_doreg = 'Use --register to register this machine.' msg_rereg = 'Use --register if you would like to re-register this machine.' msg_exit = 'Exiting...' # check reg status w/ API reg_check = registration_check() if not reg_check['status']: # not registered if reg_check['unreg_date']: # system has been unregistered from the UI msg = '\n'.join([msg_unreg, msg_rereg, msg_exit]) write_unregistered_file(reg_check['unreg_date']) return msg, False else: # no record of system in remote msg = '\n'.join([msg_notyet, msg_doreg, msg_exit]) # clear any local records delete_registered_file() delete_unregistered_file() return msg, False else: # API confirms reg if not os.path.isfile(constants.registered_file): write_registered_file() # delete any stray unregistered delete_unregistered_file() return '', True
def _is_client_registered(): msg_notyet = 'This machine has not yet been registered.' msg_unreg = 'This machine has been unregistered.' msg_doreg = 'Use --register to register this machine.' msg_rereg = 'Use --force-register if you would like to re-register this machine.' msg_exit = 'Exiting...' # check reg status w/ API reg_check = registration_check() if not reg_check['status']: # not registered if reg_check['unreg_date']: # system has been unregistered from the UI msg = '\n'.join([msg_unreg, msg_rereg, msg_exit]) write_unregistered_file(reg_check['unreg_date']) return msg, False else: # no record of system in remote msg = '\n'.join([msg_notyet, msg_doreg, msg_exit]) # clear any local records delete_registered_file() delete_unregistered_file() return msg, False else: # API confirms reg if not os.path.isfile(constants.registered_file): write_registered_file() # delete any stray unregistered delete_unregistered_file() return '', True
def register(self): """ Register this machine """ delete_unregistered_file() client_hostname = determine_hostname() # This will undo a blacklist logger.debug("API: Create system") system = self.create_system(new_machine_id=False) # If we get a 409, we know we need to generate a new machine-id if system.status_code == 409: system = self.create_system(new_machine_id=True) self.handle_fail_rcs(system) logger.debug("System: %s", system.json()) message = system.headers.get("x-rh-message", "") write_registered_file() # Do grouping if InsightsClient.options.group is not None: self.do_group() # Display registration success messasge to STDOUT and logs if system.status_code == 201: try: system_json = system.json() machine_id = system_json["machine_id"] account_number = system_json["account_number"] logger.info("You successfully registered %s to account %s." % (machine_id, account_number)) except: logger.debug('Received invalid JSON on system registration.') logger.debug( 'API still indicates valid registration with 201 status code.' ) logger.debug(system) logger.debug(system.json()) if InsightsClient.options.group is not None: return (message, client_hostname, InsightsClient.options.group, InsightsClient.options.display_name) elif InsightsClient.options.display_name is not None: return (message, client_hostname, "None", InsightsClient.options.display_name) else: return (message, client_hostname, "None", "")
def register(self): """ Register this machine """ delete_unregistered_file() client_hostname = determine_hostname() # This will undo a blacklist logger.debug("API: Create system") system = self.create_system(new_machine_id=False) # If we get a 409, we know we need to generate a new machine-id if system.status_code == 409: system = self.create_system(new_machine_id=True) self.handle_fail_rcs(system) logger.debug("System: %s", system.json()) message = system.headers.get("x-rh-message", "") write_registered_file() # Do grouping if InsightsClient.options.group is not None: self.do_group() # Display registration success messasge to STDOUT and logs if system.status_code == 201: try: system_json = system.json() machine_id = system_json["machine_id"] account_number = system_json["account_number"] logger.info("You successfully registered %s to account %s." % (machine_id, account_number)) except: logger.debug('Received invalid JSON on system registration.') logger.debug('API still indicates valid registration with 201 status code.') logger.debug(system) logger.debug(system.json()) if InsightsClient.options.group is not None: return (message, client_hostname, InsightsClient.options.group, InsightsClient.options.display_name) elif InsightsClient.options.display_name is not None: return (message, client_hostname, "None", InsightsClient.options.display_name) else: return (message, client_hostname, "None", "")
def try_register(): if os.path.isfile(constants.registered_file): logger.info('This host has already been registered.') return # check reg status with API reg_check = registration_check() if reg_check['status']: logger.info('This host has already been registered.') # regenerate the .registered file write_registered_file() return message, hostname, group, display_name = register() if InsightsClient.options.display_name is None and InsightsClient.options.group is None: logger.info('Successfully registered %s', hostname) elif InsightsClient.options.display_name is None: logger.info('Successfully registered %s in group %s', hostname, group) else: logger.info('Successfully registered %s as %s in group %s', hostname, display_name, group) if message: logger.info(message)