Site icon UnixArena

Solaris 11 – IPS repository issues and Fixes

Solaris IPS issues and fixes

This article is going to discuss about Image packaging system repository(IPS)’s real time issues and fixes. When i have started working on Solaris 11, i have faced lot of issues with IPS and that too happens only after the IPS deployment.  You need to either online or local repository(offline) to install package,update the Operating system and install the zones. But most of the times due to lack of IPS knowledge ,we will commit mistakes and that will not allow to update or install any packages or zones.In some rare cases, you will be able to install packages  but unable to install the zone using IPS repository.

Refer this article for Solaris 11/11.1  Update issues. (Patching issues/Solutions)

 

ISSUE:1

I was trying to install the whole root zone but it got failed with below errors.

UA-CLOUD@root#zoneadm -z WHOLEROOT install
The following ZFS file system(s) have been created:
cloudS/WHOLEROOT
Progress being logged to /var/log/zones/zoneadm.20140810T174546Z.WHOLEROOT.install
Image: Preparing at /cloudS/WHOLEROOT/root.


Install Log: /system/volatile/install.8396/install_log
AI Manifest: /tmp/manifest.xml.Teaayq
SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
Zonename: WHOLEROOT
Installation: Starting …
Creating IPS image
Startup linked: 1/1 done
Installing packages from:
solaris
origin: file:///UAIPS/repo/
origin: http://localhost:1008/solaris/15eb7190a273c019799de15bf2e8e0b93479c956/
Error occurred during execution of ‘generated-transfer-8396-1’ checkpoint.
Failed Checkpoints:
Checkpoint execution error:
The following pattern(s) did not match any allowable packages. Try
using a different matching pattern, or refreshing publisher
information:
Installation: Failed. See install log at /system/volatile/install.8396/install_log
ERROR: auto-install failed.
UA-CLOUD@root#

Logs shows,

2014-08-11 00:09:33,504 InstallationLogger CRITICAL Failed Checkpoints:
2014-08-11 00:09:33,555 InstallationLogger ERROR
2014-08-11 00:09:33,608 InstallationLogger ERROR generated-transfer-21422-1
2014-08-11 00:09:33,658 InstallationLogger ERROR
2014-08-11 00:09:33,710 InstallationLogger ERROR Checkpoint execution error:
2014-08-11 00:09:33,763 InstallationLogger ERROR
2014-08-11 00:09:33,815 InstallationLogger ERROR The following pattern(s) did not match any allowable packages. Try
2014-08-11 00:09:33,868 InstallationLogger ERROR using a different matching pattern, or refreshing publisher information:
2014-08-11 00:09:33,921 InstallationLogger ERROR
2014-08-11 00:09:33,973 InstallationLogger ERROR
pkg:///entire@0.5.11,5.11-0.175.2.1.0.2.0:20140723T184046Z
2014-08-11 00:09:34,025 InstallationLogger ERROR
2014-08-11 00:09:34,078 InstallationLogger INFO Automated Installation
Failed. See install log at /system/volatile/install.21422/install_log
2014-08-11 00:09:34,130 InstallationLogger DEBUG Shutting down Progress
Handler
root@SAN:/etc/zones#

Root Cause:

Normally this errors happens when the system packages and repository packages conflicts with each other.
Here is the local repository information.

root@SAN:/etc/zones# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///UAIPS/repo/
root@SAN:/etc/zones#

Here is the installed “entire” package on the server.

root@SAN:/etc/zones# pkg list entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.2.1.0.2.0     i--
root@SAN:/etc/zones#

Here is the local repositories “entire” package version .

root@SAN:/etc/zones# pkgrepo -s /UAIPS/repo/ list entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.2.0.0.42.0    ---
root@SAN:/etc/zones#

In my case, IPS repository is not having the “entire” version what i have installed on my system . That’s why zone installation was failing . So the ground rule is that repo should have packages what system has.  This situation happens when you are switching between different IPS repositories.

I have tried to update the system with repository but it failed with below messages. (Since system is having higher version,off-course you can’t update.).This error will help you to identify the issue.(System SRU  and repository SRU conflicts)

