Skip to content

Commit 51ffb49

Browse files
authored
Merge pull request kubernetes#94681 from mborsz/logdumpcp
log-dump.sh: Do not modify logexporter-daemonset.yaml in-place.
2 parents 402b94f + 3d055ac commit 51ffb49

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

cluster/log-dump/log-dump.sh

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ function setup() {
8686
echo "LOG_DUMP_SSH_USER not set, but required when using log_dump_custom_get_instances"
8787
exit 1
8888
fi
89+
source "${KUBE_ROOT}/hack/lib/util.sh"
8990
}
9091

9192
function log-dump-ssh() {
@@ -504,18 +505,23 @@ function dump_nodes_with_logexporter() {
504505
local -r logexport_sleep_seconds="$(( 90 + NUM_NODES / 3 ))"
505506

506507
# Fill in the parameters in the logexporter daemonset template.
507-
sed -i'' -e "s@{{.LogexporterNamespace}}@${logexporter_namespace}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
508-
sed -i'' -e "s@{{.ServiceAccountCredentials}}@${service_account_credentials}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
509-
sed -i'' -e "s@{{.CloudProvider}}@${cloud_provider}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
510-
sed -i'' -e "s@{{.GCSPath}}@${gcs_artifacts_dir}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
511-
sed -i'' -e "s@{{.EnableHollowNodeLogs}}@${enable_hollow_node_logs}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
512-
sed -i'' -e "s@{{.DumpSystemdJournal}}@${dump_systemd_journal}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
513-
sed -i'' -e "s@{{.ExtraLogFiles}}@${extra_log_files}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
514-
sed -i'' -e "s@{{.ExtraSystemdServices}}@${extra_systemd_services}@g" "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"
508+
local -r tmp="${KUBE_TEMP}/logexporter"
509+
local -r manifest_yaml="${tmp}/logexporter-daemonset.yaml"
510+
mkdir -p "${tmp}"
511+
cp "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml" "${manifest_yaml}"
512+
513+
sed -i'' -e "s@{{.LogexporterNamespace}}@${logexporter_namespace}@g" "${manifest_yaml}"
514+
sed -i'' -e "s@{{.ServiceAccountCredentials}}@${service_account_credentials}@g" "${manifest_yaml}"
515+
sed -i'' -e "s@{{.CloudProvider}}@${cloud_provider}@g" "${manifest_yaml}"
516+
sed -i'' -e "s@{{.GCSPath}}@${gcs_artifacts_dir}@g" "${manifest_yaml}"
517+
sed -i'' -e "s@{{.EnableHollowNodeLogs}}@${enable_hollow_node_logs}@g" "${manifest_yaml}"
518+
sed -i'' -e "s@{{.DumpSystemdJournal}}@${dump_systemd_journal}@g" "${manifest_yaml}"
519+
sed -i'' -e "s@{{.ExtraLogFiles}}@${extra_log_files}@g" "${manifest_yaml}"
520+
sed -i'' -e "s@{{.ExtraSystemdServices}}@${extra_systemd_services}@g" "${manifest_yaml}"
515521

516522
# Create the logexporter namespace, service-account secret and the logexporter daemonset within that namespace.
517523
KUBECTL="${KUBE_ROOT}/cluster/kubectl.sh"
518-
if ! "${KUBECTL}" create -f "${KUBE_ROOT}/cluster/log-dump/logexporter-daemonset.yaml"; then
524+
if ! "${KUBECTL}" create -f "${manifest_yaml}"; then
519525
echo "Failed to create logexporter daemonset.. falling back to logdump through SSH"
520526
"${KUBECTL}" delete namespace "${logexporter_namespace}" || true
521527
dump_nodes "${NODE_NAMES[@]}"
@@ -629,6 +635,7 @@ function detect_node_failures() {
629635

630636
function main() {
631637
setup
638+
kube::util::ensure-temp-dir
632639
# Copy master logs to artifacts dir locally (through SSH).
633640
echo "Dumping logs from master locally to '${report_dir}'"
634641
dump_masters

0 commit comments

Comments
 (0)