We uncovered two problems when trying to sync against the 412 codebase with a 490 satellite: 1. 412 was not exporting header_start and header_end values in the sat sync xml. 2. clients could not import <rhn-null /> tags set in int fields. Fixing these involves adding the two columns to the sql that queries the db, and also changing the schema to not allow for null values in those fields (instead we default them to -1)
To test, you'll want to try running a sat-sync against webqa (ensuring that you import packages) with: - A pre 490 satellite. Make sure that there are no crazy warnings during the sync and that the content appears ok in the webui/updating with up2date. - A 490 satellite. Sync a rhel5 channel and ensure that a client can access it through the satellite with yum. Also, make sure that older channels are imported correctly, and that up2date can access them.
Test item #1, pre-490 satellites: 1- Registered a 4.1 satellite (rlx-3-04, running rhel4.4 AS), a 3.7 satellite (sat-dev, running rhel4 Gold AS), and a 3.2 satellite (rlx-1-06, running rhel2.1 AS) to stage. 2- Activated the satellites. 3- Ran satellite-sync -l on the satellites (well, except for the 320 one, since -l isn't a valid option). 4- Synced a base channel on each of the satellites. This took about a fortnight to complete. 5- Looked at the web UI on the 4.1 and 3.2 satellites and verified the packages were synced. The 3.7 satellite, unfortunately, was rendered useless at midnight because the certificate expired. The sync completed but I can't use the UI. 6- Continued testing with the 4.1 and 3.2 satellites by registering a client to each and running up2date to install the "ddd" package. Assigning to Brandon to verify the 490 satellite part of this bug.
All old satellites are fine. But 490 is still broken. Here is the exception: 13:44:18 SYNC ERROR: unhandled exception occurred: Exception reported from rlx-3-14.rhndev.redhat.com Time: Tue Aug 22 13:44:17 2006 Exception type exceptions.ValueError Exception Handler Information Traceback (most recent call last): File "/usr/bin/satellite-sync", line 134, in main return satsync.Runner().main() File "/usr/share/rhn/satellite_tools/satsync.py", line 198, in main ret = method() File "/usr/share/rhn/satellite_tools/satsync.py", line 302, in _step_packages self._affected_channels = self.syncer.import_packages() File "/usr/share/rhn/satellite_tools/satsync.py", line 1580, in import_packages sync_handlers.import_packages(batch) File "/usr/share/rhn/satellite_tools/sync_handlers.py", line 400, in import_packages importer.run() File "/usr/share/rhn/server/importlib/importLib.py", line 590, in run self.submit() File "/usr/share/rhn/server/importlib/packageImport.py", line 285, in submit transactional=self.transactional) File "/usr/share/rhn/server/importlib/backend.py", line 601, in processPackages transactional=transactional) File "/usr/share/rhn/server/importlib/backend.py", line 1059, in __processObjectCollection__ _buildExternalValue(extObject, object, parentTableObj) File "/usr/share/rhn/server/importlib/backend.py", line 1570, in _buildExternalValue dict[f] = sanitizeValue(entry[attr], datatype) File "/usr/share/rhn/server/importlib/backendLib.py", line 473, in sanitizeValue return int(value) ValueError: invalid literal for int(): ['45624'] from the terminal: 13:42:53 13:42:53 Importing package metadata 13:42:53 Importing *relevant* package metadata: redhat-advanced-server-i386 (3197) 13:42:53 * WARNING: this may be a slow process. ________________________________________ Importing: +++ sending log as an email +++ SYNC ERROR: unhandled exception occurred: (Check logs/email for potentially more detail) invalid literal for int(): ['45624'] pushing to 4121
The 490 problem is client side. So, while we still have to fix it, I don't believe we'll need to push anything to production.
Verified. This has been fixed on the sat-side of things.