Originally posted on IBM Developer blog “Exploring PureApplication System, Software Service and more” by Jonathan Deberdt on 7 February 2019 (1652 visits)
This blog post was written by Jonathan Deberdt (jonathan.deberdt@fr.ibm.com) and Hendrik van Run (hvanrun@nl.ibm.com).
As briefly mentioned in this blog post, the new 2.2.5.3 firmware for PureApplication includes a new IBM Cloud Private (ICP) pattern type. With the ICP pattern type 1.0.1.2, you can now install ICP 3.1.0 or ICP 3.1.1. You can read more about that below. However, what is also very important to know is that you do not need to have 2.2.5.3 firmware installed in order to use this new ICP pattern type. Clients who are running 2.2.5.1 or 2.2.5.2 can simply download the actual pattern type from IBM FixCentral and get IBM Cloud Private up and running!
Uploading the ICP 1.0.1.2 Pattern Type and ICP 3.1.1 Enterprise Edition binaries
Import ICP 1.0.1.2 and Docker 1.0.7.0 Pattern Types
In IBM Fix Central, select “PureApplication Software” as product, “2.2.5.3” as version and “all” as platform. Filter down the results by setting fix type to “group_”, or look for the 2.2.5.3 group fix for your platform in the list.
Note: You can also use this link to directly access the list of fixes:

It can be more convenient to just download the ICP 1.0.1.2 and Docker 1.0.7.0 pattern types as it’s just 1.34 MB in size for ICP and 146.5 MB for Docker (whereas the group fix is typically 40 GB). In order to do so, click “Show contained fixes” and look for the ICP 1.0.1.2 pattern type and Docker 1.0.7.0 as shown below.



Once downloaded, you can simply import the ICP 1.0.1.2 pattern type and the Docker 1.0.7.0 pattern type as documented here in the IBM Knowledge Center. Once imported successfully, you should see the new ICP pattern type as shown below (and likewise for the Docker 1.0.7.0 pattern type).
Note: Do not forget to enable both the ICP 1.0.1.2 and Docker 1.0.7.0 pattern types!

Downloading the ICP 3.1.1 binaries
The Docker 1.0.7.0 pattern type already contains the required Docker binaries but the ICP 1.0.1.2 does not contain the ICP binaries that needs to be downloaded from IBM and then uploaded to PureApplication separately.
Assuming you are entitled, you can download ICP 3.1.1 Enterprise Edition binaries from IBM Passport Advantage. Search for part number CNZ4WEN:
IBM Cloud Private 3.1.1 for Linux (x86_64) Docker (CNZ4WEN)
Size 10,535MB
Date posted 11 Jan 2019
Note: You can also download ICP 3.1.1 Community Edition free of charge from Dockerhub, refer to this post on the IBM Cloud Private community for more details. Note that the Community Edition restricts the ICP topologies you can deploy as it only supports a single master node.
Uploading ICP 3.1.1 binaries to PureApplication StoreHouse
IBM provides, as part of pattern types, a utility script called “phuploader”, available both for Linux (*.sh) and Windows (*.bat). If you don’t have it, you can also find it as part of the ICP 1.0.1.2 pattern type. To get it, you must extract the ICP pattern type file (icp-1.0.1.2.tgz) and some embedded archives. You should find it in icp-1.0.1.2/plugins/plugin.com.ibm.icp-1.0.1.2/parts/icp.scripts/scripts/ICp/shell/binaries/ee (or icp-1.0.1.2/plugins/plugin.com.ibm.icp-1.0.1.2/parts/icp.scripts/scripts/ICp/shell/binaries/ce for the Community Edition).
Copy the following files in the same directory where you have downloaded the ICP 3.1.1 binaries:
- phupload-config.json
- phuploader.bat
- phuploader.py
- phuploader.sh
- readme.md
Edit or review the phupload-config.json file as follows:
-bash-4.2# cat phupload-config.json
{
"pattern": {
"name": "IBM Cloud Private Pattern Type",
"patternversion": "1.0.1.2",
"storehousedir": "ICp/ee"
},
"files": [
{
"name": "ibm-cloud-private-x86_64-3.1.1.tar.gz",
"description": "IBM Cloud Private Enterprise Edition 3.1.1",
"md5": "2d0820440b21da1e8fcb0412f7fd9ddf"
}
]
}
Make sure to use Python v2.7.5 or higher, this is the default on the IBM OS image for RHEL 7.4 or RHEL 7.5:
-bash-4.2# python --version Python 2.7.5
Now run the phuploader.sh script as shown below.-
bash-4.2# ./phuploader.sh -h pureApplicationHostname -u username -p password
Should you get the error “SSL: CERTIFICATE_VERIFY_FAILED”, it means that you are most likely running an older version of the phuploader.py script (which does not support self-signed SSL certificates on the PSM). In this case, get the version provided with ICP pattern type as described earlier.
Assuming you are use the correct version of phuploader.py, it should work as shown below.
Pattern Name: IBM Cloud Private Pattern Type ****** IBM Pattern Hub upload utility ****** ********************************************* Pattern: IBM Cloud Private Pattern Type Version: 1.0.1.2 ********************************************* Checking pattern binaries Verifying files config_sum=2d0820440b21da1e8fcb0412f7fd9ddf sample_storehouse_path=https://pureApplicationHostname/storehouse/admin/files/ICp/ee/ibm-cloud-private-x86_64-3.1.1.tar.gz?meta Verifying PureApplication pattern binaries 1) ibm-cloud-private-x86_64-3.1.1.tar.gz: found locally but not on server Uploading needed files... - ibm-cloud-private-x86_64-3.1.1.tar.gz uploaded Verifying files on remote PureApplication Verifying files config_sum=2d0820440b21da1e8fcb0412f7fd9ddf sample_storehouse_path=https://pureApplicationHostname/storehouse/admin/files/ICp/ee/ibm-cloud-private-x86_64-3.1.1.tar.gz?meta response_md5sum=2d0820440b21da1e8fcb0412f7fd9ddf file_sum=2d0820440b21da1e8fcb0412f7fd9ddf config_sum=2d0820440b21da1e8fcb0412f7fd9ddf - MD5 match: ibm-cloud-private-x86_64-3.1.1.tar.gz Verifying PureApplication pattern binaries 1) ibm-cloud-private-x86_64-3.1.1.tar.gz: verified successfully All binaries verified successfully.
Make sure that the “response_md5sum” and the “file_sum” values are equal. If it’s not the case, delete the file from the storehouse using the curl command below and then retry to upload with phuploader:
-bash-4.2# curl -k -i -u username:password -X DELETE --url https://pureApplicationHostname/storehouse/admin/files/ICp/ee/ibm-cloud-private-x86_64-3.1.1.tar.gz HTTP/1.1 200 OK Date: Wed, 30 Jan 2019 14:29:55 GMT X-Frame-Options: SAMEORIGIN Content-Length: 0 Content-Type: multipart/x-gzip Expires: Thu, 01 Dec 1994 16:00:00 GMT Cache-Control: no-cache="set-cookie, set-cookie2" Set-Cookie: zsessionid=15422057937694429cc53fc662af651e7df2de35cc4c6106352ec70f0831; Expires=Thu, 31 Jan 2019 14:29:55 GMT; Path=/; Secure Set-Cookie: SimpleToken=Dasric5hAo7fiLsGt8GL2skiN8dKHXRHvHrF58FIYJJTYqqJYWHCE3AfTg4eBjTV6K1MgkbewiOX8gm1nDZDOz9TbcXT5nPQgyYHqkjb3n/XDnkk56t9q2YXeCMmeQ2JLLzn72OzT8aT+QwWnoQfbV4us3qSgqYQcuu+6MT27t8nNfHwayqH1yxRFj7j3ZNX; Path=/; Secure Vary: User-Agent
The response_md5sum also matches the checksum that is visible in the PureApp Storehouse Browser.

