yangwwei commented on a change in pull request #88: [YUNIKORN-54]
admission-controller should keep generated ID tight
URL:
https://github.com/apache/incubator-yunikorn-k8shim/pull/88#discussion_r398630036
##########
File path: pkg/plugin/admissioncontrollers/webhook/admission_controller.go
##########
@@ -138,25 +138,7 @@ func updateLabels(pod *v1.Pod, patch []patchOperation)
[]patchOperation {
if _, ok := existingLabels[common.SparkLabelAppID]; !ok {
if _, ok := existingLabels[common.LabelApplicationID]; !ok {
- // if app id not exist, generate one
- // the generated ID is using
[PodNamespace]_[PodName]_[Timestamp] naming convention.
- // some admission controllers have strict checks of the
length/format of each labels,
- // this convention keeps the name tidy and short.
- podNamespace := "default"
- if pod.Namespace != "" {
- podNamespace = pod.Namespace
- }
-
- // pod's name can be generated, if name is not
explicitly specified
- // look for generateName instead
- podName := "unknown"
- if pod.Name != "" {
- podName = pod.Name
- } else if pod.GenerateName != "" {
- podName = pod.GenerateName
- }
-
- generatedID := fmt.Sprintf("%s_%s_%d", podNamespace,
podName, time.Now().Unix())
+ generatedID := fmt.Sprintf("__app_%d",
time.Now().UnixNano())
Review comment:
One of the main reasons to have this change, not just to keep it < 64 char.
Is the fact during the webhook phase, pod namespace, pod name could both be
empty (in many cases). My suggestion is to use a general generated ID just with
a timestamp, but get more info from attributes
https://issues.apache.org/jira/browse/YUNIKORN-55.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]