Friday 7 August 2015

CRIMA1002W WARNING: The following repositories are not connected

Recently, I've been creating some enablement materials to coach people new to IBM middleware to get up-to-speed with some of our products.

This included creating a document that takes one through the end-to-end process of installing the relevant binaries, having previously created a CentOS 6.6 Linux virtual machine, onto which the products are then installed.

One thing that was a little niggling was a warning message from IBM Installation Manager (IIM): -

CRIMA1002W WARNING: The following repositories are not connected:
-/Repository/IIM

Explanation: Failed to connect to one or more repositories. The repository might be unavailable for several reasons.

User Action: Check the following items:
Verify the repository location is correct.
For repositories that require credentials, verify that the credentials are correct. Credentials can be set in the Repositories preference.
Verify the network connection is available. 
For environments that use proxies, verify the proxy settings are correct. Proxy settings can be set in the HTTP/FTP preference.
Update offerings require that base offerings be available. Verify the base offering is available in a repository. Use the listAvailablePackages command to view the packages available in a repository.
If you are using the IBM Passport Advantage site, verify the connection to the site is correct. Verify the Passport Advantage connection in the Passport Advantage preference.
For environments that use firewalls, verify that access to the repository location is available.
WARNING: /Repository/IIM is not a repository. It is an install package for Installation Manager version 1.8.1 (internal version 1.8.1000.20141126_2002). Installation Manager version 1.8.1 (internal version 1.8.1000.20141126_2002) is already installed.


seen during the installation of products such as IBM HTTP Server, WebSphere Application Server, IBM Operational Decision Manager etc.

The reason that this occurs is that I'd created a response file to actually install IIM as the precursor to everything else.

This is the response file that I was using: -

/Repository/ResponseFiles/installIIM181.rsp 
<?xml version="1.0" encoding="UTF-8"?>
<agent-input>
<server>
<repository location='/Repository/IIM'/>
</server>
<profile id='IBM Installation Manager' installLocation='/opt/ibm/InstallationManager/eclipse' kind='self'>
<data key='eclipseLocation' value='/opt/ibm/InstallationManager/eclipse'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='de,no,fi,ru,hr,fr,hu,sk,sl,sv,ko,el,en,pt_BR,it,iw,zh,es,cs,ar,zh_HK,zh_TW,th,ja,pl,da,tr,nl'/>
</profile>
<install modify='false'>
<offering id='com.ibm.cic.agent' version='1.8.1000.20141126_2002' profile='IBM Installation Manager' features='agent_core,agent_jre' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/ibm/IMShared'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>


which I installed thusly: -

/Repository/IIM/tools/imcl -input /Repository/ResponseFiles/installIIM181.rsp -acceptLicense

This causes IIM to install FROM the /Repository/IIM location into /opt/ibm/InstallationManager. More importantly, it also leaves /Repository/IIM in the list of repositories that IIM can use in the future; each new installation appends its own stuff to the list, which COULD become a problem down the line i.e. IF a repository is no longer accessible, IIM will whinge with the same warning :-)

However, that's the root of the warning message. As far as I can establish, the issue occurs because IIM cannot be installed using IIM once IIM is installed :-)

There are two solutions :-)

Firstly, one can use IIM in command-line mode to remove the errant repository: -

/opt/ibm/InstallationManager/eclipse/tools/imcl -c

( yes, I know that IIM does have GUI and web consoles, but I like CLI ! )

Secondly, one can avoid adding /Repository/IIM to the IIM repository list during the initial installation of IIM.

This is the better approach for the future, and could also be used for other products

It's a simple change to the original installIIM181.rsp response file: -

<?xml version="1.0" encoding="UTF-8"?>
<agent-input>
<server>
<repository location='/Repository/IIM' temporary='true'/>
</server>
<profile id='IBM Installation Manager' installLocation='/opt/ibm/InstallationManager/eclipse' kind='self'>
<data key='eclipseLocation' value='/opt/ibm/InstallationManager/eclipse'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='de,no,fi,ru,hr,fr,hu,sk,sl,sv,ko,el,en,pt_BR,it,iw,zh,es,cs,ar,zh_HK,zh_TW,th,ja,pl,da,tr,nl'/>
</profile>
<install modify='false'>
<offering id='com.ibm.cic.agent' version='1.8.1000.20141126_2002' profile='IBM Installation Manager' features='agent_core,agent_jre' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='/opt/ibm/IMShared'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>


This avoids IIM persisting IIM to IIM, which avoids the warning down the line.

I thank this post: -


on Jazz.net for inspiration.

No comments:

Visual Studio Code - Wow 🙀

Why did I not know that I can merely hit [cmd] [p]  to bring up a search box allowing me to search my project e.g. a repo cloned from GitHub...