root@SAN:/etc/zones# pkg update
Create boot environment: No
Create backup boot environment: No
Updating package cache 1/1
—————————————————————————
NOTE: Please review release notes posted at:
http://www.oracle.com/pls/topic/lookup?ctx=solaris11&id=SERNS
—————————————————————————
root@SAN:/etc/zones#

Solution:1
Normally we use to update the system using IPS. Here you need to update the IPS to level what system has.The below command will the system to latest updates from oracle to  local IPS repository.

root@SAN:~# pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /UAIPS/repo/ '*'
Processing packages for publisher solaris ...

Once the repository has newer version than system,then update the system using below command.

root@SAN:/etc/zones# pkg update

Solution:2

In shortcut, you can just update the “entire” package which is conflicting using below commands.(Entire version number is provided from “pkg list entire” command output)

root@SAN:~# pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /UAIPS/repo/ entire@0.5.11-0.175.2.1.0.2.0
Processing packages for publisher solaris ...
Retrieving and evaluating 1 package(s)...
PROCESS                                         ITEMS    GET (MB)   SEND (MB)
Completed                                         1/1     0.0/0.0     0.0/0.0
root@SAN:~# pkg list -af entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.2.1.0.2.0     i--
entire                                            0.5.11-0.175.2.0.0.42.0    ---
root@SAN:~#
root@SAN:~# pkgrepo list -s /UAIPS/repo/|grep entire
solaris   entire                                          0.5.11,5.11-0.175.2.1.0.2.0:20140723T184046Z
solaris   entire                                          0.5.11,5.11-0.175.2.0.0.42.0:20140624T193832Z
solaris   entire                                          0.5.11,5.11-0.175.1.0.0.24.2:20120919T190135Z
solaris   entire                                          0.5.11,5.11-0.175.0.10.1.0.0:20120918T160900Z
solaris   entire                                          0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z
solaris   entire                                          0.5.11,5.11-0.151.0.1:20101105T054056Z
root@SAN:~#

After the IPS repository update,you can see entire@0.5.11-0.175.2.1.0.2.0 available on the local repository itself. Again zone installation may fail if any other package is conflicting with IPS repository.

root@SAN:~# zoneadm -z UAZONE1 install
The following ZFS file system(s) have been created:
UAIPS/UAZONE1
Progress being logged to /var/log/zones/zoneadm.20140811T204752Z.UAZONE1.install
Image: Preparing at /UAIPS/UAZONE1/root.
Install Log: /system/volatile/install.5585/install_log
AI Manifest: /tmp/manifest.xml.5taO4k
SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
Zonename: UAZONE1
Installation: Starting …
Creating IPS image
Startup linked: 1/1 done
Installing packages from:
solaris
origin: http://localhost:1008/solaris/15eb7190a273c019799de15bf2e8e0b93479c956/
Creating Plan (Solver setup): | Error occurred during execution of ‘generated-transfer-5585-1’ checkpoint.
Failed Checkpoints:
Checkpoint execution error:
No matching version of entire can be installed:
Reject: pkg://solaris/entire@0.5.11,5.11-0.175.2.1.0.2.0:20140723T184046Z
Reason: All versions matching ‘require’ dependency pkg:/consolidation/userland/userland-incorporation are rejected
Reject: pkg://solaris/consolidation/userland/userland-incorporation@0.5.11,5.11-0.175.2.0.0.42.1:20140623T010405Z
Reason: Excluded by proposed incorporation ‘entire’
Installation: Failed. See install log at /system/volatile/install.5585/install_log
ERROR: auto-install failed.
root@SAN:~#

In this case, you need to update the package which is conflicting.Let me update userland package.

root@SAN:~# pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /UAIPS/repo/ pkg:/consolidation/userland/userland-incorporation
Processing packages for publisher solaris ...
Retrieving and evaluating 5 package(s)...
PROCESS                                         ITEMS    GET (MB)   SEND (MB)
Completed                                         4/4     0.0/0.0     0.0/0.0
root@SAN:~# zoneadm -z UAZONE1 install
The following ZFS file system(s) have been created:
    UAIPS/UAZONE1
Progress being logged to /var/log/zones/zoneadm.20140811T204950Z.UAZONE1.install
       Image: Preparing at /UAIPS/UAZONE1/root.
 Install Log: /system/volatile/install.6837/install_log
 AI Manifest: /tmp/manifest.xml.0faivn
  SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
    Zonename: UAZONE1
