Solaris Cluster Upgrade 11.3 to 11.4 // 4.3 to 4.4 fails

Last time I had big fun upgrading a bunch of Solaris clusters from solaris 11.3 and cluster 4.3 to solaris 11.4 and cluster 4.4 on some T5 servers. Having Solaris Cluster installed gave me an error on pkg update… some days later I had to install some other Solaris Clusters and got a similar message regarding some other dependencies… in both situations, solaris cluster update to 4.4 fails, the solution was including the ha-cluster repository also as a, I would call it, search first or search order…

Some errors I saw:

root@sol11.3server:~# pkg update -nvv
 Creating Plan (Running solver): -
 pkg update: No solution was found to satisfy constraints
 No solution found to update to latest available versions.
 This may indicate an overly constrained set of packages are installed.

 latest incorporations:

 pkg://solaris/consolidation/SunVTS/SunVTS-incorporation@8.2.2,5.11-11.4.0.0.1.3.8:20180328T214527Z
 pkg://solaris/consolidation/X/X-incorporation@11.4,5.11-11.4.3.0.1.5.0:20181107T002739Z
 pkg://solaris/consolidation/cde/cde-incorporation@11.4,5.11-11.4.0.0.1.14.0:20180814T153157Z
 pkg://solaris/consolidation/cns/cns-incorporation@11.4,5.11-11.4.0.0.0.11.0:20171211T161950Z
 pkg://solaris/consolidation/dbtg/dbtg-incorporation@0.5.12,5.12-5.12.0.0.0.87.0:20151116T001936Z
 pkg://solaris/consolidation/desktop/desktop-incorporation@11.4,5.11-11.4.0.0.0.12.0:20180103T012026Z
 pkg://solaris/consolidation/desktop/gnome-incorporation@11.4,5.11-11.4.1.0.1.1.0:20180829T212505Z
 pkg://solaris/consolidation/ips/ips-incorporation@11.4,5.11-11.4.0.0.1.14.0:20180814T145051Z
 pkg://solaris/consolidation/l10n/l10n-incorporation@11.4,5.11-11.4.0.0.1.14.1:20180814T145027Z
 pkg://solaris/consolidation/ldoms/ldoms-incorporation@11.4,5.11-11.4.0.0.1.14.0:20180814T173637Z
 pkg://solaris/consolidation/man/man-incorporation@5.12,5.12-5.12.0.0.0.101.0:20160612T200100Z
 pkg://solaris/consolidation/osnet/osnet-incorporation@11.4,5.11-11.4.3.0.1.5.0:20181107T002954Z
 pkg://solaris/consolidation/sfw/sfw-incorporation@11.4,5.11-11.4.0.0.1.14.0:20180814T153159Z
 pkg://solaris/consolidation/sic_team/sic_team-incorporation@0.11.5,5.11-11.4.0.0.1.7.0:20180521T161050Z
 pkg://solaris/consolidation/smcc/smcc-incorporation@11.4,5.11-11.4.0.0.0.1.0:20170724T145344Z
 pkg://solaris/consolidation/solaris_re/solaris_re-incorporation@11.4,5.11-11.4.3.0.1.5.0:20181107T004038Z
 pkg://solaris/consolidation/sunpro/sunpro-incorporation@11.4,5.11-11.4.0.0.1.4.0:20180409T193641Z
 pkg://solaris/consolidation/userland/userland-incorporation@11.4,5.11-11.4.3.0.1.4.0:20181024T214602Z
 pkg://solaris/entire@11.4,5.11-11.4.3.0.1.5.0:20181107T004627Z

 Dependency analysis is unable to determine the cause.
 Try specifying expected versions to obtain more detailed error messages.

What I learned from Oracle Support is to set a new option called “-p” issuing set-publisher, where the man page says “If no publisher is specified, all publishers in repo_uri are added or updated as appropriate.” My support engineer explained that there are dependencies which are not in the right repo for any reason, so it seems to be fixed in a future release easily, but right now it is like it is… solaris-dev and cluster-dev team, it’s your game 😉

This magic “-p” makes some strange publisher settings but after using that the upgrade and the installation worked like it should without errors. Downloaded the cluster release files and shared them per NFS:

sol11.3server:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://reposerver/solaris-support
ha-cluster                  origin   online F http://reposerver/ha-cluster-support/
solarisstudio               origin   online F http://reposerver/solarisstudio-support/
sol11.3server:~#
sol11.3server:~# pkg unset-publisher solaris
sol11.3server:~# pkg unset-publisher ha-cluster
sol11.3server:~# pkg unset-publisher solarisstudio
sol11.3server:~# pkg set-publisher -g http://reposerver/solaris-support
sol11.3server:~# pkg set-publisher -p file:////net/reposerver/myCluster_release_repo
sol11.3server:~# pkg set-publisher -g http://reposerver/ha-cluster-support/ ha-cluster
sol11.3server:~# pkg set-publisher -g http://reposerver/solarisstudio-support/ solarisstudio
sol11.3server:~#
sol11.3server:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///net/reposerver/myCluster_release_repo/
solaris                     origin   online F http://reposerver/solaris-support/
ha-cluster                  origin   online F file:///net/reposerver/myCluster_release_repo/
ha-cluster                  origin   online F http://reposerver/ha-cluster-support/
solarisstudio               origin   online F http://reposerver/solarisstudio-support/
sol11.3server:~#

This also works for Oracle’s “public” repositories but you will have to accept ALL necessary publishers for your SSL/HTTPS key and certificate on http://pkg-register.oracle.com/ and download these files again to set your publisher over ssl to pkg.oracle.com, also the important release publisher in that step!

