Decision Management & Intelligence (ODM, DI)

Decision Management & Intelligence (ODM, DI)

Connect with experts and peers to elevate technical expertise, solve problems and share insights


#Data
#Data
#Businessautomation
 View Only
Expand all | Collapse all

ODM 8.10.5 on OpenShift 3.11, routes not created automatically

  • 1.  ODM 8.10.5 on OpenShift 3.11, routes not created automatically

    Posted Mon February 01, 2021 08:06 AM

    Installing ODM 8.10.5 on OpenShift 3.11 and couldn’t get routes to create automatically , following the OpenShift section of this page from the manual: https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/con_external_access.html

    I had added the required inputs for the Helm chart to have the Route created automatically but it did not create the Route as expected.

    Could you advise on what would be the problem ?

    I don’t have a working OCP 4.6 cluster yet but when I do get one, I will try it out there as well.

    Is 3.11 supported for ODM 8.10.5 on Kubernetes ?



    #OperationalDecisionManager(ODM)
    #Support
    #SupportMigration


  • 2.  RE: ODM 8.10.5 on OpenShift 3.11, routes not created automatically

    Posted Mon February 01, 2021 09:29 AM

    To ensure routes are automatically created, the following parameters under service must be set , either by customizing the values.yaml or setting them as command line arguments to the helm command. In particular, is the parameter service.type

    when set to ClusterIP, will enable routes to be automatically created.

    service: enableTLS: true # when enableRoute-true, set type=ClusterIP type: ClusterIP # type: NodePort enableRoute: true hostname: "" ingress: enabled: false annotations: # {annotation1: "1",annotation2: "2"} tlsHosts: [] tlsSecretRef: host:

    If you set enableRoute: true but did not change type: NodePort to type: ClusterIP,

    routes will not be enabled to create automatically when installing the helm chart.

    Example using customized values.yaml with:

    enableRoute: true

    type: ClusterIP

    $ helm install odm8105 -f values.yaml /home/notroot/ODM8105_K8S/charts/ibm-odm-prod-20.3.0.tgz

    The output of the helm install will print the output of the cmd: helm status odm8105.

    When routes are automatically created, the helm status output will show the following,

    which is evident that routes were enabled correctly:

    $ helm status odm8105 export SCHEME=https -- Decision Center Business Console export DC_ROUTE=$(oc get routes odm8105-odm-dc-route -o jsonpath='{.spec.host}') echo $SCHEME://$DC_ROUTE/decisioncenter -- Decision Center Enterprise Console export DC_ROUTE=$(oc get routes odm8105-odm-dc-route -o jsonpath='{.spec.host}') echo $SCHEME://$DC_ROUTE/teamserver -- Decision Runner export DR_ROUTE=$(oc get routes odm8105-odm-dr-route -o jsonpath='{.spec.host}') echo $SCHEME://$DR_ROUTE/DecisionRunner -- Decision Server Console export DSC_ROUTE=$(oc get routes odm8105-odm-ds-console-route -o jsonpath='{.spec.host}') echo $SCHEME://$DSC_ROUTE/res -- Decision Server Runtime export DSR_ROUTE=$(oc get routes odm8105-odm-ds-runtime-route -o jsonpath='{.spec.host}') echo $SCHEME://$DSR_ROUTE/DecisionService

    Whereas, if routes were not enabled , then the output of the cmd: helm status odm8105

    will show the NODE_PORT and NODE_IP instead of route-

    export SCHEME=https -- Decision Center Business Console export NODE_PORT_DC=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisioncenter) export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}") echo $SCHEME://$NODE_IP:$NODE_PORT_DC/decisioncenter -- Decision Center Enterprise Console export NODE_PORT_DC=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisioncenter) export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}") echo $SCHEME://$NODE_IP:$NODE_PORT_DC/teamserver -- Decision Runner export NODE_PORT_DR=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisionrunner) export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}") echo $SCHEME://$NODE_IP:$NODE_PORT_DR/DecisionRunner -- Decision Server Console export NODE_PORT_DSC=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisionserverconsole) export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}") echo $SCHEME://$NODE_IP:$NODE_PORT_DSC/res -- Decision Server Runtime export NODE_PORT_DSR=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisionserverruntime) export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}") echo $SCHEME://$NODE_IP:$NODE_PORT_DSR/DecisionService

    Refer to the Reference section of the Knowledge Center for ODM on Certified Kubernetes-

    https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/ref_reference.html

    which shows the helm syntax using values.yaml-

    It is also possible to use a custom-made .yaml file to specify the values of the parameters when you install the chart. For example:

    $ helm install release_name -f values.yaml /path/to/ibm-odm-prod-version.tgz

    Also, refer to the ODM for production configuration parameters page in Reference section of the Knowledge Center - https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/ref_parameters_prod.html

    which shows the optional configuration parameters and their descriptions-

    Review the last parameter listed in the table:

    Parameter: service.type Description: The Kubernetes Service type. You can set it to ClusterIP if you enable OpenShift routes to be created automatically (through the service.enableRoute parameter), or if you define an Ingress controller manually. Default value: NodePort

    You can extract the values.yaml with default values after you completed Step 1 of the procedure from section-

    https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/tsk_config_odm_prod_kube.html

    Once in the extracted folder, cd charts.

    Extract the file: ibm-odm-prod-20.3.0.tgz and cd to its extracted folder, ibm-odm-prod

    to access values.yaml.

    The full path of the file will be: ../PPA_NAME/charts/ibm-odm-prod/values.yaml

    ----

    Regarding ODM 8.10.5 on OpenShift 3.11, it is supported (*) as it is a fully compliant Certified Kubernetes platform.

    *Note: Full support for v3.11 ends this year in June 2021.

    Maintenance support will continue as scheduled until June 2022, followed by Extended Life Phase (ELP) support until June 2024.

    https://www.redhat.com/en/blog/red-hat-announces-product-life-cycle-changes



    #OperationalDecisionManager(ODM)
    #Support
    #SupportMigration