def run(self): log.log_debug("Running %s" % self.name) self.pwin.draw() self.screen.refresh() reg_info = None try: # reg_info dict contains: 'system_id', 'channels', # 'failed_channels', 'slots', 'failed_slots' log.log_debug('other is %s' % str(self.tui.other)) reg_info = rhnreg.registerSystem2(self.tui.userName, self.tui.password, self.tui.profileName, other = self.tui.other) reg_info = reg_info.rawDict systemId = sstr(reg_info['system_id']) except up2dateErrors.CommunicationError: e = sys.exc_info()[1] FatalErrorWindow(self.screen, _("Problem registering system:\n") + e.errmsg) except up2dateErrors.RhnUuidUniquenessError: e = sys.exc_info()[1] FatalErrorWindow(self.screen, _("Problem registering system:\n") + e.errmsg) except up2dateErrors.InsuffMgmntEntsError: e = sys.exc_info()[1] FatalErrorWindow(self.screen, _("Problem registering system:\n") + e.errmsg) except up2dateErrors.RegistrationDeniedError: e = sys.exc_info()[1] FatalErrorWindow(self.screen, _("Problem registering system:\n") + e.errmsg) except up2dateErrors.ActivationKeyUsageLimitError: FatalErrorWindow(self.screen, ACT_KEY_USAGE_LIMIT_ERROR) except: log.log_exception(*sys.exc_info()) FatalErrorWindow(self.screen, _("Problem registering system.")) # write the system id out. if not rhnreg.writeSystemId(systemId): FatalErrorWindow(self.screen, _("Problem writing out system id to disk.")) self.setScale(1, 4) # include the info from the oeminfo file as well self.oemInfo = rhnreg.getOemInfo() self.setScale(2, 4) # maybe upload hardware profile if self.tui.includeHardware: try: rhnreg.sendHardware(systemId, self.tui.hardware) except up2dateErrors.CommunicationError: e = sys.exc_info()[1] FatalErrorWindow(self.screen, _("Problem sending hardware profile:\n") + e.errmsg) except: log.log_exception(*sys.exc_info()) FatalErrorWindow(self.screen, _("Problem sending hardware profile.")) self.setScale(3, 4) # build up package list if necessary if self.tui.includePackages: try: rhnreg.sendPackages(systemId, self.tui.selectedPackages) except up2dateErrors.CommunicationError: e = sys.exc_info()[1] FatalErrorWindow(self.screen, _("Problem sending package list:\n") + e.errmsg) except: log.log_exception(*sys.exc_info()) FatalErrorWindow(self.screen, _("Problem sending package list.")) li = None try: li = up2dateAuth.updateLoginInfo() except up2dateErrors.InsuffMgmntEntsError: FatalErrorWindow(self.screen, sys.exc_info()[1]) # Send virtualization information to the server. rhnreg.sendVirtInfo(systemId) # enable yum-rhn-plugin / dnf-plugin-spacewalk try: self.tui.pm_plugin_present, self.tui.pm_plugin_conf_changed = rhnreg.pluginEnable() except IOError: e = sys.exc_info()[1] WarningWindow(self.screen, _("Could not open %s\n%s is not enabled.\n") % (PM_PLUGIN_CONF, PM_PLUGIN_NAME) + e.errmsg) self.tui.pm_plugin_conf_error = 1 rhnreg.spawnRhnCheckForUI() self.setScale(4, 4) # Pop the pwin (Progress bar window) self.screen.popWindow() self.tui.reg_info = reg_info return "next"