Jump to content
  • WebFOCUS Container Edition deployment on Openshift


    Sachin Sancheti

    This article will help you to deploy the WebFOCUS Container Edition using shipped images onto the single node cluster created using Openshift on Linux or Mac.

    Please note that WFCE deployment on Openshift cluster on Mac is NOT certified and recommended for production usage.

    Pre-requisite: To deploy the WebFOCUS Container Edition onto the cluster you will need software/tools - Helm, Helmfile, and Docker.

    Let's get started...

     

    Deployment Steps

              1. Download Openshift local installer from:

                  https://console.redhat.com/openshift/create/local

    AD_4nXfqnLPPb-f2nHh_Mp0zzakFXTi8sL4M69TYqoOvman_Fsj9Dqtpb-uyjGgAfV2YARz4_rv0kYbzA6m2KWlRJtWVyP-q9WJnh4O9mSN65-L3HMaMkIy340R8j_9knLaUBVjwoXZJZuWIg-OUfNJR5_XJHv8?key=uULc2sSfDY27g6g0VIZbTQ

              2. Install openshift local installer crc-linux-amd64.tar.xz (linux) / crc-macos-installer.pkg (mac)

              3. Setup openshift cluster using terminal

    crc setup

     

              4.  Update openshift cluster configuration to allocate more cpu, memory and diskspace

    crc config set memory 16000
    
    crc config set cpus 6
    
    crc config set disk-size 80

     

              5. Once completed start cluster instance (this might take 10-15 mins)

    crc start

    Provide pull secret (one time activity copy from https://console.redhat.com/openshift/create/local)

    Once created user should get below details:

    AD_4nXeX8eYwuzQoeTT_6TFnFLBI8RCd1bcLfmvH9Jqh9jD43DVScjtof_Y0Fh94WrpddheZhwqu0OTNfXGX4D1v3AQKmOKiXs1627AGzpT0cGungA8xj6uPbYPnCKX2qvUDgx20TYJzERCkDEJUUqL-bpgJiNWf?key=uULc2sSfDY27g6g0VIZbTQ

     

             6. Update docker configuration to allow push images to insecure openshift local registry

    For Linux:

    vi ~/etc/docker/daemon.json

    Add below entry

    {
    
        "insecure-registries" : [ "default-route-openshift-image-registry.apps-crc.testing:443" ]
    
    }

    And then restart docker (for linux)

    sudo systemctl daemon-reload
    
    sudo systemctl restart docker

     

    For Mac:

    Update settings using docker desktop and restart

    AD_4nXeJREIGnvwn6udrpxDOKEUMcHNJHTslQYr517_BibPXEm7QRLjbpN4p3e6G2NfleLqAcI1OLJus0V4O11jQF4BPSGcvPPR17cobP_SJpl8Wy26lOUKiOchHc6JhICkrOC1vVFXlXqb2vwtIyaO0Lo4XKT32?key=uULc2sSfDY27g6g0VIZbTQ

     

             7. Login to Openshift cluster as a developer user

    eval $(crc oc-env)
    
    oc login -u developer https://api.crc.testing:6443

     

             8. Create new openshift project

    oc new-project webfocus

     

             9. Download IBI_wfce_images_1.3.0.tar and IBI_wfce_1.3.0.tar from eDelivery

    Load docker images

    docker load -i IBI_wfce_images_1.3.0.tar

    Once completed verify using

    docker images

    Should show below list

    AD_4nXd80Y8W2tS4rfCWayDeCpzevfhk34d6GM1htv0X-KgsaucW1JyVWxSp5wFujjEcNZwey0qnrUn_tDuoSbWDY-bQxuRogbH6lB3JEkQzAXLWEFmz8c71s5DufzuRm6swFDnXGtsfGWYPX97k7fMZey1oq7HI?key=uULc2sSfDY27g6g0VIZbTQ

     

             10. Tag and Push images to crc registry 

    docker login -u `oc whoami` -p `oc whoami --show-token` default-route-openshift-image-registry.apps-crc.testing:443
    
    docker image tag ibi2020/webfocus:wfs-9.3-1.3.0 default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-9.3-1.3.0
    
    docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-9.3-1.3.0
    
    docker image tag ibi2020/webfocus:wfs-etc-9.3-1.3.0  default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-etc-9.3-1.3.0
    
    docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfs-etc-9.3-1.3.0
    
    docker image tag ibi2020/webfocus:wfc-9.3-1.3.0  default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfc-9.3-1.3.0
    
    docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:wfc-9.3-1.3.0
    
    docker image tag ibi2020/webfocus:cm-9.3-1.3.0   default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:cm-9.3-1.3.0  
    
    docker image push default-route-openshift-image-registry.apps-crc.testing:443/webfocus/repo:cm-9.3-1.3.0

     

    Verify once completed using below command:

    oc get imagestreams repo -n webfocus  -o jsonpath='{range .status.tags[*]}{.tag}{"\n"}'

    Expected output is

    AD_4nXfaOx6A1hDvNtArJMw3Q3aABq0og4pk2tkAI8hpvmjdadxfe4lw9Ty4M4985w7mvR9m87UBCFKzlDZfGNdDc5uwC3vO1OYpMF4jxi9gvz_Ma_1OwGQqImWTovwb_-UB-56d16numsBlROiqiWMQACW_PiI?key=uULc2sSfDY27g6g0VIZbTQ

     

             11. Untar IBI_wfce_1.3.0.tar

    tar -xvf IBI_wfce_1.3.0.tar

    Above command will extract the IBI_wfce_1.3.0 directory for all the scripts, Helmfile, env, etc files required by WebFOCUS CE.

     

             12. Deploy infra

    cd IBI_wfce_1.3.0/scripts/helmfile/infra
    
    source ../export-defaults.sh
    
    helmfile --state-values-file=../environments/oc-default.yaml.gotmpl sync

    Verify infra pods are up and running using command

    oc get pods -n webfocus

    Expected output as follows:

    AD_4nXdGkEzdzT205uiNGPJJ5DMRxCwtqy4S7dMa7t0OP0mfcVuh_HMRL1uL_DVgjgQUicxr5rWvFEUNIhKCve77-PRsA9KQcZd2jzITrXEfQWDSEG-OaQ-pJpHy0ft_2tv_Z17Jn35345vOW4lMkBlQ85SEcxMG?key=uULc2sSfDY27g6g0VIZbTQ

     

             13. Remove imagePullSecret (optional step - only needed if internal registry is used)

                   edit scripts/helmfile/environments/dev-wf.integ.yaml.gotmpl and remove all instances of

    imageInfo:
      imagePullSecrets:
      - name: ibi-docker-hub

    Once removed file would look like:

    appserver:
    #  imagePullSecrets:
    #  - name: ibi-docker-hub
      autoscaling:
        enabled: true
    #edaetc:
    #  imagePullSecrets:
    #  - name: ibi-docker-hub
    edaserver:
    #  imagePullSecrets:
    #  - name: ibi-docker-hub
      service:
        type: NodePort
        #sessionAffinity: ClientIP
      autoscaling:
        enabled: true
    clm:
    #  imagePullSecrets:
    #  - name: ibi-docker-hub
      service:
        annotations: {}
        type: NodePort
      autoscaling:
        enabled: false
    cachemanager:
    #  imagePullSecrets:
    #  - name: ibi-docker-hub
      service:
        type: NodePort
      autoscaling:
        enabled: true
    #etcd:
    #  image:
    #    pullSecrets:
    #      name: ibi-docker-hub
    swego:
      enabled: true
    storage:
      accessMode: ReadWriteOnce
    
    global:
    #  imageInfo:
    #    imagePullSecrets:
    #    - name: ibi-docker-hub
      prometheusAdapter:
        metricsServer: false
      prometheus:
        server:
          service:
            type: NodePort
    

     

             14. Update Customer id and EUA in below file

                   IBI_wfce_1.3.0/scripts/helmfile/environments/wf.integ.yaml.gotmpl

    AD_4nXcbEU1OEnSdBZaRizZCbZXMLqKKbFryOvVLYzG0uvFd46Y8giLs-0NbnnAHHcwdlxVG1QK88H_JePSJIj4b9S90Z52tthcSr3lHqfW1eXFwy5PNXhqZS8-9Bgi_bYDVdHDZ4TPrW4UTC25HXLxllNxzHuo?key=uULc2sSfDY27g6g0VIZbTQ

    Also, update license key in IBI_wfce_1.3.0/scripts/license/license.txt

    Note: For customer id and license key contact Admin or ibi Support team.

             15. Deploy WebFOCUS

    Execute below command from directory: IBI_wfce_1.3.0/scripts/helmfile

    helmfile -e dev --state-values-file=environments/oc-default.yaml.gotmpl --state-values-set global.imageInfo.image.repository=default-route-openshift-image-registry.apps-crc.testing/webfocus/repo sync

     

    Verify using pod status

    oc get pods -n webfocus

    You can expect output like one below

    AD_4nXd2krnVuyHoBJ5bw5QMQXxvd8c82VvQwN1lOq9_Oo3Z-zahGQIKtbKD7VnoIOgX-T6ARk0lA8KHluD0ALADHMNUpFSE-9aoglpe7CrhRzSwVZeuUk5-M8Kqd2M3sJhXMF87szKAZY1DUWY6RotUrowAYLV2?key=uULc2sSfDY27g6g0VIZbTQ

     

             16. Create Route to access apperver

    oc expose svc appserver

    View route:

    oc get route -n webfocus

    AD_4nXdwZ-HslidYBAqi1lV_twUXK0PQB0iLFKQDAUtB3nxFpvghkBMV1Uc_8hqg9Q4JcqWSyyXXJqBABVRX1RfhS49JOUU6t0iUScpFFUaiGuESCgb-J1vIc2-t7UKy909pgR0ooLso4ScMUUAKCmBOzxgqvoY?key=uULc2sSfDY27g6g0VIZbTQ

     

    Now, access WebFOCUS

    http://appserver-webfocus.apps-crc.testing/webfocus/

    Credentials: secret/terces

     

    Troubleshooting

             1. Appserver goes in CrashLoopBackOff ?

    Appserver might not have enough resources so assign more resources. Also, try increasing initialDelaySeconds for livenessProbe and readinessProbe.

    oc edit sts appserver -n webfocus

    Example:

    AD_4nXfKs7Ry635mmzTG-3PXQbwGZZsQdwDJ0UOuJjUmQqXgMw9m6NUXr1WMFRy_9AwxK22Yont8fdqlVPnhWaAzeqmwthCK__aaFTTzPRZ33UGCNWzfiPHkPC-5n6b-7KXjqtOY5GlDi_cOecfLLkQVjBOEllk?key=uULc2sSfDY27g6g0VIZbTQ

             

             2. 500 Gateway Timeout error

    Increase the timeout on the Openshift route to 2 minutes

    https://docs.openshift.com/container-platform/3.11/install_config/configuring_routing.html

    oc annotate route appserver --overwrite haproxy.router.openshift.io/timeout=120s

     

    Thank you for your interest in WebFOCUS CE and we hope this documentation proves useful to you! 

    For any further assistance feel free to contact ibi Support team.

    • Like 4
    • Thanks 1

    User Feedback

    Recommended Comments

    There are no comments to display.


×
  • Create New...