def setUp(self): super(TestMigration, self).setUp() migrate.initUp2dateConfig = lambda: {} patch('subscription_manager.migrate.migrate.ProductDatabase').start() self.engine = migrate.MigrationEngine(self.create_options()) self.engine.cp = stubs.StubUEP() # These tests print a lot to stdout and stderr # so quiet them. sys.stderr = stubs.MockStderr() self.double_mapped_channels = ( "rhel-i386-client-dts-5-beta", "rhel-i386-client-dts-5-beta-debuginfo", "rhel-i386-server-dts-5-beta", "rhel-i386-server-dts-5-beta-debuginfo", "rhel-x86_64-client-dts-5-beta", "rhel-x86_64-client-dts-5-beta-debuginfo", "rhel-x86_64-server-dts-5-beta", "rhel-x86_64-server-dts-5-beta-debuginfo", ) self.single_mapped_channels = ( "rhel-i386-client-dts-5", "rhel-i386-client-dts-5-debuginfo", "rhel-x86_64-client-dts-5", "rhel-x86_64-client-dts-5-debuginfo", "rhel-i386-server-dts-5", "rhel-i386-server-dts-5-debuginfo", "rhel-x86_64-server-dts-5", "rhel-x86_64-server-dts-5-debuginfo", )
def setUp(self): migrate.initUp2dateConfig = lambda: {} self.engine = migrate.MigrationEngine() self.engine.cp = stubs.StubUEP() # These tests print a lot to stdout and stderr # so quiet them. sys.stdout = stubs.MockStdout() sys.stderr = stubs.MockStderr() self.double_mapped_channels = ( "rhel-i386-client-dts-5-beta", "rhel-i386-client-dts-5-beta-debuginfo", "rhel-i386-server-dts-5-beta", "rhel-i386-server-dts-5-beta-debuginfo", "rhel-x86_64-client-dts-5-beta", "rhel-x86_64-client-dts-5-beta-debuginfo", "rhel-x86_64-server-dts-5-beta", "rhel-x86_64-server-dts-5-beta-debuginfo", ) self.single_mapped_channels = ( "rhel-i386-client-dts-5", "rhel-i386-client-dts-5-debuginfo", "rhel-x86_64-client-dts-5", "rhel-x86_64-client-dts-5-debuginfo", "rhel-i386-server-dts-5", "rhel-i386-server-dts-5-debuginfo", "rhel-x86_64-server-dts-5", "rhel-x86_64-server-dts-5-debuginfo", )
def setUp(self): super(TestMigration, self).setUp() migrate.initUp2dateConfig = lambda: {} self.system_id = dedent(""" <params> <param> <value> <struct> <member> <name>system_id</name> <value> <string>ID-123</string> </value> </member> </struct> </value> </param> </params> """) patch('subscription_manager.migrate.migrate.ProductDatabase').start() with temp_file(self.system_id) as temp_id_file: with patch("subscription_manager.migrate.migrate.initUp2dateConfig") as init_conf: init_conf.return_value = {"systemIdPath": temp_id_file} self.engine = migrate.MigrationEngine(self.create_options()) self.engine.cp = stubs.StubUEP() self.system_id_file = temp_id_file # These tests print a lot to stdout and stderr # so quiet them. sys.stderr = stubs.MockStderr() self.double_mapped_channels = ( "rhel-i386-client-dts-5-beta", "rhel-i386-client-dts-5-beta-debuginfo", "rhel-i386-server-dts-5-beta", "rhel-i386-server-dts-5-beta-debuginfo", "rhel-x86_64-client-dts-5-beta", "rhel-x86_64-client-dts-5-beta-debuginfo", "rhel-x86_64-server-dts-5-beta", "rhel-x86_64-server-dts-5-beta-debuginfo", ) self.single_mapped_channels = ( "rhel-i386-client-dts-5", "rhel-i386-client-dts-5-debuginfo", "rhel-x86_64-client-dts-5", "rhel-x86_64-client-dts-5-debuginfo", "rhel-i386-server-dts-5", "rhel-i386-server-dts-5-debuginfo", "rhel-x86_64-server-dts-5", "rhel-x86_64-server-dts-5-debuginfo", )
def prepare_rhel5_migration(): """ Execute specific preparations steps for RHEL 5. Older releases of RHEL 5 did not have a version of rhn-classic-migrate-to-rhsm which supported activation keys. This function allows those systems to get a proper product certificate. """ install_prereqs() # only do the certificate magic if 69.pem is not present # and we have active channels if check_rhn_registration( ) and not os.path.exists('/etc/pki/product/69.pem'): _LIBPATH = "/usr/share/rhsm" # add to the path if need be if _LIBPATH not in sys.path: sys.path.append(_LIBPATH) from subscription_manager.migrate import migrate class MEOptions: force = True me = migrate.MigrationEngine() me.options = MEOptions() subscribed_channels = me.get_subscribed_channels_list() me.print_banner( ("System is currently subscribed to these RHNClassic Channels:")) for channel in subscribed_channels: print channel me.check_for_conflicting_channels(subscribed_channels) me.deploy_prod_certificates(subscribed_channels) me.clean_up(subscribed_channels) # at this point we should have at least 69.pem available, but lets # doublecheck and copy it manually if not if not os.path.exists('/etc/pki/product/'): os.mkdir("/etc/pki/product/") mapping_file = "/usr/share/rhsm/product/RHEL-5/channel-cert-mapping.txt" if not os.path.exists('/etc/pki/product/69.pem') and os.path.exists( mapping_file): for line in open(mapping_file): if line.startswith('rhel-%s-server-5' % ARCHITECTURE): cert = line.split(" ")[1] shutil.copy('/usr/share/rhsm/product/RHEL-5/' + cert.strip(), '/etc/pki/product/69.pem') break # cleanup disable_rhn_plugin()