Installation: Starting ...
        Creating IPS image
Startup linked: 1/1 done
        Installing packages from:
            solaris
                origin:  http://localhost:1008/solaris/15eb7190a273c019799de15bf2e8e0b93479c956/
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            282/282   53274/53274  351.9/351.9  389k/s

PHASE                                          ITEMS
Installing new actions                   71043/71043
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           1/1
Installation: Succeeded
        Note: Man pages can be obtained by installing pkg:/system/manual
 done.
        Done: Installation completed in 1037.331 seconds.
  Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process.
Log saved in non-global zone as /UAIPS/UAZONE1/root/var/log/zones/zoneadm.20140811T204950Z.UAZONE1.install
root@SAN:~#
root@SAN:~# zoneadm list -cv
  ID NAME             STATUS      PATH                         BRAND      IP
   0 global           running     /                            solaris    shared
   - UAZONE1          installed   /UAIPS/UAZONE1               solaris    excl
root@SAN:~# zoneadm -z UAZONE1 boot
root@SAN:~#

 ISSUE:2

Sometimes IPS repository will show http error even though it is a local repository and is online.

root@SAN:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///UAIPS/repo/
root@SAN:~#
root@SAN:~# zoneadm -z WHOLEROOT install
Progress being logged to /var/log/zones/zoneadm.20140810T200213Z.WHOLEROOT.install
Image: Preparing at /cloudS/WHOLEROOT/root.
Install Log: /system/volatile/install.7400/install_log
AI Manifest: /tmp/manifest.xml.HXaaBo
SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
Zonename: WHOLEROOT
Installation: Starting …
Creating IPS image
Error occurred during execution of ‘generated-transfer-7400-1’ checkpoint.
Failed Checkpoints:
Checkpoint execution error:
Error refreshing publishers, 0/1 catalogs successfully updated:
http protocol error: code: 404 reason: Not Found
URL: ‘http://localhost:1008/solaris/15eb7190a273c019799de15bf2e8e0b93479c956/catalog/1/catalog.attrs’ (happened 4 times)
Installation: Failed. See install log at /system/volatile/install.7400/install_log
ERROR: auto-install failed.
root@SAN:~#

Solution:

# pkg refresh –full

# pkg update

ISSUE:3

In the below error message , you can see that zoneadm is not trying to contact the repository itself.

root@SAN:/# zoneadm -z WHOLEROOT install
The following ZFS file system(s) have been created:
rpool/export/home/WHOLEROOT
Progress being logged to /var/log/zones/zoneadm.20140812T190556Z.WHOLEROOT.install
Image: Preparing at /export/home/WHOLEROOT/root.
AI Manifest: /tmp/manifest.xml.RYSDFZs
SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
Zonename: WHOLEROOT
Installation: Starting …
Creating IPS image
Startup linked: 1/1 done
Installing packages from:
Error occurred during execution of ‘generated-transfer-25693-1’ checkpoint.
Failed Checkpoints:
Checkpoint execution error:
The following pattern(s) did not match any allowable packages. Try
using a different matching pattern, or refreshing publisher information:
Installation: Failed. See install log at /system/volatile/install.25693/install_log
ERROR: auto-install failed.
root@SAN:/#

Solution:

System repository service must be online.

root@SAN:~# svcs -a |grep system-repo
online          3:12:10 svc:/application/pkg/system-repository:default
root@SAN:~#

System should point to valid publisher.(In my case, i am using local repsoitory) .Refer here for online repositories

root@SAN:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///UAIPS/repo/
root@SAN:~#

If it is local repository ,then system-repository SMF should point to local IP-address.

root@SAN:~# svcprop svc:/application/pkg/system-repository:default |grep config/host
config/host astring 127.0.0.1
root@SAN:~#

If not set using below command, (Make sure system has “localhost     127.0.0.1”  in /etc/hosts entry )

root@SAN:~# svccfg -s svc:/application/pkg/system-repository:default setprop config/host=astring: "127.0.0.1"
root@SAN:~# svcprop svc:/application/pkg/system-repository:default |grep config/host
config/host astring 127.0.0.1
root@SAN:~# svcadm refresh system-repository
root@SAN:~# svcs system-repository
STATE          STIME    FMRI
online          3:12:10 svc:/application/pkg/system-repository:default
root@SAN:~#

 ISSUE:4

