Quantcast
Channel: A Portal to a Portal
Viewing all 1851 articles
Browse latest View live

IBM Cloud Private - 2.1.0.1 now available

$
0
0
From this: -

IBM Cloud Private version 2.1.0.1 is now available for download

Announcing the arrival of IBM Cloud Private version 2.1.0.1!

I know you didn't think that we were going to let the year end without another delivery from the IBM Cloud Private team. So here you go, to round out 2017 we got another one.........introducing IBM Cloud Private 2.1.0.1.

IBM Cloud Private Version 2.1.0.1 iterates on our 2.1.0 edition, with console enhancements, new capabilities, and a Kubernetes version update. We do highly recommend this upgrade, as alongside these new features, we took the time to also improve on some features and fix some of those pesky bugs.

We do hope you enjoy!

What's new in version 2.1.0.1

Here is a snapshot of what to expect with the release of version 2.1.0.1. You can also find more details on our Bluemix blog, or by reviewing our What's new page in the IBM Knowledge Center.

Kubernetes upgraded to 1.8.3

IBM Cloud Private version 2.1.0.1 is now upgraded to use Kubernetes version 1.8.3. For more information about the features that are introduced in Kubernetes 1.8.3, see https://github.com/kubernetes/features/blob/master/release-1.8/release-notes-draft.md.

Redesigned navigation menu

The navigation menu is now redesigned for better alignment of functions, this should improve ease of use of the IBM Cloud Private management console.

New networking capability

You can now integrate VMware NSX-T 2.0 with IBM Cloud Private.

Technology Previews

Try out one of our beta features and let us know what you think

• Cluster federation - In multiple cluster environments, you can use a federation to deploy and manage common services across multiple Kubernetes clusters.
• Vulnerability advisor - Use the advisor to get vulnerability reports for containers and images in your IBM® Cloud Private private registry. Note: The Vulnerability advisor is not available with IBM Cloud Private Community Edition.

IBM HTTP Server on Windows - New(ish) to me

$
0
0
This briefly caught me out.

Having install IBM HTTP Server 9.0.0.6 on a 64-bit Windows Server 2012 environment, I was trying, and failing, to start an instance: -

c:\IBM\HTTPServer\bin\apache.exe -k start -f c:\IBM\HTTPServer\WAS\conf\httpd.conf

[Sat Dec 23 09:08:44.988185 2017] [mpm_winnt:error] [pid 6328:tid 280] (OS 2)The system cannot find the file specified.  : AH00436: No installed service named "IBM HTTP Server V9.0".
[Sat Dec 23 09:08:44.988185 2017] [mpm_winnt:error] [pid 6328:tid 280] (OS 2)The system cannot find the file specified.  : If IBM HTTP Server was installed more than once, or installed with other than the default offering name, the service name must be passed to httpd.exe -k start via the -n <servicename>  parameter.


When I installed IHS, using a response file, I'd specifically chosen NOT to install IHS as a service: -

  <profile id='IBM HTTP Server V9.0' installLocation='c:\IBM\HTTPServer'>
    <data key='cic.selector.arch' value='x86_64'/>
    <data key='user.ihs.http.server.service.name.key' value='IBMHTTPServerV9.0'/>
    <data key='user.ihs.http.server.service.name' value='IBM HTTP Server V9.0'/>
    <data key='user.ihs.win.serverServiceStartType' value='auto'/>
    <data key='user.ihs.win.serverServicePassword' value='XjTveChg5ba6olBVMK/Reg=='/>
    <data key='user.ihs.allowNonRootSilentInstall' value='true'/>
    <data key='user.ihs.win.serverServiceLogOnAsLocalSystem' value='true'/>
    <data key='user.ihs.installHttpService' value='false'/>
    <data key='user.ihs.win.serverServiceUser' value='Administrator'/>
    <data key='user.ihs.httpPort' value='8080'/>
  </profile>


This, it transpires, was an error on my part :-)

The solution ?

Install IHS as a Windows service: -

c:\IBM\HTTPServer\bin\apache.exe -k install

Installing the IBM HTTP Server V9.0 service
The IBM HTTP Server V9.0 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

c:\IBM\HTTPServer\bin\apache.exe -k start -f c:\IBM\HTTPServer\WAS\conf\httpd.conf

No errors this time around :-)


Happy days, more to learn :-)

IBM HTTP Server on Windows - 32-bit or 64-bit ?

$
0
0
Following a previous post: -


I'm continuing to tinker with IBM HTTP Server (IHS) 9.0 on Windows.

Most of my work involves Unix ( Linux, AIX, macOS ), so Windows is relatively new to me, leastways in the context of IBM middleware etc.

So, given that I'm running a 64-bit version of Windows: -


I assumed that I could use the 64-bit version of the WebSphere Plugin: -

LoadModule was_ap24_module "c:\IBM\WebSphere\Plugins\bin\64bits\mod_was_ap24_http.dll"

Alas, no, not possible :-(

I see this when I start IHS: -

httpd.exe: Syntax error on line 806 of C:/IBM/HTTPServer/WAS/conf/httpd.conf: Cannot load c:\\IBM\\WebSphere\\Plugins\\bin\\64bits\\mod_was_ap24_http.dll into server: %1 is not a valid Win32 application.

I checked the underlying Apache binaries: -

c:\IBM\HTTPServer\bin\apache.exe -v

Server version: IBM_HTTP_Server/9.0.0.6 (Win32)
Server built:   Oct 10 2017 20:22:21


c:\IBM\HTTPServer\bin\apache.exe -V

Server version: IBM_HTTP_Server/9.0.0.6 (Win32)
Apache version: 2.4.12 (with additional fixes)
Server built:   Oct 10 2017 20:22:21
Build level:    RIHSX.IHS/webIHS1741.01
Server's Module Magic Number: 20120211:57
Server loaded:  APR 1.5.1, APR-UTIL 1.5.2
Compiled using: APR 1.5.1, APR-UTIL 1.5.2
Architecture:   32-bit
Operating System: Windows
Server MPM:     WinNT
  threaded:     yes (fixed thread count)
    forked:     no
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/apache"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error.log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
Apache vulnerability fixes included:
  CVE-2009-1191  CVE-2009-1890  CVE-2009-3094  CVE-2009-3095
  CVE-2010-0434  CVE-2010-0425  CVE-2010-0408  CVE-2009-3555
  CVE-2010-1452  CVE-2010-1623  CVE-2011-3368  CVE-2011-3607
  CVE-2011-3192  CVE-2011-3348  CVE-2011-4317  CVE-2012-0021
  CVE-2012-0031  CVE-2012-0053  CVE-2012-0883  CVE-2012-2687
  CVE-2012-3502  CVE-2012-4558  CVE-2012-3499  CVE-2013-2249
  CVE-2013-1896  CVE-2013-4352  CVE-2013-6438  CVE-2014-0098
  CVE-2014-0963  CVE-2014-0231  CVE-2014-0118  CVE-2014-0226
  CVE-2014-3523  CVE-2014-0117  CVE-2013-5704  CVE-2014-8109
  CVE-2014-3581  CVE-2014-3583  CVE-2015-0253  CVE-2015-3185
  CVE-2015-3183  CVE-2015-1829  CVE-2014-8730  CVE-2015-0228
  CVE-2015-4947  CVE-2015-1283  CVE-2015-7420  CVE-2016-0201
  CVE-2016-0718  CVE-2016-5387  CVE-2012-0876  CVE-2016-4472
  CVE-2016-8743  CVE-2017-3169  CVE-2017-3167  CVE-2017-7668
  CVE-2017-7679  CVE-2017-12618  CVE-2017-9798

even though I chose to install the 64-bit version of IHS itself: -

  <profile id='IBM HTTP Server V9.0' installLocation='c:\IBM\HTTPServer'>
    <data key='cic.selector.arch' value='x86_64'/>
    <data key='user.ihs.http.server.service.name.key' value='IBMHTTPServerV9.0'/>
    <data key='user.ihs.http.server.service.name' value='IBM HTTP Server V9.0'/>
    <data key='user.ihs.win.serverServiceStartType' value='auto'/>
    <data key='user.ihs.win.serverServicePassword' value='XjTveChg5ba6olBVMK/Reg=='/>
    <data key='user.ihs.allowNonRootSilentInstall' value='true'/>
    <data key='user.ihs.win.serverServiceLogOnAsLocalSystem' value='true'/>
    <data key='user.ihs.installHttpService' value='false'/>
    <data key='user.ihs.win.serverServiceUser' value='Administrator'/>
    <data key='user.ihs.httpPort' value='8080'/>
  </profile>


which explains everything.

Once I changed IHS, from: -

LoadModule was_ap24_module "c:\IBM\WebSphere\Plugins\bin\64bits\mod_was_ap24_http.dll"

to: -

LoadModule was_ap24_module "c:\IBM\WebSphere\Plugins\bin\32bits\mod_was_ap24_http.dll"

everything was fine.

It's also worth noting that, given that I'm running Apache 2.4 under the covers, the syntax in the httpd.conf is to use was_ap24_module rather than was_ap22_module.

I'm not sure I've paid much attention to 2.2 vs 2.4 in the past, but it's more important with v9.0, as per this: -

Migrating to IBM HTTP Server 9.0

Migrate an IBM® HTTP Server, Version 7 or 8 server, to IBM HTTP Server 9.0. Because IHS 9.0 is based on Apache 2.4, you must modify your existing configuration.


This document describes changes in Apache HTTP Server 2.4 that might require you to change your configuration or how you use the server in order to use IHS 9.0 (Based on Apache 2.4) as you are currently using IHS 7.0 or 8.x (based on Apache 2.2) . For step by step instructions on migrating a configuration file, see the "Migrating a configuration" section below.

Windows, and missing my rm -rf

$
0
0
Whilst I know that things like PowerShell gives me Unix-like capabilities on Windows, I was looking for a Q&D solution.

All I wanted to do was to remove an entire directory structure.

Back in the day, we had deltree but that appears to have gone in later versions of Windows.

However, we do have rmdir which does the job, as per this example: -

rmdir C:\IBM /S/Q

whereas my muscle memory would be do use this: -

rm -Rf /IBM

In the words of the prophet, good luck with that.

IBM UrbanCode Deploy - Upgrading - Don't forget the database

$
0
0
So I'm upgrading my UCD installation, from 6.2.6.1.940532 to 6.2.7.0.951830, using the provided script install-server.sh as per this: -

….
     [echo] Installing IBM UrbanCode Deploy version 6.2.7.0.951830
     [echo] A previous version (6.2.6.1.940532) exists in the specified directory. Do you want to upgrade the currently installed version? Y,n [Default Y]
y
     [echo] 
     [echo] Installing IBM UrbanCode Deploy to: /opt/ibm/UCD/server
     [echo] JVM Version detected: 1.8.0
     [echo] JAVA_HOME: /opt/ibm/Java/jre
     [echo] NOTICE: Upgrading the server while there are processes currently running is not supported. Before proceeding with an upgrade, verify that there are no running processes on the Current Activity page.
     [echo] 
     [echo] Server upgrades cannot be rolled back. Please ensure that you have backed up the server's database and filesystem before proceeding. (press enter to continue)

   [delete] Deleting directory /opt/ibm/UCD/server/opt/tomcat/webapps/ROOT/static
     [copy] Copying 2 files to /mnt/ibm-ucd-install/bin/server
     [copy] Copying 168 files to /mnt/ibm-ucd-install/.tmp-old-lib
  [upgrade] Adding upgrade file for processing: /mnt/ibm-ucd-install/database/deploy/always/all/always_sql.xml
java.lang.Exception: Error trying to cancel currently running processes
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:88)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
Caused by: : : com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2043][11550][3.72.30] Exception java.net.ConnectException: Error opening socket to server ucd.uk.ibm.com/127.0.0.1 on port 60,006 with message: Connection refused. ERRORCODE=-4499, SQLSTATE=08001
Caused by: : com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2043][11550][3.72.30] Exception java.net.ConnectException: Error opening socket to server ucd.uk.ibm.com/127.0.0.1 on port 60,006 with message: Connection refused. ERRORCODE=-4499, SQLSTATE=08001

Guess what I forgot to do ?

Yep, having rebooted this VM, I forgot to start DB2: -

su - db2inst1
db2start

Having done that, quelle surprise, the upgrade just worked …

...
[propertyfile] Updating property file: /opt/ibm/UCD/server/conf/installed.version
     [echo] After starting the server, you may access the web UI by pointing your web-browser at
     [echo] https://ucd.uk.ibm.com:8443 
     [echo] Installer Complete. (press return to exit installer)

   [delete] Deleting directory /tmp/install-6103865522074515176.tmp
     [copy] Copying 1 file to /opt/ibm/UCD/server/var/install-log

BUILD SUCCESSFUL
Total time: 3 minutes 1 second




IBM UrbanCode Deploy - Error Creating New Version: The provided base is not a directory

$
0
0
I saw this today, whilst creating some new Application Components, needed to install IBM Installation Manager and IBM BPM: -

Error Creating New Version: The provided base is not a directory: /source
java.io.IOException: The provided base is not a directory: /source
at com.urbancode.air.plugin.command.ImportVersion.execute(ImportVersion.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at com.urbancode.air.plugin.Main.execute(Main.java:113)
at com.urbancode.air.plugin.Main.main(Main.java:47)

It took me a while before I smacked myself on the forehead ….

Yes, you've guessed it, I'd created the /source directory on …. the box upon which the Agent is installed rather than the box upon which the Server is running.

Obviously this is a mistake - the Agent "phones home" to the Server to get its configuration etc. including required versioned files such as response files etc.

Can you say "Doh" ? I bet you can ….

IBM Installation Manager - Uninstalling EVERYTHING

$
0
0
***CAUTION - THIS IS DESTRUCTIVE***

On the rare occasion that one needs to uninstall a whole bunch o' products installed by IBM Installation Manager (IIM) *AND* IIM itself, here's what one needs: -

/opt/ibm/InstallationManager/eclipse/tools/imcl uninstallAll

/opt/ibm/InstallationManager/eclipse/tools/imcl uninstall `/opt/ibm/InstallationManager/eclipse/tools/imcl listInstalledPackages`


***CAUTION - THIS IS DESTRUCTIVE***

It may also be necessary to clean up what IIM etc. leaves behind e.g.

rm -Rf /opt/ibm/WebSphere/
rm -Rf /opt/ibm/WebSphereProfiles

etc.

IBM UrbanCode Deploy - Syntax FTW

$
0
0
As per previous posts, I'm tinkering with IBM UrbanCode Deploy : -



This time around, I'm using UCD to install WebSphere Liberty Profile (WLP), using the appropriately named WebSphere Liberty Plugin: -

IBM WebSphere Liberty

One of the steps provided by this Plugin is Install Server Archive which expands a JAR or ZIP file containing the WLP codebase.

This step takes a few mandatory ( indicated below with a red asterisk ) including Source File: -


I specify the Source File property at the Application level: -


but saw this: -

  license=true
  source=wlp-webProfile7-17.0.0.3.zip

… 
  wlpHome=/opt/ibm/WebSphere/Liberty/
  wlpUserDir=

Unzipping server archive in : /opt/ibm/WebSphere/Liberty
Caught: : src '/opt/ibm/UCD/agent/var/work/WLP/wlp-webProfile7-17.0.0.3.zip
' doesn't exist.
: src '/opt/ibm/UCD/agent/var/work/WLP/wlp-webProfile7-17.0.0.3.zip
' doesn't exist.
at org.apache.tools.ant.taskdefs.Expand.execute(Expand.java:128)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at com.urbancode.air.plugin.websphereliberty.WebSphereLibertyHelper.installServerArchive(WebSphereLibertyHelper.groovy:194)
at com.urbancode.air.plugin.websphereliberty.WebSphereLibertyHelper$installServerArchive.call(Unknown Source)
at installServerArchive.run(installServerArchive.groovy:25)

 
when I executed the Component Process.

One of my colleagues immediately spotted the flaw: -

Caught: : src '/opt/ibm/UCD/agent/var/work/WLP/wlp-webProfile7-17.0.0.3.zip
' doesn't exist.


The clue is that there's a space between .zip and the trailing apostrophe.

As he rightly suggested, I'd inserted a Carriage Return / Line Feed ( CR/LF ) in the Application Property.

Once I edited this from: -


to: -


all was well: -



IBM UrbanCode Deploy - Commanding the Line

$
0
0
As ever, a Work-in-Progress, as I seek to understand the What, the Why and the How of IBM UrbanCode Deploy (UCD).

This time, it's getting to grips with the command-line, which leverages the out-of-the-box UCD REST interface.

This is the source from which I am working; -



and here I'm creating a new Version ( to be used by a Component Process ) : -

/opt/ibm/UCD/agent/opt/udclient/udclient -username admin -password passw0rd -weburl https://ucd.uk.ibm.com:8443 createVersion -component WebSphereLibertyProfile -name 1.0

and then uploading a file to that newly created version: -

/opt/ibm/UCD/agent/opt/udclient/udclient -username admin -password passw0rd -weburl https://ucd.uk.ibm.com:8443 addVersionFiles -component WebSphereLibertyProfile -version 1.0 -base /wlpsource/5/

The latter command looks within the directory /wlpsource/5 and uploads EVERYTHING it finds, in this instance a single JAR file: -

wlp-nd-all-17.0.0.4.jar

I'm now tinkering with using the same REST API to actually invoke an Application Process, using this JSON: -

~/runProcess.json

{
  "application": "Install WLP",
  "description": "Requesting deployment",
  "applicationProcess": "Install WLP",
  "environment": "Development",
  "onlyChanged": "false"
  },
  "versions": [
    {
      "version": "1.0",
      "component": "WebSphereLibertyProfile"
    }
  ]
}


and this command: -

/opt/ibm/UCD/agent/opt/udclient/udclient -username admin -password passw0rd -weburl https://ucd.uk.ibm.com:8443 requestApplicationProcess ~/runProcess.json

It's not working thus far …. even though it returns a JSON response e.g. 

{"requestId": "160a34da-b3e6-fd1d-de6e-1069f89f0461"}

etc.

the GUI reports "No Version Selected" : -


but that's tomorrow's problem :-)

IBM DataPower on IBM Cloud Private - Wrapping it up

$
0
0
I'm using IBM Cloud Private (ICP) 2.1.0.1 to spin up a container running IBM DataPower Gateway (IDG), via a Helm chart.

Right now, I'm cheating using the ICP admin UI: -


rather than the Helm command-line interface, as per my normal practice.

The Helm chart has two mandatory values - frontsideKey and frontsideCert - which contain a private key and a personal certificate.

I generated the key and certificate using openssl : -

openssl req -subj '/C=GB/O=IBM/CN=davehay.uk.ibm.com' -new -newkey rsa:2048 -days 365 -nodes -x509  -sha256 -keyout server.key -out server.crt

When I clicked the button to instal the Helm chart, I saw this exception in the UI : -

Internal service error : release DaveH failed: Secret in version "v1" cannot be handled as a Secret: v1.Secret: Data: decode base64: illegal base64 data at input byte 64, parsing 1177 ...X375XW1M="... at {"apiVersion":"v1","data":{"cert.pem":"MIIDQzCCAiugAwIBAgIJAMNFpd9mxNckMA0GCSqGSIb3DQEBCwUAMDgxCzAJBgNV BAYTAkdCMQwwCgYDVQQKDANJQk0xGzAZBgNVBAMMEmRhdmVoYXkudWsuaWJtLmNv 
G6rTAsZcFxBukcRxfCk4CmRR1C16dlsiz64rKVkdGO9IUTF0GchNAobYcAEK+dbW v+jU2J13dMnmzYfOz9QZkpM="},"kind":"Secret","metadata":{"labels":{"app":"DaveH-ibm-datapower-dev","chart":"ibm-datapower-dev-1.0.3","heritage":"Tiller","release":"DaveH"},"name":"DaveH-ibm-datapower-dev-secret","namespace":"default"}}

Reading this: -



I realised that the requisite values should be base64-encoded.

However, it's my understanding that X509 certificates already base-64 encoded.

I fiddled about for a bit …. and then realised where I was going wrong.

The .cer and .key files that are generated by the openssl command are written to files that are automatically formatted as …. 64-column files :-)

That may be the base64 encoding :-)

However, the ICP/Helm UI doesn't like the resulting wrapped text in the frontsideKey and frontsideCert parameters.

So I manually stripped away the CR/LF characters at the end of each 64-bit row, and pasted the result into each of the requisite fields.

This got me further, but I then saw this: -

Internal service error : release DaveH failed: Secret "DaveH-ibm-datapower-dev-secret" is invalid: metadata.name: Invalid value: "DaveH-ibm-datapower-dev-secret": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

which is easier to fix.

This is what ICP says: -


and this is what I had for my Release Name: -

DaveH

Can you say "Doofus" ?

Once I changed it to daveh, we're good to go: -




IBM DataPower Gateway on IBM Cloud Private - Can you say "Doofus" ?

$
0
0
Following my earlier post: -

I'm having MORE fun with the IBM DataPower Gateway (IDG) pattern on IBM Cloud Private (ICP).

Having finally managed to instantiate my container ( I had to drop the resources.requests.cpu and resources.requests.memory values down, as I'm running on a relatively small estate, with a single Worker node with 1 CPU and 8 GB RAM ) : -


I waited for the container to start ( there's quite a bit going on, including the bit where the Worker node has to pulled the IDG Docker image ).

Once it was running, I followed the guidance to get back the endpoint details: -

export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services davidhay-ibm-datapower-dev)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo https://$NODE_IP:$NODE_PORT


and hit the endpoint

and……

got the IBM website.

So I appeared to be proxying IBM.COM, which was somewhat worrying.

I cleaned my configuration, and tried again, and then saw this: -


Yes, you've guessed it, the default behaviour ( within the Helm chart ) is to act as a Web Application Proxy for …. IBM.COM :-)

There's even a clue: -


in the Helm chart.

So I deployed another Helm chart, to spin up a container instance of WebSphere Liberty Profile, deployed the Ferret app to it: -

docker ps -a|grep -i websphere-liberty

1a9a6536444e        websphere-liberty   "/opt/ibm/docker/doc…"  20 minutes ago      Up 20 minutes                           k8s_ibm-websphere-liberty_davehaywlp-ibm-websphere-689cfdbb6c-ffq75_default_a8e5ac8e-efdb-11e7-93d6-000c29651885_0

docker exec -i -t 1a9a6536444e /bin/bash

docker cp ferret-1.2.war 1a9a6536444e://opt/ibm/wlp/usr/servers/defaultServer/dropins

docker logs 1a9a6536444e -f

[AUDIT   ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://davehaywlp-ibm-websphere-689cfdbb6c-ffq75:9080/ferret/
[AUDIT   ] CWWKZ0001I: Application ferret-1.2 started in 1.448 seconds.


and confirmed that I could hit Ferret via the normal ICP proxy: -

https://192.168.1.200:31585/ferret/

and, finally, redeployed my DataPower container, but this time specifying the WLP URL: -


I used the same approach to get the proxied endpoint of the DataPower URL: -

export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services davehaywlp-ibm-websphere)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo https://$NODE_IP:$NODE_PORT



and was then able to hit the Ferret servlet, via the IDG Web Application Proxy: -


So I've got DataPower running as a Web Application Proxy against Liberty, which is nice :-)

Finally, for reference, if I understand it correctly, I've got four additional containers running on my Worker node: -

docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
b46395546542        ibmcom/datapower    "/bin/drouter"           35 minutes ago      Up 35 minutes                           k8s_ibm-datapower-dev_davehayidg-ibm-datapower-dev-585554d78c-pzbcj_default_211ade0c-efe0-11e7-93d6-000c29651885_0
7a81a4f421ab        ibmcom/pause:3.0    "/pause"                 35 minutes ago      Up 35 minutes                           k8s_POD_davehayidg-ibm-datapower-dev-585554d78c-pzbcj_default_211ade0c-efe0-11e7-93d6-000c29651885_0
1a9a6536444e        websphere-liberty   "/opt/ibm/docker/doc…"   About an hour ago   Up About an hour                        k8s_ibm-websphere-liberty_davehaywlp-ibm-websphere-689cfdbb6c-ffq75_default_a8e5ac8e-efdb-11e7-93d6-000c29651885_0
0e8f9dbb49b9        ibmcom/pause:3.0    "/pause"                 About an hour ago   Up About an hour                        k8s_POD_davehaywlp-ibm-websphere-689cfdbb6c-ffq75_default_a8e5ac8e-efdb-11e7-93d6-000c29651885_0
a77aee47c7fb        bb4a6b774658        "/bin/node_exporter …"   3 days ago          Up 3 days                               k8s_nodeexporter_monitoring-prometheus-nodeexporter-amd64-x5268_kube-system_ce4afa9c-ecc7-11e7-93d6-000c29651885_0
4494b0042b5d        ibmcom/pause:3.0    "/pause"                 3 days ago          Up 3 days                               k8s_POD_monitoring-prometheus-nodeexporter-amd64-x5268_kube-system_ce4afa9c-ecc7-11e7-93d6-000c29651885_0
4ef59603592a        56354bef6b82        "/bin/sh -c /startup…"   3 days ago          Up 3 days                               k8s_metering-reader-amd64_metering-reader-amd64-qf472_kube-system_8697c507-ecc7-11e7-93d6-000c29651885_0
852b06a7a54c        ibmcom/pause:3.0    "/pause"                 3 days ago          Up 3 days                               k8s_POD_metering-reader-amd64-qf472_kube-system_8697c507-ecc7-11e7-93d6-000c29651885_0
261e111c20c2        af80995a4fcf        "filebeat -e"            3 days ago          Up 3 days                               k8s_filebeat_filebeat-ds-amd64-x5bsp_kube-system_6e494fa5-ecc7-11e7-93d6-000c29651885_0
40767f0230db        ibmcom/pause:3.0    "/pause"                 3 days ago          Up 3 days                               k8s_POD_filebeat-ds-amd64-x5bsp_kube-system_6e494fa5-ecc7-11e7-93d6-000c29651885_0
fee15f1d965a        88ca805c8ddd        "/install-cni.sh"        3 days ago          Up 3 days                               k8s_install-cni_calico-node-amd64-2d2hk_kube-system_95bdffaa-ecc6-11e7-93d6-000c29651885_0
2b89043639c3        7643422fdf0f        "start_runit"            3 days ago          Up 3 days                               k8s_calico-node-amd64_calico-node-amd64-2d2hk_kube-system_95bdffaa-ecc6-11e7-93d6-000c29651885_0
2fbc29422aa7        ibmcom/pause:3.0    "/pause"                 3 days ago          Up 3 days                               k8s_POD_calico-node-amd64-2d2hk_kube-system_95bdffaa-ecc6-11e7-93d6-000c29651885_0
dac6368cc3f9        924aee0d6910        "/hyperkube proxy --…"   3 days ago          Up 3 days                               k8s_proxy_k8s-proxy-192.168.1.201_kube-system_8312bd0a1d5cee59daf19f2df2bdf2fe_0
631f76b15478        ibmcom/pause:3.0    "/pause"                 3 days ago          Up 3 days                               k8s_POD_k8s-proxy-192.168.1.201_kube-system_8312bd0a1d5cee59daf19f2df2bdf2fe_0

via the two Helm releases: -




 



VMware - Driving it from the command-line

$
0
0
I blogged about this a while back: -

but I've rediscovered the VMware CLI.

On my Ubuntu box, I'm using VMrun: -

vmrun list

Total running VMs: 3
/home/hayd/vmware/icpboot/icpboot.vmx
/home/hayd/vmware/icpproxy/icpproxy.vmx
/home/hayd/vmware/icpworker/icpworker.vmx


and: -

vmrun suspend /home/hayd/vmware/icpproxy/icpproxy.vmx
vmrun suspend /home/hayd/vmware/icpworker/icpworker.vmx
vmrun suspend /home/hayd/vmware/icpboot/icpboot.vmx

and then on the Mac, I'm doing this: -

vmrun start "/Users/davidhay/Documents/Virtual Machines.localized/BPM855.vmwarevm/BPM855.vmx"

and: -

vmrun stop "/Users/davidhay/Documents/Virtual Machines.localized/BPM855.vmwarevm/BPM855.vmx"

and: -

vmrun clone "/Users/davidhay/Documents/Virtual Machines.localized/BPM855.vmwarevm/BPM855.vmx" "/Users/davidhay/Documents/Virtual Machines.localized/BPM86.vmwarevm/BPM86.vmx" full

and: -

vmrun start "/Users/davidhay/Documents/Virtual Machines.localized/BPM86.vmwarevm/BPM86.vmx"

which is, as ever, always nice

IBM BPM 8.6 - Performance Dashboard - Who Knew ?

$
0
0
So I've been tinkering with BPM 8.6 since it was first released in September.

And yet I've just discovered this: -

Performance > Performance Dashboard

View statistics (both real time and historical) that are relevant for BPM database performance and performance indicators that influence the performance of your BPM system. Get housekeeping tips for improving performance and generate wsadmin commands for snapshot cleanup. To get started, click Load Data.


within the Process Admin UI: -






etc.

which is AWESOME

ADML0004E: An exception occurred when attempting to expand variable ${IBMSCMX} com.ibm.wsspi.runtime.variable.UndefinedVariableException: Undefined variable IBMSCMX

$
0
0

Having installed BPM 8.6 CF2017-12, as part of my ongoing testing of IBM BPM 8.5.5 to 8.6 side-by-side upgrades, I started seeing: -

Continuing with unexpanded genericJvmArguments '-Xscmx120m -Xgcpolicy:gencon -Xjit:iprofilerMemoryConsumptionLimit=67108864 ${IBMSCMX} ${IBMGCPOLICY_GENCON} ${IBMJITPMC}'
ADML0004E: An exception occurred when attempting to expand variable ${IBMSCMX} com.ibm.wsspi.runtime.variable.UndefinedVariableException: Undefined variable IBMSCMX

ADML0004E: An exception occurred when attempting to expand variable ${IBMGCPOLICY_GENCON} com.ibm.wsspi.runtime.variable.UndefinedVariableException: Undefined variable IBMGCPOLICY_GENCON

ADML0004E: An exception occurred when attempting to expand variable ${IBMJITPMC} com.ibm.wsspi.runtime.variable.UndefinedVariableException: Undefined variable IBMJITPMC

This manifested itself whenever I ran a Java process such as startManager.sh or startNode.sh or DBUpgrade.sh

For the record, this is what I had installed: -

com.ibm.cic.agent_1.8.8000.20171130_1105
com.ibm.bpm.ADV.v85_8.6.201712.20171211_1726
com.ibm.websphere.ND.v85_8.5.5012.20170627_1018
8.5.5.12-WS-WASND-IFPI82630_8.5.5012.20170718_1447

As part of my testing, I'm using the Deployment Environment exported from a BPM 8.5.5 environment as input into the 8.6 DE creation: -

/opt/ibm/WebSphere/AppServer/bin/BPMConfig.sh -create -de ~/BPM855DE/De1.properties

Interestingly, this was NOT a problem when I had the base 8.6 binary ( com.ibm.bpm.ADV.v85_8.6.0.20170918_1207 ) installed.

In essence, the problem was that WAS was looking for three variables: -

IBMJITPMC

IBMGCPOLICY_GENCON

IBMSCMX

none of which existed within the WAS cell configuration.

I "cheated" by adding the following three lines to the resources.xml : -

vi /opt/ibm/WebSphereProfiles/Dmgr01/config/cells/PCCell1/nodes/Dmgr/variables.xml
vi /opt/ibm/WebSphereProfiles/Dmgr01/config/cells/PCCell1/nodes/Node1/variables.xml

appending: -

<entries xmi:id="VariableSubstitutionEntry_1515008456894" symbolicName="IBMJITPMC" value="-Xjit:iprofilerMemoryConsumptionLimit=67108864"/>
<entries xmi:id="VariableSubstitutionEntry_1515008456717" symbolicName="IBMGCPOLICY_GENCON" value="-Xgcpolicy:gencon"/>
<entries xmi:id="VariableSubstitutionEntry_1515008456476" symbolicName="IBMSCMX" value="-Xscmx120m"/>

in both cases.

However, that felt too much like a "hack" so I dug further.

Looking back at the De1.properties file that I'd generated from the 8.5.5 environment: -

/opt/ibm/WebSphere/AppServer/bin/BPMConfig.sh -export -profile Dmgr01 -de De1 -outputDir ~/BPM855DE

I noticed this: -

##################
# JVM properties #
##################
# Do not modify this value. If running on z/OS, the name of the process definition these settings are for. On non-z/OS platforms, this value should be empty.
bpm.dmgr.jvmSettings.1.name=
bpm.dmgr.jvmSettings.1.jvmArgs=${IBMSCMX} ${IBMGCPOLICY_GENCON} ${IBMJITPMC}
bpm.dmgr.jvmSettings.1.initialHeapSize=768
bpm.dmgr.jvmSettings.1.maximumHeapSize=2048
bpm.dmgr.jvmSettings.1.verboseModeGarbageCollection=false

##################
# JVM properties #
##################
# Do not modify this value. If running on z/OS, the name of the process definition these settings are for. On non-z/OS platforms, this value should be empty.
bpm.de.node.1.clusterMember.1.jvmSettings.1.name=
bpm.de.node.1.clusterMember.1.jvmSettings.1.jvmArgs=${IBMSCMX} ${IBMGCPOLICY_GENCON} ${IBMJITPMC}
bpm.de.node.1.clusterMember.1.jvmSettings.1.initialHeapSize=
bpm.de.node.1.clusterMember.1.jvmSettings.1.maximumHeapSize=
bpm.de.node.1.clusterMember.1.jvmSettings.1.verboseModeGarbageCollection=false

##################
# JVM properties #
##################
# Do not modify this value. If running on z/OS, the name of the process definition these settings are for. On non-z/OS platforms, this value should be empty.
bpm.de.node.1.clusterMember.2.jvmSettings.1.name=
bpm.de.node.1.clusterMember.2.jvmSettings.1.jvmArgs=${IBMSCMX} ${IBMGCPOLICY_GENCON} ${IBMJITPMC} -Dsun.net.http.allowRestrictedHeaders=true
bpm.de.node.1.clusterMember.2.jvmSettings.1.initialHeapSize=768
bpm.de.node.1.clusterMember.2.jvmSettings.1.maximumHeapSize=2048
bpm.de.node.1.clusterMember.2.jvmSettings.1.verboseModeGarbageCollection=false

##################
# JVM properties #
##################
# Do not modify this value. If running on z/OS, the name of the process definition these settings are for. On non-z/OS platforms, this value should be empty.
bpm.de.node.1.clusterMember.3.jvmSettings.1.name=
bpm.de.node.1.clusterMember.3.jvmSettings.1.jvmArgs=${IBMSCMX} ${IBMGCPOLICY_GENCON} ${IBMJITPMC}
bpm.de.node.1.clusterMember.3.jvmSettings.1.initialHeapSize=768
bpm.de.node.1.clusterMember.3.jvmSettings.1.maximumHeapSize=2048
bpm.de.node.1.clusterMember.3.jvmSettings.1.verboseModeGarbageCollection=false

In other words, the variables had been generated by the -export process.

For some reason, these didn't cause a problem for the September 2017 release of 8.6, BUT did cause a problem with the December 2017 release.

I'm not 100% sure why.

However, the mitigation was to remove the references in the De1.properties, and re-do the DE creation process.


Docker on Linux - Scripting the removal of images

$
0
0
I'm again going through the process to deploy IBM Cloud Private (ICP) on Ubuntu.

However, I forgot to check the available disk space …..

So, when I ran this command: -

tar xf /tmp/ibm-cloud-private-x86_64-2.1.0.1.tar.gz -O | sudo docker load

to expand the ICP tarball and load the corresponding Docker images, I ended up with: -

97f41382ba74: Loading layer [==================================================>]  4.727MB/4.727MB
Loaded image: ibmcom/vulnerability-annotator:20171011
9f17712cba0b: Loading layer [========================>                          ]  61.28MB/126.6MB
Error processing tar file(exit status 1): write /usr/lib/python2.7/pydoc_data/topics.py: no space left on device


df -kmh

Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           393M  6.2M  387M   2% /run
/dev/sda1        46G   29G   15G  67% /
tmpfs           2.0G  196K  2.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           393M   52K  393M   1% /run/user/1000

To mitigate this, I wanted to quickly remove the Docker images, and re-do from start.

This is what I have: -

docker images

REPOSITORY                                  TAG                 IMAGE ID            CREATED             SIZE
ibmcom/icp-catalog-ui                       2.1.0.1             24cf2215580a        4 weeks ago         116MB
ibmcom/kubernetes                           v1.8.3-ee           924aee0d6910        5 weeks ago         513MB
ibmcom/icp-datastore                        2.1.0.1             1575ed9083e6        5 weeks ago         1.72GB
ibmcom/icp-platform-ui                      2.1.0.1             25e8146b6fac        5 weeks ago         153MB
ibmcom/iam-policy-decision                  2.1.0.1             ac23eb27e760        5 weeks ago         576MB
ibmcom/iam-token-service                    2.1.0.1             4da681e7e542        5 weeks ago         891MB
ibmcom/unified-router                       2.1.0.1             caf82a5f8a00        5 weeks ago         50.1MB
ibmcom/icp-platform-api                     2.1.0.1             9529dd6d9349        5 weeks ago         142MB
ibmcom/icp-identity-provider                2.1.0.1             7a8784ad58fc        5 weeks ago         164MB
ibmcom/icp-image-manager                    2.1.0.1             c05a213a80e1        5 weeks ago         25.6MB
ibmcom/icp-router                           2.1.0.1             1e2c1cc654b6        5 weeks ago         46.5MB
ibmcom/icp-platform-auth                    2.1.0.1             96e70190d588        5 weeks ago         498MB
ibmcom/icp-identity-manager                 2.1.0.1             54db055b2b1c        5 weeks ago         185MB
ibmcom/icp-helm-api                         2.1.0.1             b72c1d4155b8        5 weeks ago         139MB
ibmcom/icp-helm-repo                        2.1.0.1             2cb2b0c0ca02        5 weeks ago         98.5MB
ibmcom/metering-data-manager                2.1.0.1             01fc6bf87198        6 weeks ago         72.6MB
ibmcom/metering-server                      2.1.0.1             3401a1fe1a65        7 weeks ago         630MB
ibmcom/metering-ui                          2.1.0.1             216ae682db59        7 weeks ago         425MB
ibmcom/metering-reader                      2.1.0.1             56354bef6b82        7 weeks ago         166MB
ibmcom/usncrawler                           20171128            7f9ab5354091        7 weeks ago         481MB
ibmcom/live-crawler                         20171128            5dd18f1681db        7 weeks ago         715MB
ibmcom/sas-mgmt                             20171113            9801e6747666        7 weeks ago         519MB
ibmcom/sas-api                              20171113            750679c0c313        7 weeks ago         519MB
ibmcom/reg-crawler                          20171122            4d1991b4d0af        7 weeks ago         716MB
ibmcom/gluster                              3.12.1              0a644a8465a6        7 weeks ago         347MB
ibmcom/metrics-crawler                      20171122            f25802bd7454        8 weeks ago         715MB
ibmcom/service-catalog-service-catalog      v0.1.2              566a76042660        2 months ago        105MB
ibmcom/livescan-proxy                       20171011            1f28dd781b9a        3 months ago        418MB
ibmcom/rootkit-annotator                    20171011            e0d54f8afa6a        3 months ago        413MB
ibmcom/password-annotator                   20171011            13cbea171a66        3 months ago        1.19GB
ibmcom/compliance-annotator                 20171011            9a6812e9f19f        3 months ago        1.27GB
ibmcom/vulnerability-annotator              20171011            bca818bb6d43        3 months ago        1.26GB
ibmcom/config-parser                        20171011            b69068191cc9        3 months ago        1.22GB
ibmcom/generic-indexer                      20171011            9a03a4f3cc64        3 months ago        785MB
ibmcom/config-indexer                       20171011            6f388d467108        3 months ago        785MB
ibmcom/elasticsearch                        2.4.1-20171011      7317af2ea391        3 months ago        537MB
ibmcom/indices-cleaner                      0.2                 5e092b17e223        3 months ago        210MB
ibmcom/icp-initcontainer                    1.0.0               76da55c8019d        4 months ago        3.97MB
ibmcom/ucarp                                1.5.2               d6f29a895ed9        4 months ago        7.67MB
ibmcom/tiller                               v2.6.0              47011b53bf14        4 months ago        48.6MB
ibmcom/calico-policy-controller             v0.7.0              60d797585fc5        5 months ago        21.9MB
ibmcom/service-catalog-apiserver            v0.0.15             3a30f3472e44        5 months ago        196MB
ibmcom/service-catalog-controller-manager   v0.0.15             708755fff078        5 months ago        193MB
ibmcom/kube-state-metrics                   v1.0.0              8bbbe7eb4704        5 months ago        43.9MB
ibmcom/calico-node                          v2.4.1              7643422fdf0f        5 months ago        277MB
ibmcom/grafana                              4.4.3               49e2eb4da222        5 months ago        287MB
ibmcom/curl                                 3.6                 f73fee23ac74        5 months ago        5.35MB
ibmcom/coredns                              010                 27e7aa6e71ce        5 months ago        43.5MB
ibmcom/kibana                               5.5.1               7bf53f710f44        5 months ago        629MB
ibmcom/filebeat                             5.5.1               af80995a4fcf        5 months ago        271MB
ibmcom/logstash                             5.5.1               e8f5c2ec30f2        5 months ago        577MB
ibmcom/elasticsearch                        5.5.1               74ef44f69db6        5 months ago        544MB
ibmcom/heketi                               5                   5851537645df        5 months ago        343MB
ibmcom/alertmanager                         v0.8.0              901c70144da4        6 months ago        17.7MB
ibmcom/heapster                             v1.4.0              749531a6d2cf        6 months ago        73.4MB
ibmcom/k8s-dns-sidecar                      1.14.4              38bac66034a6        6 months ago        41.8MB
ibmcom/k8s-dns-kube-dns                     1.14.4              a8e00546bcf3        6 months ago        49.4MB
ibmcom/k8s-dns-dnsmasq-nanny                1.14.4              f7f45b9cb733        6 months ago        41.4MB
ibmcom/prometheus                           v1.7.1              4da113bb6ae3        7 months ago        74.5MB
ibmcom/etcd                                 v3.1.5              3f6d64a8fae8        8 months ago        152MB
ibmcom/node-exporter                        v0.14.0             bb4a6b774658        10 months ago       18.9MB
ibmcom/kafka                                0.10.0.1            223037679e4f        10 months ago       260MB
ibmcom/k8szk                                v2                  2fd25e05d6e2        13 months ago       284MB
ibmcom/configmap-reload                     v0.1                b70d7dba98e6        17 months ago       4.78MB
ibmcom/mariadb                              10.1.16             3b5159f610ed        18 months ago       392MB
ibmcom/registry                             2                   8ff6a4aae657        19 months ago       172MB
ibmcom/pause                                3.0                 99e59f495ffa        20 months ago       747kB

Sadly, there's no command such as: -

docker rmi —all

or similar.

So I did this: -

docker rmi `docker images | awk '{print $3}'`

which is just as good :-)

And now we're back to normal

df -kmh

Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           393M  6.2M  387M   2% /run
/dev/sda1        46G   13G   31G  30% /
tmpfs           2.0G  196K  2.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           393M   52K  393M   1% /run/user/1000


Having moved the ICP tarball onto a different box ( NFS server ), I'm trying again ….

tar xf /mnt/ibm-cloud-private-x86_64-2.1.0.1.tar.gz -O | sudo docker load 


IBM BPM - Tinkering with Process Application Exports and Imports

$
0
0
In the context of an IBM BPM migration document, I'm just making a few notes about the export of a BPM Process Application snapshot from a Process Center, ready for an offline deployment to a different ( and unconnected ) Process Server.

Which is nice :-)

On the source Process Center

Connect to the AppCluster SOAP Endpoint

/opt/ibm/WebSphereProfiles/Dmgr01/bin/wsadmin.sh -lang jython -port 8880 -user wasadmin -password passw0rd

WASX7209I: Connected to process "AppClusterMember1" on node Node1 using SOAP connector;  The type of process is: ManagedProcess
WASX7031I: For help, enter: "print Help.help()"

List Available Process Applications

print AdminTask.BPMListProcessApplications()

Containers: 
Name: System Data
Acronym: TWSYS
Description: IBM BPM System Data
Toolkit: true

Name: System Governance
Acronym: TWSYSG
Description: IBM BPM Governance Data and Services
Toolkit: true

Name: Coaches
Acronym: SYSC
Description: IBM BPM System Coaches
Toolkit: true

Name: Content Management
Acronym: SYSCM
Description: IBM BPM Content Management Data, Services and Coach views.
Toolkit: true

Name: Dashboards
Acronym: SYSD
Description: IBM BPM System Dashboards
Toolkit: true

Name: SAP Guided Workflow
Acronym: SGW
Description: Toolkit of SAP Guided Workflow
Toolkit: true

Name: Process Portal
Acronym: TWP
Description: 
Toolkit: false

Name: Saved Search Admin
Acronym: SSA
Description: Dashboard for creating and managing Saved Searches
Toolkit: false

Name: Hiring Sample
Acronym: HSS
Description: Hiring Sample
Toolkit: false

Name: Hiring Sample Advanced
Acronym: HSAV1
Description: 
Toolkit: false

Name: Procurement Sample
Acronym: STPPS1
Description: 
Toolkit: false

Drill into the details of the target PA

print AdminTask.BPMShowProcessApplication('[-containerAcronym HSS]')

Name: Hiring Sample
Acronym: HSS
Description: Hiring Sample
Toolkit: false
Tracks:

Track Name: Main
Track Acronym: Main
Default: true

Tip: 
Created On: 2018-01-19 16:29:26.083
Created By: User.9
State: State[Inactive]
Capability: Capability[Standard]
No of running instances: 0

List of Snapshots: 
Name: Standard Hiring Sample v8550
Acronym: SHSV855
Created On: 2018-01-19 16:29:26.083
Created By: User.9
Is Default: false
State: State[Inactive]
Capability: Capability[Standard]
No of running instances: 0


