Bug 4248 - ICT: reset_image_uuid unconditionally tries to reset the uuid
: ICT: reset_image_uuid unconditionally tries to reset the uuid
Status: RESOLVED FIXINSOURCE
Product: installer
autoinstall
: unspecified
: ANY/Generic OpenSolaris
: P3 normal (vote)
: 2009.1H
Assigned To: JoeV
:
:
: 2009.06-03
:
:
: 6372
  Show dependency treegraph
 
Reported: 2008-10-26 12:46 UTC by Alok Aggarwal
Modified: 2009-04-15 03:51 UTC (History)
4 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Alok Aggarwal 2008-10-26 12:46:34 UTC
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)
Comment 1 Jan Damborsky 2008-10-26 13:47:09 UTC
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.
Comment 2 Alok Aggarwal 2008-10-26 15:38:25 UTC
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.
Comment 3 JoeV 2008-10-27 07:51:12 UTC
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
Comment 4 Dave Miner 2008-10-27 08:01:37 UTC
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.
Comment 5 JoeV 2008-10-27 08:51:28 UTC
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
Comment 6 Alok Aggarwal 2008-10-27 11:54:51 UTC
(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.
Comment 7 Alok Aggarwal 2008-10-27 13:46:54 UTC
Stale browswer cache resulted in the update to priority. Reverting back to the
state before comment #6
Comment 8 JoeV 2009-04-07 13:10:52 UTC
not a stopper for 2009.1H
Comment 9 JoeV 2009-04-09 06:55:09 UTC
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.
Comment 10 Dave Miner 2009-04-09 10:17:06 UTC
Setting provisional target build 2009.06-03
Comment 11 JoeV 2009-04-10 07:24:16 UTC
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.
Comment 12 JoeV 2009-04-15 03:51:44 UTC
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