root@sol11.4server:~# cat /etc/release
                            Oracle Solaris 11.4 SPARC
  Copyright (c) 1983, 2018, Oracle and/or its affiliates.  All rights reserved.
                           Assembled 06 November 2018
root@sol11.4server:~# cat /etc/cluster/release
             Oracle Solaris Cluster 4.4.1.2.0 for Solaris 11 sparc
  Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
root@sol11.4server:~# uname -a
SunOS sol11.4server 5.11 11.4.3.5.0 sun4v sparc sun4v
root@sol11.4server:~#

Happy upgrading and installing 😉

Oracle Solaris 11.4 SRU1 is out!

We got the first SRU for Solaris 11.4! Now you can find the 11.4 stream in your “standard” support repository and upgrade easily to the latest version:

root@psvsparc1:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solarisstudio               origin   online F https://pkg.oracle.com/solarisstudio/support/
ha-cluster                  origin   online F https://pkg.oracle.com/ha-cluster/support/
solaris                     origin   online F https://pkg.oracle.com/solaris/support/
root@psvsparc1:~#
root@psvsparc1:~# pkg list -af entire | head -4
NAME (PUBLISHER)                                  VERSION                    IFO
entire (solaris)                                  11.4-11.4.1.0.1.4.0        ---
entire (solaris)                                  11.4-11.4.0.0.1.15.0       ---
entire (solaris)                                  0.5.11-0.175.3.35.0.6.0    i--
root@psvsparc1:~# pkg list -af ha-cluster-framework-full@latest
NAME (PUBLISHER)                                  VERSION                    IFO
ha-cluster/group-package/ha-cluster-framework-full (ha-cluster) 4.4-0.21.0                 ---
root@psvsparc1:~#

This version should include all patches and mostly all IDRs from 11.3 SRU35…

GoGoGo, let’s feel the future 🙂

root@t7primary01:~# pkg list entire@latest
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            11.4-11.4.1.0.1.4.0        i--
root@t7primary01:~# uname -a
SunOS t7primary01 5.11 11.4.1.4.0 sun4v sparc sun4v

Read more about at OracleBlogs

Fast ZFS Based File Copying

Just a quick try on my new Solaris 11.4… The reflink() function creates a new file with the content of an existing file without reading or writing the underlying data blocks.

root@t7primary01:/downloads# uname -a
SunOS t7primary01 5.11 11.4.0.15.0 sun4v sparc sun4v
root@t7primary01:/downloads# df -h .
Filesystem             Size   Used  Available Capacity  Mounted on
rpool/downloads        1.1T    52G       999G     5%    /downloads
root@t7primary01:/downloads# ls -lh zones.dump
-rw-r--r--   1 root     root         50G Jul 30 09:49 zones.dump
root@t7primary01:/downloads# time cp -z zones.dump zones.dump.zfs.reflink

real	0m11.481s
user	0m0.001s
sys	0m1.932s
root@t7primary01:/downloads# df -h .
Filesystem             Size   Used  Available Capacity  Mounted on
rpool/downloads        1.1T   102G       998G    10%    /downloads
root@t7primary01:/downloads# ls -lh zones.dump*
-rw-r--r--   1 root     root         50G Jul 30 09:49 zones.dump
-rw-r--r--   1 root     root         50G Aug 31 17:29 zones.dump.zfs.reflink
root@t7primary01:/downloads#

That’s cool, isn’t it… might be confusing but seems to be something like a relinking clone which could be very usefull saving space and time…

seems to be here but not really… may become confusing 🙂
used my zfsize:

root@t7primary01:/downloads# $HOME/scripts/zfsize -z rpool/downloads
ZFS = rpool/downloads
Mountpoint = /downloads
TempDir = /tmp
This may take a while ...
FILE	SIZE
/downloads/zones.dump	51331.97 MB
/downloads/zones.dump.zfs.reflink	51331.97 MB
root@t7primary01:/downloads#

VLAN on Virtual Functions (SPARC LDOM)

This example comes from a SuperCluster M7 which runs an SVA version not able to apply VLANs using the GUI:

root@primary:~# ldm stop ssccn1-io-io-dom
root@primary:~# ldm set-io vid=1620,1621,1680,1690 alt-mac-addrs=auto,auto,auto,auto,auto /SYS/CMIOU3/PCIE2/IOVNET.PF0.VF0
root@primary:~# ldm set-io vid=1620,1621,1680,1690 alt-mac-addrs=auto,auto,auto,auto,auto /SYS/CMIOU3/PCIE2/IOVNET.PF1.VF0
root@primary:~# ldm start ssccn1-io-io-dom

I/O Domain (Guest-Domain):

 
root@io-dom:~# ipadm show-addr
root@io-dom:~# ipadm delete-ipmp -f sc_ipmp0
root@io-dom:~# ipadm delete-ip net0
root@io-dom:~# ipadm delete-ip net1
root@io-dom:~# dladm create-vlan -l net0 -v 1680 net0_1680
root@io-dom:~# dladm create-vlan -l net1 -v 1680 net1_1680
root@io-dom:~# ipadm create-ip net0_1680
root@io-dom:~# ipadm create-ip net1_1680
root@io-dom:~# ipadm create-ipmp -i net0_1680 -i net1_1680 sc_ipmp0   
root@io-dom:~# ipadm set-ifprop -p standby=off -m ip net0_1680
root@io-dom:~# ipadm set-ifprop -p standby=on -m ip net1_1680
root@io-dom:~# ipadm create-addr -T static -a 192.168.180.101/24 sc_ipmp0/v4