manage apply-entitlement

Give the License Service (provided by IBM Cloud Pak® foundational services) information about the type of license that you purchased.

Extended description

You are required to keep a record of the size of your deployments to report to IBM as requested. You can use the License Service to measure your software use against your license terms.

Use the cpd-cli manage apply-entitlement command to provide information about the type of license that you purchased, so that the License Service can provide accurate usage information against your license terms.

Run the command multiple times if either of the following situations applies to your environment:
  • You have multiple solutions installed in the same project.

    In this situation, run the command for each solution that is installed in the project and specify the appropriate license.

  • You have multiple instances of IBM® Software Hub installed on the cluster.

    In this situation, run the command against each project where the control plane is installed and specify the appropriate license for that deployment.

Syntax

cpd-cli manage apply-entitlement \
--cpd_instance_ns=<project-name> \
[--entitlement=<license-type>] \
[--production=true|false] \
[--vpc_node_labels=<comma-separated-list-of-node-labels>] \
[--non_vpc_node_labels=<comma-separated-list-of-node-labels>] \
[--gpu_node_labels=<comma-separated-list-of-node-labels>] \
[--vpc_node_list=<comma-separated-list-of-node-names>] \
[--non_vpc_node_list=<comma-separated-list-of-node-names>] \
[--gpu_node_list=<comma-separated-list-of-node-names>] \
[--restart_pods=true|false] \
[--enforce_pinning=true|false] \
[--preview=true|false]

Arguments

The apply-entitlement command has no arguments.

Options

Table 1: Command options
Option Description
--cpd_instance_ns The project (namespace) where IBM Software Hub is installed.
Status
Required.
Syntax
--cpd_instance_ns=<project-name>
Default value
No default. User-defined.
Valid values
The project (namespace) where IBM Software Hub is installed.
--enforce_pinning Specify whether you want to enforce node pinning when scheduling pods.
Status
Optional.

This option applies only if you use node pinning.

Syntax
--enforce_pinning=true|false
Default value
false

If you omit this option, the default value is used.

