Skip to content

Commit

Permalink
fix: use at most 15 letters for node name in cronjob name
Browse files Browse the repository at this point in the history
When the current implementation decides a cronjob name, it uses at most
11 letters for a node name. This behavior is problematic when a node
name is an IP address, because it can have at most 15 (= 3*4+3)
letters. This commit fixes this problem by including at most 15
letters of the node name in the cronjob name. In compensation, this
commit shrinks the length of the storage class name to 12.

A mount cronjob name (at most 40 letters) consists of:

- "provision-" (10 letters)
- PieProbe resource name (at most 10 letters)
- hyphen (1 letter)
- StorageClass name (at most 12 letters)
- hyphen (1 letter)
- hash (6 letters)

A provision cronjob name (at most 52 letters) consists of:

- "mount-" (6 letters)
- PieProbe resource name (at most 10 letters)
- hyphen (1 letter)
- Node name (at most 15 letters)
- hyphen (1 letter)
- StorageClass name (at most 12 letters)
- hyphen (1 letter)
- hash (6 letters)
  • Loading branch information
ushitora-anqou committed May 13, 2024
1 parent 7c722db commit 99c9bde
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions internal/controller/pie/pieprobe_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -514,11 +514,11 @@ func getCronJobName(kind int, nodeNamePtr *string, pieProbe *piev1alpha1.PieProb
if len(pieProbeName) > 10 {
pieProbeName = pieProbeName[:10]
}
if len(nodeName) > 11 {
nodeName = nodeName[:11]
if len(nodeName) > 15 {
nodeName = nodeName[:15]
}
if len(storageClass) > 14 {
storageClass = storageClass[:14]
if len(storageClass) > 12 {
storageClass = storageClass[:12]
}

if kind == ProvisionProbe {
Expand Down

0 comments on commit 99c9bde

Please sign in to comment.