[OpenIndiana-discuss] Testing updates from /dev to /hipster-2015 and /hipster

Nikola M minikola at gmail.com
Tue Jun 7 20:48:34 UTC 2016


On 06/ 7/16 09:20 PM, Tim Mooney wrote:
> First: Nikola, shouldn't the wiki article be more obvious in giving 
> credit
> to Ben for his post? 

Article written on Wiki is inspired by obviously useful stop-by-step 
procedure but is part of Openindiana. In the bottom of the post you will 
find "Article added as per testing manual shared by bentahyr 
<http://openindiana.org/pipermail/openindiana-discuss/2016-May/018902.html> 
on 20160509" with ML link, wich suffice more then enough.
Those links are not needed actually but i think they are good to have.

> alp and others have definitely provided valuable
> guidance, but it was Ben that filled in the gaps and provided a
> step-by-step process that people that are less-familiar with IPS could
> still easily follow.

We already had information of where /hipster-2015 is and how to change 
publishers and the same goes for move to new /hipster.

bentahyr's post showed there is a need for people to have more detailed 
explained way of testing things, and it is valuable to kave it in mind 
in the future too.
I personally were testing update in less steps (but a bit more reboots) 
so didn't feel the need for it, but step-by step sounded like a good 
idea to have and I am happy you found it out.

Personally, I would call BE's by their names, like hipster-2015 but it 
is also good to have it on Wiki similar like described.

> I did the process on a Dell Precision T3600, with 32 GB of RAM.  I have a
> fast Internet connection at work and this workstation hardware is 
> quite good,
> so it didn't take me nearly as long as it took Ben.

I were doing it on 1GB machine with disabled gdm and then on 2GB when 
jumping to /hipster. It lasted several hours (vanilla install) but it 
worked (and works).


>
> Before step 1, I personally added steps 0a & 0b.
>
> step 0a was to disable any network services that may be changing 
> things on
> the box during this process.  I'm specifically thinking about sendmail,
> but other services might also apply.  The reason why is that if you do
> need to go back to an older boot environment, that older BE may be
> missing mail or other file changes that were made to one of the later 
> BEs.

It is recommended to have old environment untouched in it's BE and to 
start changes in a new BE so what you described sounds more like 1a/1b.

It is true that if /var is shared with a new dataset, you might at least 
have snapshots.
Btw in hipster /var is now moved to a new separate dataset by default 
and that sounds like a good practice (I keep also my /opt in separate 
rataset under rpool/SHARED/opt etc.)

>
> step 0a:
>
>     sudo svcs -a > services-before-hipster
>     sudo svcadm disable svc:/network/sendmail:default

Again i wouldn't do this befor making new BE and rebooting into new BE 
for testing update,
because that way you can always go back to old working BE.

I would call this as a good idea but suitable for 1a/1b step , regarding 
what services you have etc.

> It wasn't really necessary, but to keep them in sync I also did:
>
>     sudo svcadm disable svc:/network/sendmail-client:default
>
> I also did a step 0b, where I gathered a little bit more information 
> about
> what the starting step looked like, for both publishers and packages:
>
> step 0b:
>
>     pkg list > pkg_list.txt
>     pkg list | egrep sfe > pkg_list_sfe.txt
>     pkg publisher > pkg_publisher.txt

I like these steps It can very well document the environment.


