Commit 3841690d authored by Julien Balestra's avatar Julien Balestra

Kubelet-rkt: Add useful informations for Ops on the Kubelet Host

Create a Systemd SyslogIdentifier inside the [Service] Create a Systemd Description inside the [Unit]
parent 7b471136
...@@ -1108,6 +1108,18 @@ func (r *Runtime) getSelinuxContext(opt *v1.SELinuxOptions) (string, error) { ...@@ -1108,6 +1108,18 @@ func (r *Runtime) getSelinuxContext(opt *v1.SELinuxOptions) (string, error) {
return strings.Join(ctx, ":"), nil return strings.Join(ctx, ":"), nil
} }
// From the generateName or the podName return a basename for improve the logging with the Journal
// journalctl -t podBaseName
func constructSyslogIdentifier(generateName string, podName string) string {
if (len(generateName) > 1 && generateName[len(generateName) - 1] == '-') {
return generateName[0:len(generateName) - 1]
} else if (len(generateName) > 0) {
return generateName
} else {
return podName
}
}
// preparePod will: // preparePod will:
// //
// 1. Invoke 'rkt prepare' to prepare the pod, and get the rkt pod uuid. // 1. Invoke 'rkt prepare' to prepare the pod, and get the rkt pod uuid.
...@@ -1174,6 +1186,9 @@ func (r *Runtime) preparePod(pod *v1.Pod, podIP string, pullSecrets []v1.Secret, ...@@ -1174,6 +1186,9 @@ func (r *Runtime) preparePod(pod *v1.Pod, podIP string, pullSecrets []v1.Secret,
// This enables graceful stop. // This enables graceful stop.
newUnitOption("Service", "KillMode", "mixed"), newUnitOption("Service", "KillMode", "mixed"),
newUnitOption("Service", "TimeoutStopSec", fmt.Sprintf("%ds", getPodTerminationGracePeriodInSecond(pod))), newUnitOption("Service", "TimeoutStopSec", fmt.Sprintf("%ds", getPodTerminationGracePeriodInSecond(pod))),
// Ops helpers
newUnitOption("Unit", "Description", pod.Name),
newUnitOption("Service", "SyslogIdentifier", constructSyslogIdentifier(pod.GenerateName, pod.Name)),
// Track pod info for garbage collection // Track pod info for garbage collection
newUnitOption(unitKubernetesSection, unitPodUID, string(pod.UID)), newUnitOption(unitKubernetesSection, unitPodUID, string(pod.UID)),
newUnitOption(unitKubernetesSection, unitPodName, pod.Name), newUnitOption(unitKubernetesSection, unitPodName, pod.Name),
......
...@@ -1952,3 +1952,31 @@ func TestPreparePodArgs(t *testing.T) { ...@@ -1952,3 +1952,31 @@ func TestPreparePodArgs(t *testing.T) {
assert.Equal(t, testCase.cmd, cmd, fmt.Sprintf("Test case #%d", i)) assert.Equal(t, testCase.cmd, cmd, fmt.Sprintf("Test case #%d", i))
} }
} }
func TestConstructSyslogIdentifier(t *testing.T) {
testCases := []struct {
podName string
podGenerateName string
identifier string
}{
{
"prometheus-node-exporter-rv90m",
"prometheus-node-exporter-",
"prometheus-node-exporter",
},
{
"simplepod",
"",
"simplepod",
},
{
"p",
"",
"p",
},
}
for i, testCase := range testCases {
identifier := constructSyslogIdentifier(testCase.podGenerateName, testCase.podName)
assert.Equal(t, testCase.identifier, identifier, fmt.Sprintf("Test case #%d", i))
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment