craigcondit commented on code in PR #468: URL: https://github.com/apache/yunikorn-site/pull/468#discussion_r1750847608
########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | Review Comment: Nit: "The priority of applicationID" -> "The priority of application ID" (add space as this is now a generic term referring to all the various representations). Grammar: "Pod has inconsistent application metadata" -> "Pods with inconsistent application metadata" ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. Review Comment: Nit: space before parenthesis. Suggestion: Perhaps "legacy" is a better descriptor; it's a bit more negative. Not quite deprecated, but also not preferred. So: "The non-canonical (legacy) representations will not be deprecated..." ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | +| `yunikorn.apache.org/queue` | Selects the YuniKorn queue this application should be scheduled in. This is the canonical representation and it is recommended to use it.<br/><br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues). This may be ignored if a placement policy is in effect.<br/><br/>The priority of queue name is determined in the following order: <ol><li>Label `yunikorn.apache.org/queue`</li><li>Annotation `yunikorn.apache.org/queue`</li><li>Label `queue`</li></ol>**Note**: Pod has inconsistent queue metadata will be rejected in 1.7.0. | +| [Classic]<br/>`applicationId` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | +| [Classic]<br/>`queue` | It is equivalent to the label `yunikorn.apache.org/queue`, and we recommend using it. | +| `spark-app-selector` | It is equivalent to the label `yunikorn.apache.org/app-id`.<br/><br/>It is automatically attached by third-party Spark jobs triggered by the [Spark Operator](https://github.com/kubeflow/spark-operator). YuniKorn internally supports this label as one of the sources of applicationID. | Review Comment: Wording: "YuniKorn internally supports this label as one of the sources of applicationID." -> "YuniKorn uses this label to define application ID if no other metadata exists." This more clearly conveys what we intend to do in 1.7. ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | +| `yunikorn.apache.org/queue` | Selects the YuniKorn queue this application should be scheduled in. This is the canonical representation and it is recommended to use it.<br/><br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues). This may be ignored if a placement policy is in effect.<br/><br/>The priority of queue name is determined in the following order: <ol><li>Label `yunikorn.apache.org/queue`</li><li>Annotation `yunikorn.apache.org/queue`</li><li>Label `queue`</li></ol>**Note**: Pod has inconsistent queue metadata will be rejected in 1.7.0. | +| [Classic]<br/>`applicationId` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | +| [Classic]<br/>`queue` | It is equivalent to the label `yunikorn.apache.org/queue`, and we recommend using it. | +| `spark-app-selector` | It is equivalent to the label `yunikorn.apache.org/app-id`.<br/><br/>It is automatically attached by third-party Spark jobs triggered by the [Spark Operator](https://github.com/kubeflow/spark-operator). YuniKorn internally supports this label as one of the sources of applicationID. | ### Annotations in YuniKorn -All annotations are under the namespace `yunikorn.apache.org`. For example `yunikorn.apache.org/app-id`. - -| Name | Description | -|-------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `app-id` | Assoiates this pod with an application.<br/>The priority of applicationID is determined by: annotation `yunikorn.apache.org/app-id` > label `applicationId` > label `spark-app-selector`. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with rules described in [Partition and Queue Configuration](queue_config#queues).<br/>The priority of queue is determined by: label `queue` > annotation `yunikorn.apache.org/queue` > default. | -| `task-group-name` | Sets the task group name this pod belongs to for the purposes of gang scheduling. It must be listed within `task-groups`. | -| `task-groups` | Defines the set of task groups for this application for gang scheduling. Each pod within an application must define all task groups. | -| `schedulingPolicyParameters` | Arbitrary key-value pairs used to customize scheduling policies such as gang scheduling. | -| `allow-preemption` | The `allow-preemption` annotation can be set on the Pod or PriorityClass object. The annotation in Pod takes priority over PriorityClass. It will trigger opt out of preemption for pods. Further details can be found in the [DaemonSet Scheduling using Simple Preemptor](./../design/simple_preemptor) documentation. | -| `parentqueue` | Define a parent queue for a set of K8s namespaces. Further details can be found in the [ Resource Quota Management](resource_quota_management#parent-queue-mapping-for-namespaces) documentation. | -| `namespace.quota` | Set the maximum capacity of the queue mapped to this namespace. Further details can be found in the [ Resource Quota Management](resource_quota_management#namespace-quota) documentation. | -| [DEPRECATED] `namespace.max.cpu` | Replaced with ``namespace.quota`` since version 1.2.0 | -| [DEPRECATED] `namespace.max.memory` | Replaced with `namespace.quota` since version 1.2.0 | -| `namespace.enableYuniKorn` | Controls which namespaces will have pods forwarded to Yunikorn for scheduling. Further details can be found in the [Service Configuration #admission-controller-filtering-settings](service_config#admission-controller-filtering-settings)documentation. | -| `namespace.generateAppId` | Controls which namespaces will have pods labeled with an `applicationId`. Further details can be found in the [Service Configuration #admission-controller-filtering-settings](service_config#admission-controller-filtering-settings) documentation. | + +| Name | Description | +|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Classic]<br/>`yunikorn.apache.org/app-id` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | Review Comment: Let's switch from "[Classic] to [LEGACY], and reword descriptions as follows: Equivalent to the preferred label `yunikorn.apache.org/app-id`. ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | +| `yunikorn.apache.org/queue` | Selects the YuniKorn queue this application should be scheduled in. This is the canonical representation and it is recommended to use it.<br/><br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues). This may be ignored if a placement policy is in effect.<br/><br/>The priority of queue name is determined in the following order: <ol><li>Label `yunikorn.apache.org/queue`</li><li>Annotation `yunikorn.apache.org/queue`</li><li>Label `queue`</li></ol>**Note**: Pod has inconsistent queue metadata will be rejected in 1.7.0. | +| [Classic]<br/>`applicationId` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | Review Comment: Let's switch from "[Classic] to [LEGACY], and reword descriptions as follows: Equivalent to the preferred label `yunikorn.apache.org/app-id`. ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | +| `yunikorn.apache.org/queue` | Selects the YuniKorn queue this application should be scheduled in. This is the canonical representation and it is recommended to use it.<br/><br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues). This may be ignored if a placement policy is in effect.<br/><br/>The priority of queue name is determined in the following order: <ol><li>Label `yunikorn.apache.org/queue`</li><li>Annotation `yunikorn.apache.org/queue`</li><li>Label `queue`</li></ol>**Note**: Pod has inconsistent queue metadata will be rejected in 1.7.0. | Review Comment: Grammar: "Pod has inconsistent queue metadata" -> "Pods with inconsistent queue metadata" ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | +| `yunikorn.apache.org/queue` | Selects the YuniKorn queue this application should be scheduled in. This is the canonical representation and it is recommended to use it.<br/><br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues). This may be ignored if a placement policy is in effect.<br/><br/>The priority of queue name is determined in the following order: <ol><li>Label `yunikorn.apache.org/queue`</li><li>Annotation `yunikorn.apache.org/queue`</li><li>Label `queue`</li></ol>**Note**: Pod has inconsistent queue metadata will be rejected in 1.7.0. | +| [Classic]<br/>`applicationId` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | +| [Classic]<br/>`queue` | It is equivalent to the label `yunikorn.apache.org/queue`, and we recommend using it. | +| `spark-app-selector` | It is equivalent to the label `yunikorn.apache.org/app-id`.<br/><br/>It is automatically attached by third-party Spark jobs triggered by the [Spark Operator](https://github.com/kubeflow/spark-operator). YuniKorn internally supports this label as one of the sources of applicationID. | ### Annotations in YuniKorn -All annotations are under the namespace `yunikorn.apache.org`. For example `yunikorn.apache.org/app-id`. - -| Name | Description | -|-------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `app-id` | Assoiates this pod with an application.<br/>The priority of applicationID is determined by: annotation `yunikorn.apache.org/app-id` > label `applicationId` > label `spark-app-selector`. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with rules described in [Partition and Queue Configuration](queue_config#queues).<br/>The priority of queue is determined by: label `queue` > annotation `yunikorn.apache.org/queue` > default. | -| `task-group-name` | Sets the task group name this pod belongs to for the purposes of gang scheduling. It must be listed within `task-groups`. | -| `task-groups` | Defines the set of task groups for this application for gang scheduling. Each pod within an application must define all task groups. | -| `schedulingPolicyParameters` | Arbitrary key-value pairs used to customize scheduling policies such as gang scheduling. | -| `allow-preemption` | The `allow-preemption` annotation can be set on the Pod or PriorityClass object. The annotation in Pod takes priority over PriorityClass. It will trigger opt out of preemption for pods. Further details can be found in the [DaemonSet Scheduling using Simple Preemptor](./../design/simple_preemptor) documentation. | -| `parentqueue` | Define a parent queue for a set of K8s namespaces. Further details can be found in the [ Resource Quota Management](resource_quota_management#parent-queue-mapping-for-namespaces) documentation. | -| `namespace.quota` | Set the maximum capacity of the queue mapped to this namespace. Further details can be found in the [ Resource Quota Management](resource_quota_management#namespace-quota) documentation. | -| [DEPRECATED] `namespace.max.cpu` | Replaced with ``namespace.quota`` since version 1.2.0 | -| [DEPRECATED] `namespace.max.memory` | Replaced with `namespace.quota` since version 1.2.0 | -| `namespace.enableYuniKorn` | Controls which namespaces will have pods forwarded to Yunikorn for scheduling. Further details can be found in the [Service Configuration #admission-controller-filtering-settings](service_config#admission-controller-filtering-settings)documentation. | -| `namespace.generateAppId` | Controls which namespaces will have pods labeled with an `applicationId`. Further details can be found in the [Service Configuration #admission-controller-filtering-settings](service_config#admission-controller-filtering-settings) documentation. | + +| Name | Description | +|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Classic]<br/>`yunikorn.apache.org/app-id` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | +| [Classic]<br/>`yunikorn.apache.org/queue` | It is equivalent to the label `yunikorn.apache.org/queue`, and we recommend using it. | Review Comment: Let's switch from "[Classic] to [LEGACY], and reword descriptions as follows: Equivalent to the preferred label `yunikorn.apache.org/queue`. ########## docs/user_guide/labels_and_annotations_in_yunikorn.md: ########## @@ -22,33 +22,37 @@ under the License. --> ## Labels and Annotations in YuniKorn -YuniKorn utilizes several Kubernetes labels and annotations to support various features: +YuniKorn utilizes several Kubernetes labels and annotations to support various features. + +Since YuniKorn 1.6.0, we have provided canonical representations for defining applicationID and queue in labels under the namespace `yunikorn.apache.org`. Using these labels can benefit from the Kubernetes filtering and grouping capabilities. +The non-canonical(Classic) representation will not be deprecated and will continue to be supported in future releases. ### Labels in YuniKorn Label values should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set). -| Name | Description | -|-----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `applicationId` | Associates this pod with an application. | -| `queue` | Selects the YuniKorn queue this application should be scheduled in.<br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues).<br/>If the queue doesn't comply, annotations could be used as described below. This may be ignored if a placement policy is in effect. | -| `spark-app-selector` | Alternative method of specifying `applicationId` used by Spark Operator if the label `applicationId` and annotation `yunikorn.apache.org/app-id` are unset. | +| Name | Description | +|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `yunikorn.apache.org/app-id` | Associates this pod with an application. This is the canonical representation and it is recommended to use it.<br/><br/>The priority of applicationID is determined in the following order: <ol><li>Label `yunikorn.apache.org/app-id`</li><li>Annotation `yunikorn.apache.org/app-id`</li><li>Label `applicationId`</li><li>Label `spark-app-selector`</li></ol>**Note**: Pod has inconsistent application metadata will be rejected in 1.7.0. | | +| `yunikorn.apache.org/queue` | Selects the YuniKorn queue this application should be scheduled in. This is the canonical representation and it is recommended to use it.<br/><br/>Queue name should comply with [Kubernetes Syntax and character set](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set) and also with [Partition and Queue Configuration](queue_config#queues). This may be ignored if a placement policy is in effect.<br/><br/>The priority of queue name is determined in the following order: <ol><li>Label `yunikorn.apache.org/queue`</li><li>Annotation `yunikorn.apache.org/queue`</li><li>Label `queue`</li></ol>**Note**: Pod has inconsistent queue metadata will be rejected in 1.7.0. | +| [Classic]<br/>`applicationId` | It is equivalent to the label `yunikorn.apache.org/app-id`, and we recommend using it. | +| [Classic]<br/>`queue` | It is equivalent to the label `yunikorn.apache.org/queue`, and we recommend using it. | Review Comment: Let's switch from "[Classic] to [LEGACY], and reword descriptions as follows: Equivalent to the preferred label `yunikorn.apache.org/queue`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