Default ICP 3.1.1 patterns
The ICP 1.0.1.2 pattern type includes several sample patterns that provide different topologies for ICP 3.1.1:
- “IBM Cloud private v1.0.1.2”: installs IBM Cloud Private CE or EE, each node on a separate VM, with 3 worker nodes. The cluster is deployed in Non HA mode but is ready for HA. If you wish to deploy cluster in HA mode, add 3 or 5 Master nodes and Proxy nodes using scaling policy while deploying the pattern. There’s no storage provider included in this pattern.
- “IBM Cloud private – GlusterFS v1.0.1.2”: same as previous but adds 3 VMs for GlusterFS.
- “IBM Cloud Private – GPFS v1.0.1.2”: Set up high availability (HA) IBM Cloud Private master, worker, and proxy nodes in your cluster. The Master and Proxy nodes are installed on separate virtual machines. GPFS is used on worker nodes to define hostPath for Persistent Volumes. GPFS is also used to provide shared storage across your master nodes for /var/log/audit, /var/lib/registry and /var/lib/icp/audit, to be used by the private image registry. You must have a GPFS Shared Service instance deployed in the same environment profile with this deployment.
- “IBM Cloud Private – Multi node HA cluster with Storage Provider v1.0.1.2”: same as “IBM Cloud private – GlusterFS v1.0.1.2” but HA is enabled by default.
- “IBM Cloud private Boot Master Proxy same host v1.0.1.2”: installs ICP CE or EE on 3 VMs. The Boot, Master and Proxy nodes are deployed on the same VM. There is one additional VM for Vulnerability Advisor and one more VM for Worker. You can add VA or Worker nodes at deployment time using the scaling policy.
- “IBM Cloud private Master Proxy same host v1.0.1.2”: same as the first pattern but Master and Proxy nodes are deployed on the same VM.
- “IBM Cloud Private Master Proxy same host – GPFS v1.0.1.2”: same as 3rd pattern but Master and Proxy nodes are deployed on the same VM.
- “IBM Cloud private Test Environment v1.0.1.2”: sets up a test environment for IBM Cloud Private ce or ee by using a single host. A single host environment has boot, master, management, worker, and proxy nodes, all running on the same VM.
Note: By default the ICP patterns specify a relatively large number of virtual CPUs and amount of memory for the VMs. We recommend that you consider reducing these, please always refer to the recommendations for IBM Cloud Private 3.1 as documented in the IBM Cloud Private Knowledge Center here.
Additional information about the ICP pattern type is also available from the IBM PureApplication Knowledge Center here. And finally, you might want to refer to the IBM Developer tutorial Getting started with the IBM Cloud Private Pattern for IBM PureApplication as well. Although some of the information is no longer up-to-date, it provides useful background information on how to deploy an ICP pattern.