When you trying to set online oracle release publisher , you may get below error sometimes.

root@SAN:~# pkg set-publisher -O http://pkg.oracle.com/solaris/release solaris
pkg set-publisher: The origin URIs for ‘solaris’ do not appear to point to a valid pkg repository.
Please verify the repository’s location and the client’s network configuration.
Additional details:
Unable to contact valid package repository
Encountered the following error(s):
Unable to contact any configured publishers.
This is likely a network configuration problem.
1: Framework error: code: 28 reason: Connection timed out after 60000 milliseconds
URL: ‘http://pkg.oracle.com/solaris/release’
2: Framework error: code: 28 reason: Connection timed out after 60001 milliseconds
URL: ‘http://pkg.oracle.com/solaris/release’
3: Framework error: code: 28 reason: Connection timed out after 60002 milliseconds
URL: ‘http://pkg.oracle.com/solaris/release’ (happened 2 times)
root@SAN:~#

SOLUTION:

This happens due to network issue. Please check with network team resolve it. If you do not have direct internet connection and you are having proxy server in the environment, you can use  proxy to connect oracle’s IPS release repository .Oracle release repository uses http protocol.

root@SAN:~# export http_proxy=http://192.168.2.23:808
root@SAN:~# pkg set-publisher -O http://pkg.oracle.com/solaris/release solaris
root@SAN:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
root@SAN:~#

Oracle support repository will use https connection. So you need to proxy accordingly.

root@SAN:~# export https_proxy=https://192.168.2.23:808
root@SAN:~# pkg set-publisher -O https://pkg.oracle.com/solaris/support solaris
root@SAN:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F https://pkg.oracle.com/solaris/support/
root@SAN:~#

To make the proxy settings permanently ,just add the above lines in root user’s profile.

If you get below error, then you need to work with network team to fix it. There must be some issue with proxy access.

root@SAN:~# pkg set-publisher -O http://pkg.oracle.com/solaris/release solaris
pkg set-publisher: The origin URIs for ‘solaris’ do not appear to point to a valid pkg repository.
Please verify the repository’s location and the client’s network configuration.
Additional details:
Unable to contact valid package repository
Encountered the following error(s):
Unable to contact any configured publishers.
This is likely a network configuration problem.
Framework error: code: 7 reason: Failed connect to pkg.oracle.com:808; Connection refused
URL: ‘http://pkg.oracle.com/solaris/release’ (happened 4 times)
root@SAN:~#

ISSUE:5

When you are trying to configure oracle’s support IPS repository, you may get below error.

root@SAN:~# pkg set-publisher -O https://pkg.oracle.com/solaris/support solaris
pkg set-publisher: The origin URIs for ‘solaris’ do not appear to point to a valid pkg repository.
Please verify the repository’s location and the client’s network configuration.
Additional details:
Unable to contact valid package repository
Encountered the following error(s):
Unable to contact any configured publishers.
This is likely a network configuration problem.
Framework error: code: 35 reason: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
URL: ‘https://pkg.oracle.com/solaris/support’
root@SAN:~#

SOLUTION:

Oracle support repository uses secure http .So it requires certificate and keys to access the repository  and this repository is exclusively available only for oracle customers who has support contract. You can download the keys and certificate from http://pkg-register.oracle.com/ – > Request Certificate – > Oracle Solaris 11 support. Once you have the certificates, just copy to /var/ssl/. directory and use below command to set publisher.

root@SAN:~# pkg set-publisher -k /var/pkg/ssl/Oracle_Solaris_11_Support.key.pem -c /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem  -G '*' -g https://pkg.oracle.com/solaris/support/ solaris
root@SAN:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F https://pkg.oracle.com/solaris/support/
root@SAN:~#

Refer this article as well if the certificates and keys are expired.

Hope this article will help you to resolve Solaris 11’s IPS repository issues. Before trying to troubleshooting anything , just refresh the repo  and try if that resolves the issue.

# pkgrepo refresh -s file:///UAIPS/repo/   (In My case)
# pkg refresh –full

IPS commands usage with output

Share it ! Comment it !! Be Sociable !!!

Exit mobile version