>
> Continuing with Ben's procedure...
>
> I didn't make any changes to step 1:
>
>> Here is the process I followed for reference and for the doc project :
>> 1 - Create a BE to start and boot to it :
>> # beadm create -a Openindiana-HipUpdate-S1
>> # reboot
>
> For step 2, there is one minor change I would recommend:
>
>> 2 - remove all packages from external repositories (like 
>> SFE/SFE-encumbered but SFWpackages as well) :
>> # pkginfo | grep SFW
>> # pkgrm SFW[whatevername]
>> # pkg uninstall --be-name Openindiana-HipUpdate-S2 `pkg list -v | 
>> egrep sfe | cut -d" " -f1`
>
> There is actually a package named '/driver/network/sfe' which 
> accidentally
> matches the regex used in the last command (looking for packages from the
> sfe or sfe-encumbered repositories).  To avoid uninstalling that driver,
> I changed the 'egrep sfe' in the last command in step 2 to 'egrep //sfe'.
> Even safer would be
>
>     egrep '^pkg://sfe'

This is good change.

>
> which (assuming you used 'sfe' and 'sfe-encumbered' for your repository
> names for the spec files extra and spec files extra (encumbered)
> repositories) should match both add-on repositories.
>
>> 3 - Reboot to new env Openindiana-HipUpdate-S2
>
> One question I have about step 4:
>
>> 4 - Remove external IPS publishers :
>> # pkg unset-publisher sfe
>> # pkg unset-publisher sfe-encumbered
>
> There's no place in Ben's guide that even mentions the other publisher
> that people that started on /dev might have, opensolaris.org
>
> Based on comments I've seen from alp, wouldn't step 4 be the logical
> place to *also* do
>
>     pkg unset-publisher opensolaris.org

This is also good change.

>
> ?  I haven't actually done that yet, so I still have opensolaris.org
> showing up as a publisher, but I'm thinking it should be removed.
>
>> 5 - Change publisher to Hipster 2015
>> # pkg set-publisher -g http://pkg.openindiana.org/hipster-2015 -G 
>> http://pkg.openindiana.org/dev openindiana.org
>> # pkg refresh --full
>> # pkg update --be-name Openindiana-HipUpdate-S3
>
> I executed step 5 exactly as shown.  I thought it might be useful for
> others to have some timings for this step, so for comparison
>
> - 'pkg refresh --full' took just under 2 minutes to complete.
> - the actual 'pkg update --be-name Openindiana-HipUpdate-S3' took
>     - 14 minutes just for the planning stage, and at points during
>       the planning stage the spinner was stalled.  Doing a truss on
>       the python process showed that is was repeatedly changing memory
>       allocation using brk().
>     - after the plan phase finished, there were 99174 files totaling
>       1292 MB to download.  With my network connection and I/O, that
>       took another 10-15 minutes or so.
>     - the post-download phases took another 5-10 minutes.

Process in hipster-2015 is long because there were many changes during 
the time (one of the reasons for jumping from /hipster to /hipster-2015 
was to speed up IPS).

I think it is sane idea to publish , say latest ISO hipster snapshot 
state of 20160121 to , say /dev-test, so that people can update to it 
from /dev and see how things are going. (Some people might choose to 
stay with snapshots for production).
That goes into idea of having /dev updated with changed 20160121, adding 
packagemanager and updatemenager GUIs again and 151a branded zone and to 
have an update appear to all current /dev users.

>
> At the very end of the process, I did receive a message about a few files
> and directories that were "salvaged":
>
> -----
>
> The following unexpected or editable files and directories were
> salvaged while executing the requested package operation; they
> have been moved to the displayed location in the image:
>
>   var/sadm/system/logs ->
> /tmp/tmpJxJO6L/var/pkg/lost+found/var/sadm/system/logs-20160606T171556Z
>   var/sadm/system ->
> /tmp/tmpJxJO6L/var/pkg/lost+found/var/sadm/system-20160606T171556Z
>   usr/lib/python2.4/site-packages ->
> /tmp/tmpJxJO6L/var/pkg/lost+found/usr/lib/python2.4/site-packages-20160606T171557Z 
>
>   usr/lib/firefox/plugins ->
> /tmp/tmpJxJO6L/var/pkg/lost+found/usr/lib/firefox/plugins-20160606T171557Z 
>
>   etc/rad -> /tmp/tmpJxJO6L/var/pkg/lost+found/etc/rad-20160606T171557Z
>
> ----
>
> None of them were of concern for me, so I continued with the next steps:
>
>
>> 6 - Reboot to Hipster 2015
>>
>> 7 - Verify any leftovers
>> # pkg list |grep '0\.151\.1\.'
>> * must be empty *
>
> Ben's instructions had two steps that were numbered step 7.  The first
> step 7 (above) didn't reveal any left-over packages, so I continued
> with the second step 7:
>
>> 7 - Install incorporations
>> # pkg install --no-backup-be userland-incorporation entire
>
> No problems from that, but it did output
>
>     "No updates necessary for this image"
>
> Since my goal was to get to current hipster, I continued with the
> next steps:
>
>> 8 - Change publisher to Hipster
>> # pkg set-publisher -g http://pkg.openindiana.org/hipster -G 
>> http://pkg.openindiana.org/hipster-2015 openindiana.org
>
> It wasn't listed in step 8, but I chose to also do a
>
>     pkg refresh --full
>
> like had been done in step 5.
>
>> 9 - Update to latest Hipster
>> # pkg update --be-name OpenIndiana-Latest
>> # reboot
>
> Again for timing comparisons, the pkg update after switching from
> /hipster-2015 to /hipster took:
>     - only about 2 minutes for the "plan" stage
>     - involved 694 packages, totaling 13548 files in 494 MB.
>     - the entire update, from start to finish, took a total of 9 minutes.
>
>
>> Now test extensively, reinstall missing applications, enable SFW for 
>> Hipster,....
>
> I can't say I've tested extensively, but nearly everything I've tried has
> worked.  Of note, my VirtualBox 4.3.30 install survived the transition
> from /dev to /hipster-2015 to /hipster and works just fine, including
> audio.
>
> A couple things I've noticed that aren't working:
>
> - the flash plugin isn't working with firefox 45.0.2.  Not as big of a
>   deal as it once would have been, because most of the YouTube stuff I've
>   checked has played very well without flash.  Since audio from my 
> Windows
>   7 VirtualBox VM works, I can always use the VM for anything (like
>   accessing our VMWare infrastructure) that truly requires flash.
> - since the graphical update manager is gone, root's existing cron
>   job to run  /usr/lib/update-manager/update-refresh.sh now just
>   generates periodic error email.  I just commented out the cron job.
>
> I also see that firefox 45.0.2 isn't happy with the Java plug-in:
>
> LoadPlugin: failed to initialize shared library 
> /usr/jdk/instances/jdk1.7.0_80/jre/lib/i386/libnpjp2.so [ld.so.1: 
> firefox: fatal: relocation error: file 
> /usr/jdk/instances/jdk1.7.0_80/jre/lib/i386/libnpjp2.so: symbol 
> __1cDstdMbasic_string4Ccn0ALchar_traits4Cc__n0AJallocator4Cc___J__nullref_: 
> referenced symbol not found]
>
>
> Java web start continues to work, though, which is the only java/firefox
> bit I care about, since we have an important application that uses web 
> start.
>
> After that amount of testing and things looking good enough for continued
> use, I decided I was staying with hipster rather than rolling back to
> the original boot environment.  I therefore did the following:
>
> - re-enable sendmail and/or other services that were disabled at the
>   start.
>
>     sudo svcadm enable svc:/network/sendmail:default
>     sudo svcadm enable svc:/network/sendmail-client:default
>
> - add the /hipster-encumbered publisher:
>
>     sudo pkg set-publisher --non-sticky \
>         -g http://pkg.openindiana.org/hipster-encumbered 
> hipster-encumbered

i just need to say that I don't have anything set as non-sticky, since 
new installs probably won't have that and i like to be in "the boots" of 
every user and that helps testing packages and installing them.

>
> I found the reference to that repo in a message alp had posted.
>
> - after adding /hipster-encumbered, I installed vlc, which pulled in more
>   than a dozen additional dependencies.  I'll have more to add yet, as 
> the
>   list I previously had from sfe & sfe-encumbered totaled about 60
>   packages.

I tend to install everything from hipster-encumbered, to make surte I 
don't miss something multimedia-wise.


>
> - add the opencsw spec files extra repo.  I used the following (not
>   certain this was the best way...):
>
>     sudo pkg set-publisher --non-sticky \
>         -g http://sfe.opencsw.org/localhostoih/ \
>         --search-after=openindiana.org localhostoi

Alos not sure if non-sticky is needed here. If it misbihaves with some 
package installing it's a bug and it needs to be reported and 
-non-sticky might put them under the carpet or so.


> Finally, since my OI /dev install had never had a working office suite,
> I finished up by installing openoffice from hipster:
>
>     sudo pkg install -n pkg://openindiana.org/desktop/office/openoffice

There is also working LibreOffice form SFE 
(http://sfe.opencsw.org/localhostoih/  localhostoih)
If you can, you can help with un-stucking Openoffice bug that prevent 
saving ODT files, too.

>
> I had to use the full FMRI because I still have opensolaris.org as a
> publisher (see above) and it has an ancient version of openoffice.

Ia also keep OO.org 3 but I am keeping it in /opt, since version 
unpacked from archive were newer anyway.

> I actually would have preferred libreoffice4 from sfe, but the
> --search-after and --non-sticky options I used when setting up
> sfe/localhostoi mean that some of the dependencies can't replace versions
> from hipster.  I may have to re-do my publisher for sfe/localhostoi

Currently there are few more steps regarding C++ libraries collisions 
between SFE and OI hipster, but there are steps explained on SFE page to 
avoid them.
As I know it is not resolved yet as I know (correct me if anything is 
new on this).

>
> Hope that all helps someone else to make the transition.  Again, big
> thanks to Ben for posting the instructions.

Thank you to for relaying your experiences and recommendations, too :)

I hope you will keep hipster-2015 BE around, and your old /dev, too, so 
you can possibly do more testing with updating. /hipster is and will be 
moving target and we need something not moving as sure update target.



More information about the openindiana-discuss mailing list