Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 149876 Details for
Bug 231878
registration.upgrade_version causes tracebacks in production
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
Script bretm used to test the NoBaseChannel thing
registration.py (text/plain), 14.87 KB, created by
Brandon Perkins
on 2007-03-12 22:24:22 UTC
(
hide
)
Description:
Script bretm used to test the NoBaseChannel thing
Filename:
MIME Type:
Creator:
Brandon Perkins
Created:
2007-03-12 22:24:22 UTC
Size:
14.87 KB
patch
obsolete
>#!/usr/bin/python ># ># dummy test script > >import os >import sys >import getopt >import traceback > >import xmlrpclib > >Verbose = 0 >User = "gc-test" >Password = "gc-test" >Email = "gafton@redhat.com" > ># Build the hardware profile >sys.path.append("/usr/share/rhn") >from up2date_client import hardware > > >class TestSuite: > def __init__(self, url): > if url[:4] == "http": > self.url = url > else: > self.url = "http://%s.redhat.com/XMLRPC" % url > print "Initiating test against %s" % self.url > self.user = User > self.password = Password > self.email = Email > self.site = xmlrpclib.Server(self.url) > self.sysid = None > print "Using USER = %s, PASSWORD = %s, EMAIL = %s" % ( > self.user, self.password, self.email) > print > > def result(self, message, code): > if code: > code = 1 > else: > code = 0 > print "Test: %-30s: %s" % (message, ["OK", "NOT ok"][code == 0]) > > def __welcome(self): > ret = self.site.registration.welcome_message() > self.result("Welcome Message", len(ret) > 100) > > def __privacy(self): > ret = self.site.registration.privacy_statement() > self.result("Privacy Statement", len(ret) > 1000) > > def __reserve(self, user = None, password = None): > if user: > self.user = user > if password: > self.password = password > try: > ret = self.site.registration.reserve_user(self.user, self.password) > except: > ret = -1 > self.result("Reserve User", ret in [0,1]) > > def __new_user(self, user = None, password = None, email = None): > if user: self.user = user > if password: self.password = password > if email: self.email = email > try: > ret = self.site.registration.new_user(self.user, self.password, > self.email) > except: > ret = -1 > self.result("New User", ret == 0) > > def __new_system(self): > data = {'os_release': '6.2', > 'architecture': 'i686', > 'password': self.password, > 'profile_name': 'alien - %d' % os.getpid(), > 'username': self.user} > try: > sysid = self.site.registration.new_system(data) > except: > print "Failed to get a system_id, bailing out on the rest" > raise Exception, "Need system_id to continue" > self.result("New System", sysid) > self.sysid = sysid > if sysid and Verbose: > print "Got System ID:\n", sysid > > def __hardware(self): > ret = self.site.registration.add_hw_profile(self.sysid, > hardware.Hardware()) > self.result("Hardware Profiling", ret == 0) > > def __no_hardware(self): > ret = self.site.registration.refresh_hw_profile(self.sysid, []) > self.result("Deleting all hardware profile", ret == 0) > > def __refresh_hardware(self): > ret = self.site.registration.refresh_hw_profile(self.sysid, > hardware.Hardware()) > self.result("Refresh hardware profile", ret == 0) > > def __get_packages(self): > # build the packages profile > import rpm > db = rpm.opendb() > l = [] > h = db.firstkey() > while 1: > if not h: > break > n,v,r,e = ( db[h]["name"], db[h]["version"], db[h]["release"], > db[h]["epoch"] ) > if e is None: > e = "" > l.append([n,v,r,e]) > h = db.nextkey(h) > return l > > def __packages(self): > l = self.__get_packages() > ret = self.site.registration.add_packages(self.sysid, l) > self.result("Software Profiling", ret == 0) > > def __update_packages(self): > l = self.__get_packages() > ret = self.site.registration.update_packages(self.sysid, l) > self.result("Pkg Profile Update", ret == 0) > > def __product(self): > product = { > 'address1': 'Address Line 1', > 'address2': 'Address Line 2', > 'city': 'the City', > 'company': 'the Company', > 'contact_email': 1, > 'contact_fax': 0, > 'contact_mail': 0, > 'contact_phone': 0, > 'country': 'the Country', > 'fax': 'the Fax Number', > 'first_name': 'my First Name', > 'last_name': 'my Last Name', > 'newsletter': 0, > 'phone': 'my Phone Number', > 'position': 'my Position', > 'special_offers': 0, > 'state': 'my State', > 'title': 'my Title', > 'zip': '12345-ZIP'} > ret = self.site.registration.register_product(self.sysid, product) > self.result("Register Product", ret == 0) > > def __history(self): > entitled = 1 > try: > ret = self.site.up2date.history(self.sysid, > "Obtained System ID", self.sysid) > except xmlrpclib.Fault, f: > if f.faultCode == -31: > ret = 0 > entitled = 0 > else: > ret = -1 > if Verbose: > print f > except: > ret = -1 > if Verbose: > traceback.print_exc() > self.result("Add History", ret == 0) > if not entitled: > print "\tServer Not Entitled -- test skipped" > > > def __upgrade(self, new_rel): > try: > new_sysid = self.site.registration.upgrade_version(self.sysid, > new_rel) > except: > new_sysid = None > if Verbose: > traceback.print_exc() > self.result("Upgrading version to %s" % new_rel, new_sysid) > self.sysid = new_sysid > > def __action(self): > entitled = 1 > try: > action = self.site.queue.get(self.sysid) > if not action: > # newly registered server will not have any actions... > action = 1 > except xmlrpclib.Fault, f: > if f.faultCode == -31: > action = 1 > entitled = 0 > else: > action = None > if Verbose: > print f > except: > action = None > if Verbose: > traceback.print_exc() > self.result("Getting Action", action) > if not entitled: > print "\tServer Not Entitled -- test skipped" > elif action and Verbose: > print action > > def __listall(self): > entitled = 1 > try: > ret = self.site.up2date.listall(self.sysid) > except xmlrpclib.Fault, f: > if f.faultCode == -31: > ret = None > entitled = 0 > else: > ret = [] > if Verbose: > print f > except: > ret = [] > if Verbose: > traceback.print_exc() > if not entitled: > self.result("Listall", 1) > print "\tServer Not Entitled -- test skipped" > return > # now validate results > valid = 1 > for p in ret: > if type(p) != type([]) or len(p) != 4: > valid = 0 > break > for m in p: > if type(m) != type(""): > valid = 0 > break > else: # we only get here if we executed to completion > continue > break > self.result("Listall", len(ret) and valid) > if not valid: > print "\tPackage list has invalid entries "\ > "(%d packages in list)" % len(ret) > > def __listall_size(self): > entitled = 1 > try: > ret = self.site.up2date.listall_size(self.sysid) > except xmlrpclib.Fault, f: > if f.faultCode == -31: > ret = None > entitled = 0 > else: > ret = [] > if Verbose: > print f > except: > ret = [] > if Verbose: > traceback.print_exc() > if not entitled: > self.result("Listall w/ Size", 1) > print "\tServer Not Entitled -- test skipped" > return > # now validate results > valid = 1 > for p in ret or []: > if type(p) != type([]) or len(p) != 5: > valid = 0 > break > # we want four strings and an integer > for m in p[:4]: > if type(m) != type(""): > valid = 0 > break > if type(p[4]) != type(0): > valid = 0 > if not valid: > break > self.result("Listall w/ Size", len(ret) and valid) > if not valid: > print "\tPackage list has invalid entries "\ > "(%d packages in list)" % len(ret) > > def __update_transactions(self): > transactions = { > '1032877715': { > 'removed': [ > ['emacs', '21.2', '16', '', 'i386', '-'], > ['emacs-leim', '21.2', '16', '', 'i386', '-'], > ['openmotif', '2.2.2', '11', '', 'i386', '-'], > ['vim-enhanced', '6.1', '12', '1', 'i386', '-'] > ], > 'added': [ > ['openmotif', '2.2.2', '12', '', 'i386', '+'], > ['emacs-leim', '21.2', '17', '', 'i386', '+'], > ['vim-enhanced', '6.1', '13', '1', 'i386', '+'], > ['emacs', '21.2', '17', '', 'i386', '+'] > ], > 'tid': 1032877715 > }, > '1032876936': { > 'removed': [ > ['kernel-pcmcia-cs', '3.1.31', '6', '1', 'i386', '-'] > ], > 'added': [ > ['kernel', '2.4.18', '14', '', 'i686', '+'], > ['kernel-pcmcia-cs', '3.1.31', '8', '1', 'i386', '+'] > ], > 'tid': 1032876936 > }, > '1032902854': { > 'removed': [ > ['ethereal', '0.9.5', '3', '', 'i386', '-'], > ['ethereal-gnome', '0.9.5', '3', '', 'i386', '-'], > ['gnomemeeting', '0.93.1', '3', '', 'i386', '-'], > ['mc', '4.5.55', '11', '', 'i386', '-'], > ['redhat-config-kickstart', '2.3.2', '15', '', 'noarch', '-'], > ['samba-client', '2.2.5', '8', '', 'i386', '-'], > ['samba-common', '2.2.5', '8', '', 'i386', '-'] > ], > 'added': [ > ['ethereal-gnome', '0.9.6', '1', '', 'i386', '+'], > ['samba-client', '2.2.5', '9', '', 'i386', '+'], > ['ethereal', '0.9.6', '1', '', 'i386', '+'], > ['gnomemeeting', '0.93.1', '4', '', 'i386', '+'], > ['redhat-config-kickstart', '2.3.2', '17', '', 'noarch', '+'], > ['samba-common', '2.2.5', '9', '', 'i386', '+'], > ['mc', '4.5.55', '12', '', 'i386', '+'] > ], > 'tid': 1032902854 > }, > '1032902855': { > 'removed': [ > ], > 'added': [ > ['ethereal', '0.9.6', '1', '', 'i386', '+'], > ['ethereal-gnome', '0.9.6', '1', '', 'i386', '+'], > ['samba-client', '2.2.5', '9', '', 'i386', '+'], > ['gnomemeeting', '0.93.1', '4', '', 'i386', '+'], > ['redhat-config-kickstart', '2.3.2', '17', '', 'noarch', '+'], > ], > 'tid': 1032902855 > }, > } > > try: > ret = self.site.registration.update_transactions(self.sysid, > time.time(), transactions) > except xmlrpclib.Fault, f: > if f.faultCode == -31: > ret = None > entitled = 0 > else: > ret = None > if Verbose: > print f > except: > ret = None > if Verbose: > traceback.print_exc() > > print "GGGGGGGG", ret > self.result("update_transactions", ret == 0) > > def main(self): > #self.__welcome() > #self.__privacy() > self.__reserve() > self.__new_user() > self.__new_system() > self.__hardware() > self.__no_hardware() > self.__refresh_hardware() > #self.__packages() > self.__product() > self.__upgrade("7.0") > self.__history() > self.__upgrade("7.1") > self.__history() > self.__upgrade("7.2") > self.__history() > #self.__upgrade("7.3") > #self.__history() > #self.__update_packages() > self.__upgrade("3AS") > self.__upgrade("4AS") > self.__listall() > self.__listall_size() > self.__action() > #self.__update_transactions() > >def usage(): > print """ > Usage: > > %s [ --help | --verbose ] [ --devel | --qa | --beta | --live ] > [ --alien ] [ --url=URL ] > > Options for choosing the RHN user: > --user USER use USER instead of %s > --password PASSWORD use PASSWORD instead of %s > --email EMAIL use EMAIL instead of %s > > Runs a test suite for checking registration functionality against > one of the devel, qa, beta or live environments. > """ % (sys.argv[0], User, Password, Email) > sys.exit(0) > >opts, args = getopt.getopt(sys.argv[1:], "avdqblu:p:e:", > ["verbose", "help", > "devel", "qa", "beta", "live", "alien", > "user=", "password=", "email=", "url="]) > >site_url = "rhn.webdev" > >for opt, arg in opts: > if opt == "-h" or opt == "--help": > usage() > elif opt == "-v" or opt == "--verbose": > Verbose = 1 > elif opt == "-d" or opt == "--devel": > site_url = "rhn.webdev" > elif opt == "-q" or opt == "--qa": > site_url = "rhn.webqa" > elif opt == "-b" or opt == "--beta": > site_url = "beta.rhns" > elif opt == "-l" or opt == "--live": > site_url = "www.rhns" > elif opt == "-a" or opt == "--alien": > site_url = "alien.devel" > elif opt == "--url": > site_url = arg > elif opt == "-u" or opt == "--user": > User = arg > elif opt == "-p" or opt == "--password": > Password = arg > elif opt == "-e" or opt == "--email": > Email = arg > > else: > print "Unknown option: %s" % opt > sys.exit(-1) > >t = TestSuite(site_url) > >t.main()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 231878
: 149876