Bugzilla – Bug 4248
ICT: reset_image_uuid unconditionally tries to reset the uuid
Last modified: 2009-04-15 03:51:44 UTC
You need to log in before you can comment on or make changes to this bug.
As part of testing automated install, the following was noticed in the installation log - <ICT Oct 25 20:43:43> current task:reset_image_UUID <ICT_I Oct 25 20:43:43> _cmd_status: executing cmd=pkg -R /a set-authority --reset-uuid opensolaris.org pkg: set-authority: authority does not exist. Use -O to define origin URL for new authority <ICT_I Oct 25 20:43:45> _cmd_status: return exitstatus=256 <ICT_E Oct 25 20:43:45> Reset uuid failed - exit status = 256, command was pkg -R /a set-authority --reset-uuid opensolaris.org <ICT_E Oct 25 20:43:45> Failure. Returning: ICT_PKG_RESET_UUID_FAILED <ICT Oct 25 20:43:45> Post-transfer Python Install Completion Tasks finished. <ICT Oct 25 20:43:45> 2 out of 22 total Python ICTs finished with errors close failed: [Errno 32] Broken pipe Even though the install was done from ipkg.sfbay, this ICT was resetting the uuid for opensolaris.org. The reset_image_UUID() method in ict.py needs to conditionally reset the uuid for opensolaris.org. If the authority is something else, it should most likely not doing anything (atleast for AI)
Thinking about this, it seems that we might not need to carry out this ICT for AI at all - unlike LiveCD installation which just replicates existing image and thus it is necessary to regenerate UUID to be unique, 'pkg image-create' takes care of generating UUID for AI installation.
Checking with Dave earlier he mentioned that this is still needed for an automated install. It does seem that resetting the UUID shouldn't be needed for an IPS install but I need to learn what this feature does in order to understand why this might be needed in the case of AI.
In looking at the code where the UUID is reset the authority "opensolaris.org" is hardcoded. I suspect your manifest specifies a different authname e.g.: <main url="http://ipkg.sfbay:29047" authname="ipkg.sfbay"/> A work around for this could be to specify the authname as opensolaris.org <main url="http://ipkg.sfbay:29047" authname="opensolaris.org"/> Also I see that in the segment of the install_log file you post it states: <ICT Oct 25 20:43:45> 2 out of 22 total Python ICTs finished with errors What was the other ICT that failed? To find out do: % grep Fail install_log | grep ICT
IPS doesn't install a UUID in images by default, but we would like one in all OpenSolaris distro installations, so this ICT should be run in all cases for now.
Jan has confirmed the workaround. I am updating the Priority, Severity and Target Milestone after confirming with Dave Miner that because there is a workaround this bug is not a blocker for 2008.11 release. and changing owner to me. I will fix this post 2008.11 by updating the ICT to not hard code the authority to opensolaris.org
(In reply to comment #3) > In looking at the code where the UUID is reset the authority "opensolaris.org" > is hardcoded. > > I suspect your manifest specifies a different authname > > e.g.: > > <main url="http://ipkg.sfbay:29047" authname="ipkg.sfbay"/> That is correct. > A work around for this could be to specify the authname as opensolaris.org > > <main url="http://ipkg.sfbay:29047" authname="opensolaris.org"/> Okay, thanks. > Also I see that in the segment of the install_log file you post it states: > <ICT Oct 25 20:43:45> 2 out of 22 total Python ICTs finished with errors > > What was the other ICT that failed? To find out do: > % grep Fail install_log | grep ICT This is what I see - <ICT Oct 25 20:43:05> current task:keyboard_layout <ICT_I Oct 25 20:43:05> Opening keyboard device: /dev/kbd <ICT_E Oct 25 20:43:05> keyboard layout name not found <ICT_E Oct 25 20:43:05> Failure. Returning: ICT_KBD_LAYOUT_NAME_NOT_FOUND Please let me know if you'd want me to open a bug on this.
Stale browswer cache resulted in the update to priority. Reverting back to the state before comment #6
not a stopper for 2009.1H
Marking this a 2009.1H stopper after email exchange with Dave Miner. This ICT is no longer necessary in the AI case. A UUID is now always set at the point of image-create for the publisher named when creating the image. It will also do so whenever adding new publishers using set-publisher. Removing invocation of ICT reset_image_UUID from AI case in install-finish.
Setting provisional target build 2009.06-03
ICT reset_image_UUID also sets "send-uuid = True" However pkg sets "send-uuid = False". On an installed system this is seen in file: /var/pkg/cfg-cash. I have confirmed that this is acceptable. A segment of an email exchange I had with Shawn Walker: The only impact (of "send-uuid = False") is that the publisher's selected repository (e.g. pkg.opensolaris.org/dev) will not receive a unique identifier for the client (we won't send one in the http headers), and so has no way to guaranteed identify a set of transactions as being for that same client. Eventually, there is a plan to allow the depot to reject connections from clients that don't supply one per-administrator policy. This is intended for use by corporate clients, etc. Moving forward with the fix as described in Comment #9.
Fixed in revision: 679bcac2752d7f1a8c3b9bac5bccb83008673f55 Author: Joseph J Vlcek <Joseph.Vlcek@Sun.COM> Repository: /hg/caiman/slim_source Latest revision: 679bcac2752d7f1a8c3b9bac5bccb83008673f55 Total changesets: 1 Log message: 4248 ICT: reset_image_uuid unconditionally tries to reset the uuid Files: update: usr/src/cmd/slim-install/finish/install-finish