Valid values
false
Do not enforce pinning when scheduling nodes. Equivalent to the preferredDuringSchedulingIgnoredDuringExecution node affinity setting.
true
Enforce pinning when scheduling nodes. Equivalent to the requiredDuringSchedulingIgnoredDuringExecution node affinity setting.
--entitlement The license that you purchased.
Status
Required.
Syntax
--entitlement=<license-type>
Default value
No default.
Valid values
cpd-enterprise
You purchased the IBM Cloud Pak for Data Enterprise Edition license.
cpd-standard
You purchased the IBM Cloud Pak for Data Standard Edition license.
cognos-analytics
You purchased an IBM Cognos® Analytics Cartridge license.
data-lineage
You purchased the IBM Manta Data Lineage Cartridge license.
data-lineage-reserved
You purchased the IBM Manta Data Lineage Software Reserved license.
data-product-hub
You purchased the IBM Data Product Hub Cartridge license.
datastage
You purchased the DataStage Enterprise license.
datastage-plus
You purchased the DataStage Enterprise Plus license.
ikc-premium
You purchased the IBM Knowledge Catalog Premium license.
ikc-standard
You purchased the IBM Knowledge Catalog Standard license.
openpages
You purchased the IBM OpenPages® Cartridge license.
planning-analytics
You purchased the IBM Planning Analytics Cartridge license.
product-master
You purchased the IBM Product Master Cartridge license.
speech-to-text
You purchased the IBM Watson® Speech Services Cartridge and plan to install the Watson Speech to Text service.
text-to-speech
You purchased the IBM Watson Speech Services Cartridge and plan to install the Watson Text to Speech service.
watson-assistant
You purchased the IBM watsonx Assistant™ Cartridge license.
watson-discovery
You purchased the IBM Watson Discovery Cartridge license.
watsonx-ai
You purchased the IBM watsonx.ai™ license.
watsonx-bi-premium
You purchased the IBM watsonx™ BI Premium license and you want to measure authorized users.
watsonx-bi-premium-vpc
You purchased the IBM watsonx BI Premium license and you want to measure virtual processor core use.
watsonx-bi-premium-ca
You purchased the IBM watsonx BI Premium Add-On for Cognos Analytics license and you want to measure authorized users.
watsonx-bi-premium-ca-vpc
You purchased the IBM watsonx BI Premium Add-On for Cognos Analytics license and you want to measure virtual processor core use.
watsonx-code-assistant
You purchased the IBM watsonx Code Assistant™ for Ansible® license.
watsonx-code-assistant-ansible
You purchased the IBM watsonx Code Assistant for Ansible license.
watsonx-data
You purchased the IBM watsonx.data™ license.
watsonx-data-reserved
You purchased the IBM watsonx.data Reserved license.
watsonx-data-premium
You purchased the IBM watsonx.data Premium Edition license.
watsonx-data-premium-reserved
You purchased the IBM watsonx.data Premium Edition Reserved license.
watsonx-dataintelligence
You purchased the IBM watsonx.data intelligence license and you want to measure resource units.
watsonx-dataintelligence-vpc
You purchased the IBM watsonx.data intelligence license and you want to measure virtual processor core use.
watsonx-dataintelligence-reserved
You purchased the IBM watsonx.data intelligence Reserved license and you want to measure resource units.
watsonx-dataintelligence-reserved-vpc
You purchased the IBM watsonx.data intelligence Reserved license and you want to measure virtual processor core use.
watsonx-dataintelligence-transition
You purchased the IBM watsonx.data intelligence Transition license and you want to measure resource units.
watsonx-dataintelligence-transition-vpc
You purchased the IBM watsonx.data intelligence Transition license and you want to measure virtual processor core use.
watsonx-dataintelligence-transition-reserved
You purchased the IBM watsonx.data intelligence Transition Reserved license and you want to measure resource units.
watsonx-dataintelligence-transition-reserved-vpc
You purchased the IBM watsonx.data intelligence Transition Reserved license and you want to measure virtual processor core use.
watsonx-gov-mm
You purchased the IBM watsonx.governance™ Model Management license.
watsonx-gov-rc
You purchased the IBM watsonx.governance Risk and Compliance Foundation license.
watsonx-orchestrate
You purchased the IBM watsonx Orchestrate® On-Prem license.
watsonx-orchestrate-with-assistant
You purchased the IBM watsonx Orchestrate On-Prem for Voice Interaction license.
--gpu_node_labels Specify a comma-separated list of existing node labels that identify the nodes where you want to schedule pods that need GPUs.
Important: If you specify this option, you must label your nodes before you run the command. The labels must have the format: isc-entitlement=<your-value>.

For more information, see Labeling nodes for node pinning.

Status
Optional.

Use this option if you want to use node pinning.

To use node pinning, specify either --gpu_node_labels or --gpu_node_list.

You cannot combine node labels and node lists.

Syntax
--gpu_node_labels=<comma-separated-list-of-node-labels>
Default value
No default.
Valid values
Specify existing labels.

For example, if you labeled a node with isc-entitlement=chargeable-components-gpu, specify: --gpu_node_labels=chargeable-components-gpu

--gpu_node_list Specify a comma-separated list of node host names or IP addresses where you want to schedule pods that need GPUs.
Status
Optional.

Use this option if you want to use node pinning.

To use node pinning, specify either --gpu_node_labels or --gpu_node_list.

You cannot combine node labels and node lists.

Syntax
--gpu_node_list=<comma-separated-list-of-node-names>
Default value
No default.
Valid values
Specify the node host names or IP addresses.
--non_vpc_node_labels Specify a comma-separated list of existing node labels that identify the nodes where you want to schedule non-chargeable pods.
Important: If you specify this option, you must label your nodes before you run the command. The labels must have the format: isc-entitlement=<your-value>.

For more information, see Labeling nodes for node pinning.

Status
Optional.

Use this option if you want to use node pinning.

To use node pinning, specify either --non_vpc_node_labels or --non_vpc_node_list.

You cannot combine node labels and node lists.

Syntax
--non_vpc_node_labels=<comma-separated-list-of-node-labels>
Default value
No default.
Valid values
Specify existing labels.

For example, if you labeled a node with isc-entitlement=non-chargeable-components, specify: --non_vpc_node_labels=non-chargeable-components

--non_vpc_node_list Specify a comma-separated list of node host names or IP addresses where you want to schedule non-chargeable pods.
Status
Optional.

Use this option if you want to use node pinning.

To use node pinning, specify either --non_vpc_node_labels or --non_vpc_node_list.

You cannot combine node labels and node lists.

