From fc6247152bab039705da08f9ec7d180454bc249b Mon Sep 17 00:00:00 2001 From: gmarek Date: Wed, 23 Dec 2015 17:02:20 +0100 Subject: [PATCH] Split levels of verbosity of test logging on components. --- cluster/gce/config-test.sh | 17 +++++++--- cluster/gce/configure-vm.sh | 26 ++++++++++++++ cluster/gce/util.sh | 34 +++++++++++++++---- .../kube-apiserver/kube-apiserver.manifest | 7 +++- .../kube-controller-manager.manifest | 9 +++-- .../salt/kube-proxy/kube-proxy.manifest | 7 +++- .../kube-scheduler/kube-scheduler.manifest | 7 ++-- cluster/saltbase/salt/kubelet/default | 7 +++- 8 files changed, 95 insertions(+), 19 deletions(-) diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 1f134442655..ca7be60e285 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -68,14 +68,21 @@ ENABLE_L7_LOADBALANCING="${KUBE_ENABLE_L7_LOADBALANCING:-glbc}" # standalone - Heapster only. Metrics available via Heapster REST API. ENABLE_CLUSTER_MONITORING="${KUBE_ENABLE_CLUSTER_MONITORING:-influxdb}" +# Default Log level for all components in test clusters and variables to override it in specific components. TEST_CLUSTER_LOG_LEVEL="${TEST_CLUSTER_LOG_LEVEL:---v=4}" +KUBELET_TEST_LOG_LEVEL="${KUBELET_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL}" +API_SERVER_TEST_LOG_LEVEL="${API_SERVER_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL}" +CONTROLLER_MANAGER_TEST_LOG_LEVEL="${CONTROLLER_MANAGER_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL}" +SCHEDULER_TEST_LOG_LEVEL="${SCHEDULER_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL}" +KUBEPROXY_TEST_LOG_LEVEL="${KUBEPROXY_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL}" + TEST_CLUSTER_RESYNC_PERIOD="${TEST_CLUSTER_RESYNC_PERIOD:---min-resync-period=3m}" -KUBELET_TEST_ARGS="--max-pods=110 $TEST_CLUSTER_LOG_LEVEL" -APISERVER_TEST_ARGS="--runtime-config=extensions/v1beta1 ${TEST_CLUSTER_LOG_LEVEL}" -CONTROLLER_MANAGER_TEST_ARGS="${TEST_CLUSTER_LOG_LEVEL} ${TEST_CLUSTER_RESYNC_PERIOD}" -SCHEDULER_TEST_ARGS="${TEST_CLUSTER_LOG_LEVEL}" -KUBEPROXY_TEST_ARGS="${TEST_CLUSTER_LOG_LEVEL}" +KUBELET_TEST_ARGS="--max-pods=110" +APISERVER_TEST_ARGS="--runtime-config=extensions/v1beta1" +CONTROLLER_MANAGER_TEST_ARGS="${TEST_CLUSTER_RESYNC_PERIOD}" +SCHEDULER_TEST_ARGS="" +KUBEPROXY_TEST_ARGS="" # Optional: Enable node logging. ENABLE_NODE_LOGGING="${KUBE_ENABLE_NODE_LOGGING:-true}" diff --git a/cluster/gce/configure-vm.sh b/cluster/gce/configure-vm.sh index e0e2e033a00..f13346f4e99 100755 --- a/cluster/gce/configure-vm.sh +++ b/cluster/gce/configure-vm.sh @@ -294,29 +294,55 @@ EOF kubelet_port: '$(echo "$KUBELET_PORT" | sed -e "s/'/''/g")' EOF fi + # Configuration changes for test clusters if [ -n "${APISERVER_TEST_ARGS:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls apiserver_test_args: '$(echo "$APISERVER_TEST_ARGS" | sed -e "s/'/''/g")' +EOF + fi + if [ -n "${API_SERVER_TEST_LOG_LEVEL:-}" ]; then + cat <>/srv/salt-overlay/pillar/cluster-params.sls +api_server_test_log_level: '$(echo "$API_SERVER_TEST_LOG_LEVEL" | sed -e "s/'/''/g")' EOF fi if [ -n "${KUBELET_TEST_ARGS:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls kubelet_test_args: '$(echo "$KUBELET_TEST_ARGS" | sed -e "s/'/''/g")' +EOF + fi + if [ -n "${KUBELET_TEST_LOG_LEVEL:-}" ]; then + cat <>/srv/salt-overlay/pillar/cluster-params.sls +kubelet_test_log_level: '$(echo "$KUBELET_TEST_LOG_LEVEL" | sed -e "s/'/''/g")' EOF fi if [ -n "${CONTROLLER_MANAGER_TEST_ARGS:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls controller_manager_test_args: '$(echo "$CONTROLLER_MANAGER_TEST_ARGS" | sed -e "s/'/''/g")' +EOF + fi + if [ -n "${CONTROLLER_MANAGER_TEST_LOG_LEVEL:-}" ]; then + cat <>/srv/salt-overlay/pillar/cluster-params.sls +controller_manager_test_log_level: '$(echo "$CONTROLLER_MANAGER_TEST_LOG_LEVEL" | sed -e "s/'/''/g")' EOF fi if [ -n "${SCHEDULER_TEST_ARGS:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls scheduler_test_args: '$(echo "$SCHEDULER_TEST_ARGS" | sed -e "s/'/''/g")' +EOF + fi + if [ -n "${SCHEDULER_TEST_LOG_LEVEL:-}" ]; then + cat <>/srv/salt-overlay/pillar/cluster-params.sls +scheduler_test_log_level: '$(echo "$SCHEDULER_TEST_LOG_LEVEL" | sed -e "s/'/''/g")' EOF fi if [ -n "${KUBEPROXY_TEST_ARGS:-}" ]; then cat <>/srv/salt-overlay/pillar/cluster-params.sls kubeproxy_test_args: '$(echo "$KUBEPROXY_TEST_ARGS" | sed -e "s/'/''/g")' +EOF + fi + if [ -n "${KUBEPROXY_TEST_LOG_LEVEL:-}" ]; then + cat <>/srv/salt-overlay/pillar/cluster-params.sls +kubeproxy_test_log_level: '$(echo "$KUBEPROXY_TEST_LOG_LEVEL" | sed -e "s/'/''/g")' EOF fi # TODO: Replace this with a persistent volume (and create it). diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index d722c1c9f9f..febdd71ee46 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -1413,6 +1413,16 @@ EOF if [ -n "${TEST_CLUSTER:-}" ]; then cat >>$file <>$file <>$file <>$file <>$file <>$file <>$file <>$file <>$file <>$file <>$file <>/var/log/kube-proxy.log 2>&1 + - kube-proxy {{api_servers_with_port}} {{kubeconfig}} --resource-container="" {{log_level}} {{test_args}} 1>>/var/log/kube-proxy.log 2>&1 securityContext: privileged: true volumeMounts: diff --git a/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest b/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest index 799fbe4717f..8da3d72c3ff 100644 --- a/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest +++ b/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest @@ -1,9 +1,12 @@ {% set params = "" -%} -{% if pillar['log_level'] is defined -%} -{% set params = params + " " + pillar['log_level'] -%} +{% set log_level = pillar['log_level'] -%} +{% if pillar['scheduler_test_log_level'] is defined -%} + {% set log_level = pillar['scheduler_test_log_level'] -%} {% endif -%} +{% set params = params + log_level -%} + # test_args has to be kept at the end, so they'll overwrite any prior configuration {% if pillar['scheduler_test_args'] is defined -%} {% set params = params + " " + pillar['scheduler_test_args'] -%} diff --git a/cluster/saltbase/salt/kubelet/default b/cluster/saltbase/salt/kubelet/default index 6cc30e29005..4f8ab75e2fc 100644 --- a/cluster/saltbase/salt/kubelet/default +++ b/cluster/saltbase/salt/kubelet/default @@ -131,5 +131,10 @@ {% set kubelet_port="--port=" + pillar['kubelet_port'] %} {% endif -%} +{% set log_level = pillar['log_level'] -%} +{% if pillar['kubelet_test_log_level'] is defined -%} + {% set log_level = pillar['kubelet_test_log_level'] -%} +{% endif -%} + # test_args has to be kept at the end, so they'll overwrite any prior configuration -DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} {{manifest_url}} --allow-privileged={{pillar['allow_privileged']}} {{pillar['log_level']}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}} {{pod_cidr}} {{ master_kubelet_args }} {{cpu_cfs_quota}} {{network_plugin}} {{kubelet_port}} {{experimental_flannel_overlay}} {{test_args}}" +DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} {{manifest_url}} --allow-privileged={{pillar['allow_privileged']}} {{log_level}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}} {{pod_cidr}} {{ master_kubelet_args }} {{cpu_cfs_quota}} {{network_plugin}} {{kubelet_port}} {{experimental_flannel_overlay}} {{test_args}}"