List the Process Servers ( the subsequent command requires a server name, even if it's an unconnected Process Server )

print AdminTask.BPMListServers()

Servers:
Name: DMH
URL: jnp://XXXXX:XXXX

Create an Offline Package, ready for export

AdminTask.BPMCreateOfflinePackage('[-containerAcronym HSS -containerSnapshotAcronym SHSV855 -containerTrackAcronym Main -serverName DMH]')

'BPMCreateOfflinePackage passed.'

Export the Process Application snapshot

AdminTask.BPMExtractOfflinePackage('[-containerAcronym HSS -containerSnapshotAcronym SHSV855 -containerTrackAcronym Main -serverName DMH -outputFile /mnt/Apps/StandardHiringSamplev8550.zip]')

'BPMExtractOfflinePackage passed.'

Validate the export

ls -al

total 5368
drwxr-xr-x   4 davidhay  staff      136 19 Jan 17:46 .
drwxr-xr-x  22 davidhay  staff      748  9 Jan 16:36 ..
-rw-r--r--   1 davidhay  staff  1243529  3 Nov 19:22 BAMTST_V4.zip
-rw-r--r--   1 davidhay  staff  1501656 19 Jan 17:46 StandardHiringSamplev8550.zip

On the target Process Server

Connect to the AppCluster SOAP Endpoint

/opt/ibm/WebSphereProfiles/Dmgr01/bin/wsadmin.sh -lang jython -port 8880 -user wasadmin -password passw0rd

WASX7209I: Connected to process "AppClusterMember1" on node Node1 using SOAP connector;  The type of process is: ManagedProcess
WASX7031I: For help, enter: "print Help.help()"

AdminTask.BPMInstallOfflinePackage('[-inputFile /mnt/Apps/StandardHiringSamplev8550.zip]')

'BPMInstallOfflinePackage passed.'

List Available Process Applications

print AdminTask.BPMListProcessApplications()

Containers: 
Name: System Data
Acronym: TWSYS
Description: IBM BPM System Data
Toolkit: true

Name: System Governance
Acronym: TWSYSG
Description: IBM BPM Governance Data and Services
Toolkit: true

Name: Coaches
Acronym: SYSC
Description: IBM BPM System Coaches
Toolkit: true

Name: Content Management
Acronym: SYSCM
Description: IBM BPM Content Management Data, Services and Coach views.
Toolkit: true

Name: Dashboards
Acronym: SYSD
Description: IBM BPM System Dashboards
Toolkit: true

Name: SAP Guided Workflow
Acronym: SGW
Description: Toolkit of SAP Guided Workflow
Toolkit: true

Name: Process Portal
Acronym: TWP
Description: 
Toolkit: false

Name: Saved Search Admin
Acronym: SSA
Description: Dashboard for creating and managing Saved Searches
Toolkit: false

Name: Hiring Sample
Acronym: HSS
Description: 
Toolkit: false


print AdminTask.BPMShowProcessApplication('[-containerAcronym HSS]')

Name: Hiring Sample
Acronym: HSS
Description: 
Toolkit: false
Tracks:

List of Snapshots: 
Name: Standard Hiring Sample v8550
Acronym: SHSV855
Created On: 2018-01-19 20:44:18.822
Created By: User.1
Is Default: true
State: State[Active]
Capability: Capability[Standard]
No of running instances: 0

In addition, validatory messages can be seen in AppCluster SystemOut.log e.g.

[19/01/18 20:44:16:768 GMT] 00000195 PALAdminComma I PALAdminCommands processServerOfflineDeploy Entering
[19/01/18 20:44:18:192 GMT] 00000195 wle           I   CWLLG3547I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The snapshot with ID Snapshot.aaa569e9-a57a-4684-b357-34237e4e49ea is being installed. The following toolkits are being installed: []
[19/01/18 20:44:18:212 GMT] 00000195 wle           I   CWLLG3533I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The snapshot is being imported.
[19/01/18 20:44:24:178 GMT] 00000195 wle           I   CWLLG3534I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The snapshot was successfully imported.
[19/01/18 20:44:24:178 GMT] 00000195 wle           I   CWLLG3536I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The installation service for the snapshot is being started.
[19/01/18 20:44:24:197 GMT] 0000019a JMSClassifica W   XJMS0021E: Unable to map destination and bus to workclass. Aborting the xd classification filter for the current request. Request context information is com.ibm.ws.xd.jms.proxy.impl.AsynchJMSServiceContextImpl@5700490c<bus=BPM.De1.Bus,destination=PortalWebMessagingTopicSpace.AppCluster>.
[19/01/18 20:44:24:231 GMT] 0000019b JMSClassifica W   XJMS0021E: Unable to map destination and bus to workclass. Aborting the xd classification filter for the current request. Request context information is com.ibm.ws.xd.jms.proxy.impl.AsynchJMSServiceContextImpl@c5fba99b<bus=BPM.De1.Bus,destination=cacheTopicDestination.AppCluster>.
[19/01/18 20:44:24:236 GMT] 0000019c JMSClassifica W   XJMS0021E: Unable to map destination and bus to workclass. Aborting the xd classification filter for the current request. Request context information is com.ibm.ws.xd.jms.proxy.impl.AsynchJMSServiceContextImpl@557e4439<bus=BPM.De1.Bus,destination=TWServerTopicDestination.AppCluster>.
[19/01/18 20:44:25:285 GMT] 00000195 wle           I   CWLLG3537I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The installation service for the snapshot finished successfully.
[19/01/18 20:44:25:286 GMT] 00000195 wle           I   CWLLG3539I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The data for the snapshot is being migrated.
[19/01/18 20:44:25:408 GMT] 00000195 wle           I   CWLLG3540I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The data for the snapshot was migrated successfully.
[19/01/18 20:44:25:409 GMT] 00000195 wle           I   CWLLG3541I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The instances of the snapshot are being migrated.
[19/01/18 20:44:25:436 GMT] 00000195 wle           I   CWLLG3542I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The instances of the snapshot were migrated successfully.
[19/01/18 20:44:30:683 GMT] 00000195 wle           I   CWLLG3545I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The tracking definitions for the snapshot were updated successfully.
[19/01/18 20:44:30:710 GMT] 00000195 wle_eventmgr  I   CWLLG3550I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The scheduled UCAs for the snapshot are being activated.
[19/01/18 20:44:30:880 GMT] 00000195 wle_eventmgr  I   CWLLG3551I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The scheduled UCAs for the snapshot were activated successfully.
[19/01/18 20:44:30:884 GMT] 00000195 wle_eventmgr  I   CWLLG3550I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The scheduled UCAs for the snapshot are being activated.
[19/01/18 20:44:30:884 GMT] 00000195 wle_eventmgr  I   CWLLG3551I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The scheduled UCAs for the snapshot were activated successfully.
[19/01/18 20:44:31:205 GMT] 00000195 wle           I   CWLLG3548I: Process Application: Hiring Sample, Snapshot: Standard Hiring Sample v8550 : The snapshot was installed successfully.
[19/01/18 20:44:31:243 GMT] 00000195 PALAdminComma I PALAdminCommands processServerOfflineDeploy Exiting




IBM BPM Upgrade - String to Boolean - What's going wrong ?

$
0
0
I've been seeing this repeatedly over the past few weeks, as I test various combinations of upgrades, from IBM BPM 8.5.5 to 8.5.7 or 8.6: -


with the corresponding exception in SystemOut.log: -

[04/01/18 20:27:18:401 GMT] 000001a6 BPDInstanceDA E   CWLLG0323E: An exception occurred in saveSearchableValues, reason:java.lang.ClassCastException: java.lang.String incompatible with java.lang.Boolean.
                                 java.lang.ClassCastException: java.lang.String incompatible with java.lang.Boolean

In brief, this occurs when I do the following: -
  • Install IBM BPM 8.5.5
  • Start the Deployment Environment
  • Log into Process Portal
  • Start a new instance of the sample Standard HR Open New Position Process Application, and complete ONE task
  • Shut down BPM 8.5.5
  • Upgrade to 8.5.7 or 8.6 ( including the mandatory DBUpgrade task )
  • Start the Deployment Environment
  • Log into Process Portal
  • Attempt to resume/complete the second task of the Standard HR Open New Position process
For the record, this occurs whether I perform an in-place upgrade ( where one installs the 8.5.7 or 8.6 Delta Fixpack on top of 8.5.5 ) or a side-by-side upgrade ( where one uses an export of the original 8.5.5 Deployment Environment configuration and a cloned copy of the BPM databases to build a new 8.5.7 or 8.6 target environment ).

I checked the source 8.5.5 environment, and noted that the original Business Object parameter was a Boolean: -


but that it magically became a String in 8.6: -


After much faffing about, and thanks to the support of an awesome world-wide technical team, I realised the error of my ways.

The problem occurs because I'm running my tests using a Process Center ( development/deployment environment ) rather than a Process Server ( run-time environment ).

In brief, this occurs because the original Process Application ( PA ) on the source 8.5.5 Process Center was based upon the so-called Tip, which is the first "cut" of the application, rather than a snapshot ( which is taken before an application is deployed into a target Process Server, whether for test or production ).

When I upgraded my Process Center from 8.5.5 to 8.5.7 or 8.6, the Tip has changed ( because IBM created a new version of the Standard HR Open New Position Process Application ), and we now face the issue where the Business Object in the original Tip was using one data type ( String ) whereas the Business Object in the new Tip is using a different data type ( Boolean ).

BPM can't handle this - we don't have a snapshot, we only have the Tip, and yet the Business Objects are vastly different.

That's why the exception occurs.

When I redid my tests, upgrading an 8.5.5 Process Server to 8.6, with the same situation as before i.e. a running instance of the Standard HR Open New Position process, with an outstanding task, all works as one would expect.

So that's all good then …..

BIP4516S: Failed to find all the required WebSphere MQ java classes. Class 'com.ibm.mq.MQException' not found in CLASSPATH

$
0
0
I saw this today: -

BIP4516S: Failed to find all the required WebSphere MQ java classes. Class 'com.ibm.mq.MQException' not found in CLASSPATH '/opt/ibm/mqm/java/lib/com.ibm.mqjms.jar:/opt/ibm/mqm/java/lib/connector.jar:/opt/ibm/mqm/java/lib/com.ibm.mq.pcf.jar:/opt/ibm/mqm/java/lib/com.ibm.mq.jmqi.jar:/opt/ibm/mqm/java/lib/com.ibm.mq.jar:/opt/ibm/mqm/java/lib/com.ibm.mq.headers.jar:/opt/ibm/mqm/java/lib/com.ibm.mq.commonservices.jar:/opt/ibm/mqm/java/lib/com.ibm.mq.jms.Nojndi.jar:/opt/ibm/mqsi/9.0.0.2/messages:/opt/ibm/mqsi/9.0.0.2/classes:/opt/ibm/mqsi/9.0.0.2/classes/ConfigManagerProxy.jar:/opt/ibm/mqsi/9.0.0.2/classes/brokerutil.jar:/var/mqsi/common/wsrr'. 

Not all the WebSphere MQ jars are installed on this machine. Message Broker requires that WebSphere MQ for Java is installed to work correctly. 

Make sure that all the correct WebSphere MQ components are installed and that the CLASSPATH correctly contains the WebSphere MQ jar files.


when attempting to drive IBM Integration Bus (IIB) 9: -

mqsilist 

Whilst I had installed IBM MQ 8: -

/mnt/IIB9/mqlicense.sh -accept
rpm -ivh --prefix /opt/ibm/mqm /mnt/IIB9/MQSeriesRuntime-8.0.0-0.x86_64.rpm
rpm -ivh --prefix /opt/ibm/mqm /mnt/IIB9/MQSeriesServer-8.0.0-0.x86_64.rpm 


I'd forgotten to install the requisite Java runtime: -

rpm -ivh --prefix /opt/ibm/mqm /mnt/IIB9/MQSeriesJRE-8.0.0-0.x86_64.rpm 
rpm -ivh --prefix /opt/ibm/mqm /mnt/IIB9/MQSeriesJava-8.0.0-0.x86_64.rpm 


Can you say "Doh" ?

IBM Integration Bus - Wrangling permissions to the Web UI

$
0
0
Having built an IBM Integration Bus (IIB) 9 environment, with IBM MQ 8, I was trying ( and failing ) to access the Web UI on: -


I was instead seeing: -


The logged-on user ID does not have the required permissions to access data or broker resources in the web user interface. See your broker administrator to set up the required permissions.

I realised that I'd not yet set up a user/password, which I thus did: -

mqsiwebuseradmin IB9NODE -c -u wmbadmin1 -r wmbadmin1 -a wmbadmin1pw

Alas, this failed with: -

BIP1046E: Unable to connect with the queue manager (The user 'wmbadmin' is not authorized to connect to queue manager 'IB9QMGR' (MQ reason code 2035 while trying to connect)). 

The utility encountered a problem while attempting to connect to the queue manager to put a message to the broker's request queue. 

Ensure that the correct connection parameters have been supplied to the utility. Also ensure that the queue manager is running and that the current user is able to access the queues beginning SYSTEM.BROKER. If this error text includes an MQ reason code, look up the meaning behind the error in the Application Programming Reference guide and proceed as appropriate.

and, in the MQ Queue Manager logs: -

tail -f /var/mqm/qmgrs/IB9QMGR/errors/AMQERR01.LOG

...
22/01/18 20:28:37 - Process(67445.35) User(wmbadmin) Program(amqzlaa0)
                    Host(bpm86.uk.ibm.com) Installation(Installation2)
                    VRMF(8.0.0.0) QMgr(IB9QMGR)
                   
AMQ5534: User ID 'wmbadmin' authentication failed

EXPLANATION:
The user ID and password supplied by 'mqsiwebuseradmi' could not be
authenticated.
ACTION:
Ensure that the correct user ID and password are provided by the application.
Ensure that the authentication repository is correctly configured. Look at
previous error messages for any additional information.
----- amqzfuca.c : 4242 -------------------------------------------------------
22/01/18 20:28:37 - Process(67445.35) User(wmbadmin) Program(amqzlaa0)
                    Host(bpm86.uk.ibm.com) Installation(Installation2)
                    VRMF(8.0.0.0) QMgr(IB9QMGR)
                   
AMQ5542: The failed authentication check was caused by the queue manager
CONNAUTH CHCKLOCL(OPTIONAL) configuration.

EXPLANATION:
The user ID 'wmbadmin' and its password were checked because the queue manager
connection authority (CONNAUTH) configuration refers to an authentication
information (AUTHINFO) object named 'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' with
CHCKLOCL(OPTIONAL). 

This message accompanies a previous error to clarify the reason for the user ID
and password check.
ACTION:
Refer to the previous error for more information. 

Ensure that a password is specified by the client application and that the
password is correct for the user ID. The authentication configuration of the
queue manager connection determines the user ID repository. For example, the
local operating system user database or an LDAP server. 

If the CHCKCLNT setting is OPTIONAL, the authentication check can be avoided by
not passing a user ID across the channel. For example, by omitting the MQCSP
structure from the client MQCONNX API call. 

To avoid the authentication check, you can amend the authentication
configuration of the queue manager connection, but you should generally not
allow unauthenticated remote access.
———————————————————————————————————————


I've seen, and reported upon, this before: -


I validated the CHCKCLNT setting: -

runmqsc IB9QMGR

display qmgr connauth

   QMNAME(IB9QMGR)                      
   CONNAUTH(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)


display AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)

   AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)
   AUTHTYPE(IDPWOS)                        ADOPTCTX(NO)
   DESCR( )                                CHCKCLNT(REQDADM)
   CHCKLOCL(OPTIONAL)                      FAILDLAY(1)
   ALTDATE(2018-01-22)                     ALTTIME(20.26.21)