Syntax
--non_vpc_node_list=<comma-separated-list-of-node-names>
Default value
No default.
Valid values
Specify the node host names or IP addresses.
--preview Preview the commands that run when you issue this CLI command.

The command issues a series of oc commands. You can see the list of oc commands that are associated with the command.

The oc commands are saved to the preview.sh file in the work directory.

Status
Optional.
Syntax
--preview=true|false
Default value
false

If you omit this option, the default value is used.

Valid values
false
Run the commands to apply the changes to your cluster.
true
Preview the commands without running them.

You can copy the oc commands from the output and run them yourself. However, this method is not recommended. When you run the commands manually, you do not have access to the additional helper scripts that are included in the underlying Ansible playbook.

--production Specify whether you purchased a non-production license.
Restriction: This option applies only to the following entitlements:
  • cpd-enterprise
  • data-lineage
  • data-lineage-reserved
  • data-integration-unstructured-data
  • data-product-hub
  • watsonx-ai
  • watsonx-bi-premium-vpc
  • watsonx-data
  • watsonx-gov-mm
  • watsonx-gov-rc
  • watsonx-orchestrate
Status
Optional.
Syntax
--production=true|false
Default value
true

If you omit this option, the default value is used.

Valid values
false
You are running a non-production instance of the entitlement.
true
You are running a production instance of the entitlement.
--restart_pods Specify whether or not to restart the pods so that they can be scheduled on the specified nodes.
Status
Optional.

This option applies only if you use node pinning.

Syntax
--restart_pods=true|false
Default value
true

If you omit this option, the default value is used.

Valid values
false
Prevent existing pods from being restarted. For example, if you plan to upgrade your environment after you run this command, you can set --restart_pods=false to minimize disruption because the pods will be restarted during upgrade.
true
Restart existing pods.
--vpc_node_labels Specify a comma-separated list of existing node labels that identify the nodes where you want to schedule chargeable pods.
Important: If you specify this option, you must label your nodes before you run the command. The labels must have the format: isc-entitlement=<your-value>.

For more information, see Labeling nodes for node pinning.

Status
Optional.

Use this option if you want to use node pinning.

To use node pinning, specify either --vpc_node_labels or --vpc_node_list.

You cannot combine node labels and node lists.

Syntax
--vpc_node_labels=<comma-separated-list-of-node-labels>
Default value
No default.
Valid values
Specify existing labels.

For example, if you labeled a node with isc-entitlement=chargeable-components, specify: --vpc_node_labels=chargeable-components

--vpc_node_list Specify a comma-separated list of node host names or IP addresses where you want to schedule chargeable pods.
Status
Optional.

Use this option if you want to use node pinning.

To use node pinning, specify either --vpc_node_labels or --vpc_node_list.

You cannot combine node labels and node lists.

Syntax
--vpc_node_list=<comma-separated-list-of-node-names>
Default value
No default.
Valid values
Specify the node host names or IP addresses.

Examples

Note: The following example uses the recommended installation environment variables.

It is strongly recommended that you use a script to create environment variables with the correct values for your environment. For details, see Setting up installation environment variables.

Tell the License Service that you using IBM Cloud Pak for Data Enterprise Edition
cpd-cli manage apply-entitlement \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--entitlement=cpd-enterprise
Tell the License Service that you using IBM Cloud Pak for Data Enterprise Edition Non Production
cpd-cli manage apply-entitlement \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--entitlement=cpd-enterprise \
--production=false
Pin IBM Cloud Pak for Data Enterprise Edition pods using node labels

The deployment is a production deployment with pods that can be scheduled on VPC and non-VPC nodes.

cpd-cli manage apply-entitlement \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--entitlement=cpd-enterprise \
--production=true \
--non_vpc_node_labels=chargeable-components \
--non_vpc_node_labels=non-chargeable-components
Pin watsonx.ai pods using a node list

The deployment is a production deployment with pods that can be scheduled on VPC, non-VPC, and GPU nodes.

cpd-cli manage apply-entitlement \
--cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \
--entitlement=watsonx-ai \
--production=true \
--vpc_node_list=worker1.sample.com,worker2.sample.com \
--non_vpc_node_list=worker3.sample.com,worker4.sample.com \
--gpu_node_list=worker5.sample.com,worker6.sample.com,worker7.sample.com