Skill Level: Intermediate

In this recipe we will learn how to deploy a BAR file and create ACE IntegrationServer on ICP4I on OCP 3.11.


1) ACE Dashboard is installed. If you want to learn how to install ACE Dashboard, follow below recipe:


2) If your BAR file contains message flows that require local Queue Manager with persistence, NFS is required.

3) Default namespace 'ace' has been used here for example. If you are deploying in some other namespace, make sure that security policies and secrets are configured appropriately.


  1. Upload BAR file

    Login to ICP4I navigator and open the ACE Dashboard.



    By clicking on ‘settings’ icon in top right corner left to help icon, you can go to ‘BAR files’ and manage the BAR files.



    Import the BAR file by clicking on ‘Import BAR’.



    Since this BAR file is not deployed currently, it shows as ‘Not deployed’.

  2. Create Persistent Volume (Optional step)

    This step is required only if you are deploying message flows that require local queue manager with persistent storage.

    Create a folder, say ‘ace-pv’, in NFS mount. Let us assume the NFS floder is ‘/nfs/integration/ace-mq’. Below is the sample¬†JSON defintion for ACE PV. Note that accessMode is ‘ReadWriteOnce’. Specify the ‘server’ and ‘path’.

    "apiVersion": "v1",
    "kind": "PersistentVolume",
    "metadata": {
    "name": "ace-pv"
    "spec": {
    "capacity": {
    "storage": "2Gi"
    "nfs": {
    "server": "",
    "path": "/nfs/integration/ace-pv"
    "accessModes": [
    "persistentVolumeReclaimPolicy": "Retain"

    Save this¬†pv¬†definition to a file, say ‘ace-pv.json’.

    Login to OCP cluster and run below command to create PV:

    oc create -f ace-pv.json

  3. Create Integration Server

    Click on ‘Add server’. Select the already uploaded BAR file or upload a new BAR file.




    Click Continue. Copy the displayed Content Server URL and click on ‘Configure Release’



    Fill the fields with relevant values. Specify the Helm release name, Target namespace and Target cluster.



    Enter the Content Server url copied in previous step.


    Image parameters would be auto-populated.

    Specify the Proxy Node IP.



    Specify the IntegrationServer name. If you need to configure IntegrationServer, for example queues on a local queue manager or DSN or configure integration server config yaml, create a secret with appropriate data values and give this secret name in the field ‘The name of the secret to create or to use that contains the server configuration
    ‘. You can go to ‘overview’ tab and see the list of configuration parameters for this secret. Below is an example JSON file for creating a queue in the local queue manager.


    "apiVersion": "v1",
    "kind": "Secret",
    "metadata": {
    "name": "ace-mqsc-secret",
    "namespace": "ace",
    "data": {
    "type": "Opaque"


    The parameter value should be base64 encoded. Here the value of ‘mqsc’ is “define ql(PAYMENT.CONTEXT.INFO)”, which has been base64 encoded.




    Specify the parameters depending on whether you are doing ACE only or ACE with MQ deployment. Uncheck ‘Persistent Storage’ and ‘Dynamic provisioning’ if doing ACE only deployment.



    Click on ‘Install’. It may take few minutes to install and configure the release.

    Go back to ace-dashboard and you should be able to see the newly configured integration server.


  4. Conclusion

    In this recipe we learnt how to provision an ACE IntegrationServer on IBM Cloud Pak for Integration.


Join The Discussion