and then updated it: -

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(REQDADM) CHCKLOCL(NONE)    

REFRESH SECURITY TYPE(CONNAUTH)

This time around, the mqsiwebuseradmin command worked as expected: -

mqsiwebuseradmin IB9NODE -c -u wmbadmin1 -r wmbadmin1 -a wmbadmin1pw

BIP8071I: Successful command completion.

and I was able to access the Web UI: -


which is nice :-)

IBM BPM 8.6 - Upgrading to CF2017.12

$
0
0
In December, IBM released an update to IBM Business Process Manager 8.6, specifically the Cumulative Fix 2017-12, aka CF2017.12.

This is what it included, in part: -

Update to IBM BPM V8.6 CF2017.12 to experience all the highlights, such as these added abilities and improvements:

IBM BPM
• Simplify user task authoring with inline user tasks
• Model decision logic in the web IBM Process Designer
• Experience enhanced support of coach views for use in IBM Robotic Process Automation with Automation Anywhere
• Gain more insight into IBM BPM process applications
• Benefit from enhanced process application validation support
• Efficiently manage multiple library items in Process Designer
• Revert library items in Process Designer
• Learn how to use IBM App Connect
• Restrict rights to create and update saved searches by using an action policy


Having downloaded the Cumulative Fix a month or so back, I decided to work through the installation.

The first thing to note is that the CF comes as a .ZIP file, specifically an Installation Manager "Delta" repository.

Compared to the original 8.6 Delta Repo: -

ls -alh /Volumes/DaveHaySSD/Software/BPM86/Fixpacks/

total 9360184
drwxr-xr-x  4 davidhay  staff   136B  5 Jan 15:56 .
drwxr-xr-x  5 davidhay  staff   170B 19 Jan 10:08 ..
-rw-r--r--  1 davidhay  staff   1.9G  5 Jan 09:54 bpm.8600.cf2017.12.delta.repository.zip
-rw-r--r--  1 davidhay  staff   2.5G 26 Sep 13:25 bpm.8600.delta.repository.zip

it's interesting to note that the CF2017.12 Repo is smaller.

In terms of patching BPM, I've gone through the process a number of times now, most recently focusing upon the upgrade from 8.5.5 to 8.5.7 and 8.6.

The very short-hand version of my process follows: -

Starting Position

/opt/ibm/InstallationManager/eclipse/tools/imcl listInstalledPackages

com.ibm.cic.agent_1.8.8000.20171130_1105
com.ibm.bpm.ADV.v85_8.5.5000.20140604_1130
com.ibm.websphere.ND.v85_8.5.5002.20140408_1947


Patch WAS to 8.5.5.12

/opt/ibm/InstallationManager/eclipse/tools/imcl -input /mnt/ResponseFiles/upgradeWAS85512.rsp -acceptLicense

Updated to com.ibm.websphere.ND.v85_8.5.5012.20170627_1018 in the /opt/ibm/WebSphere/AppServer directory.
WARNING: Your default Java SDK is Java SE 6. After April 2018, service for Java SE 6 can no longer be provided, which could expose your environment to security risks.

To stay current and reduce the risk of security exposures, update to Java SE 8 using one of the following options:
- Install WebSphere Application Server 8.5.5.11 or later with Java SE 8.
- Install the optional IBM WebSphere SDK, Java Technology Edition, Version 8 package to an existing package group that contains WebSphere Application Server Version 8.5.
- Migrate to WebSphere Application Server traditional Version 9.

Alternatively, to use Java SE 7, install the optional IBM WebSphere SDK, Java Technology Edition, Version 7 or 7.1 package to the package group that contains WebSphere Application Server Version 8.5.

Install Java 8

/opt/ibm/InstallationManager/eclipse/tools/imcl -input /mnt/ResponseFiles/installJava8.rsp -acceptLicense

Installed com.ibm.websphere.IBMJAVA.v80_8.0.4005.20170626_0627 to the /opt/ibm/WebSphere/AppServer directory.

Patch BPM

/opt/ibm/InstallationManager/eclipse/tools/imcl -input upgradeBPM855_to_86_CF201712.rsp -acceptLicense

Updated to com.ibm.bpm.ADV.v85_8.6.201712.20171211_1726 in the /opt/ibm/WebSphere/AppServer directory.

Ending Position

/opt/ibm/InstallationManager/eclipse/tools/imcl listInstalledPackages

com.ibm.cic.agent_1.8.8000.20171130_1105
com.ibm.bpm.ADV.v85_8.6.201712.20171211_1726
com.ibm.websphere.IBMJAVA.v80_8.0.4005.20170626_0627
com.ibm.websphere.ND.v85_8.5.5012.20170627_1018


Note that this ONLY focuses upon the binaries, there's also a need to: -

(a) Upgrade the BPM database schemae to support 8.6
(b) Update the WAS profiles to use Java 8 rather than Java 6 
(c) Synchronise the WAS cell

However, for me, the key thing is that I can upgrade directly from 8.5.5 to 8.6 CF2017.12, rather than having to install the "base" 8.6 CF2017.09 update ( this is how 8.6 was first shipped in September 2017 ).

From this: -


To install this upgrade, you must have Version 8.5.0.0, Version 8.5.0.1, Version 8.5.0.2, Version 8.5.5.0, Version 8.5.6.0, Version 8.5.6.0 CF01, Version 8.5.6.0 CF02, Version V8.5.7.0, Version 8.5.7 CF2016.06, Version 8.5.7 CF2016.09, Version 8.5.7 CF2016.12, Version 8.5.7 CF2017.03, Version 8.5.7 2017.06, or Version 8.6 of IBM Business Process Manager Express, IBM Business Process Manager Standard, IBM Business Process Manager Advanced, or IBM Business Process Manager Advanced - Process Server, IBM Business Process Manager Express Server, or IBM Business Process Manager Server installed.

Viewing all 1851 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>