Skip to content

Latest commit

 

History

History
97 lines (77 loc) · 3.7 KB

README-license-annotations.md

File metadata and controls

97 lines (77 loc) · 3.7 KB

Add IBM License Metering annotations to custom ODM containers

License annotations let you track usage based on the limits defined on the container, rather than on the underlying machine. You configure the container to be deployed with specific annotations that the IBM® License Service then uses to track usage.

The IBM License Service needs to be installed on the Kubernetes cluster where the IBM ODM containers (predefined or custom) are deployed to track usage. Further information regarding the supported environments and installation instructions can be found on the ibm-licensing-operator page on GitHub.

The IBM License Service processes pod annotations to track licenses. Therefore product teams must use specific metering annotations in the spec.template.metadata.annotations section of their Kubernetes pod template for custom ODM containers, similarly to what is provided for the predefined ODM containers

Based on your deployment type, use the following annotations:

The annotations below are defined for ODM version 9.0, but you can also use them for ODM v8.10.5.1 by replacing productVersion value with "8.10.5.1".

Guidance

containername must be set to the name of the container as set in spec.template.spec.containers.name parameter of your pod template except for decisionServerConsole container where it must be set to "", since decisionServerConsole container is not charged.

IBM ODM on Kubernetes (Production)

  • For all containers except decision-runner:

    spec:
      template:
        metadata:
          annotations:
            productName: "IBM Operational Decision Manager"
            productID: "b1a07d4dc0364452aa6206bb6584061d"
            productVersion: "9.0.0.0"
            productMetric: "PROCESSOR_VALUE_UNIT"
            productChargedContainers: <containername>
  • For decision-runner container:

    spec:
      template:
        metadata:
          annotations:
            productName: "IBM Operational Decision Manager - Non Prod"
            productID: "e32af5770e06427faae142993c691048"
            productVersion: "9.0.0.0"
            productMetric: "PROCESSOR_VALUE_UNIT"
            productChargedContainers: <containername>

    Note: Decision Runner container is always charged in non-production mode

IBM ODM on Kubernetes (Non-Production)

spec:
  template:
    metadata:
      annotations:
        productName: "IBM Operational Decision Manager - Non Prod"
        productID: "e32af5770e06427faae142993c691048"
        productVersion: "9.0.0.0"
        productMetric: "PROCESSOR_VALUE_UNIT"
        productChargedContainers: <containername>

Example

Decision Server Runtime Production example:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-odm-decisionserverruntime
  ...
spec:
  ...
  template:
    metadata:
      ...
      annotations:
        productName: "IBM Operational Decision Manager"
        productID: "b1a07d4dc0364452aa6206bb6584061d"
        productVersion: "9.0.0.0"
        productMetric: "PROCESSOR_VALUE_UNIT"
        productChargedContainers: my-odm-decisionserverruntime
    spec:
      ...

      containers:
      - name: my-odm-decisionserverruntime
        image: my-repo/my-odm-decisionserverruntime:9.0.0.0-amd64
        ...