Fabian Deutsch has uploaded a new change for review. Change subject: Be smarter about failed RHNSM/Satellite registrations ......................................................................
Be smarter about failed RHNSM/Satellite registrations Check subscription-manager when the page is loaded so we can keep the selection on the radio widgets correct (instead of clearing rhntype from the model), but catch unusual exit codes to reflect whether it's not registered at all or not subscribed. Also, auto attaching works now, so try to auto-attach in the model. Since subscription-manager doesn't return meaningful exit codes (just 1 for all possible errors I've seen), check the output from the exception. Change-Id: Ied4c2774ab4c36b1d612fbf765f87e315adf73ac Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1280215 Signed-off-by: Ryan Barry <[email protected]> --- M src/ovirt/node/setup/rhn/rhn_page.py 1 file changed, 25 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-node refs/changes/62/49262/1 diff --git a/src/ovirt/node/setup/rhn/rhn_page.py b/src/ovirt/node/setup/rhn/rhn_page.py index 355cf81..155d0cd 100755 --- a/src/ovirt/node/setup/rhn/rhn_page.py +++ b/src/ovirt/node/setup/rhn/rhn_page.py @@ -20,6 +20,7 @@ # also available at http://www.gnu.org/copyleft/gpl.html. from ovirt.node import plugins, valid, ui, utils from ovirt.node.plugins import Changeset +from ovirt.node.utils import process from ovirt.node.utils.network import NodeNetwork import rhn_model @@ -105,13 +106,7 @@ "to use Red Hat Enterprise Linux with virtual " + "guests subscriptions for your guests.") else: - rhntype = cfg["rhntype"] - if "satellite" in rhntype: - rhntype = rhntype.title() - else: - rhntype = rhntype.upper() - rhn_msg = "RHN Registration\n\nRegistration Status: %s" \ - % rhntype + rhn_msg = self._get_status(cfg) ws = [ui.Header("header[0]", rhn_msg), ui.Entry("rhn.username", "Login:"), @@ -245,6 +240,29 @@ progress_dialog.run() return self.ui_content() + def _get_status(self, cfg): + if "satellite" in cfg["rhntype"]: + rhntype = cfg["rhntype"].title() + else: + rhntype = cfg["rhntype"].upper() + + try: + cmd = ["subscription-manager", "status"] + process.check_call(cmd) + rhn_msg = "RHNSM Registration\n\nRegistration Status: %s" \ + % rhntype + + except process.CalledProcessError as e: + if "Status: Unknown" in e.output: + # Not registered or registration failed + pass + else: + rhn_msg = ("Registered to %s, but there are no " + "subscriptions attached or it is otherwise" + " invalid" % rhntype) + + return rhn_msg + class ProxyDialog(ui.Dialog): """A dialog to input proxy information -- To view, visit https://gerrit.ovirt.org/49262 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ied4c2774ab4c36b1d612fbf765f87e315adf73ac Gerrit-PatchSet: 1 Gerrit-Project: ovirt-node Gerrit-Branch: ovirt-3.6 Gerrit-Owner: Fabian Deutsch <[email protected]> Gerrit-Reviewer: Fabian Deutsch <[email protected]> _______________________________________________ node-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/node-patches
