File tree Expand file tree Collapse file tree 10 files changed +39
-118
lines changed
Expand file tree Collapse file tree 10 files changed +39
-118
lines changed Original file line number Diff line number Diff line change @@ -148,19 +148,24 @@ object_storage.delete() {
148148object_storage.is_compacted () {
149149 local bucket=" ${1} "
150150 local prefix=" ${2} "
151+ local cutoff=" ${3} "
151152
152153 local object_storage_type
153154 object_storage_type=" $( yq.get sc ' .objectStorage.type' ) "
154155 case " ${object_storage_type} " in
155156 " s3" )
157+ # "yyyy-mm-ddThh:mm:ssZ" -> "yyyy-mm-dd hh:mm"
158+ local -r s3_cutoff=" $( echo " ${cutoff} " | cut -c1-16 | tr ' T' ' ' ) "
156159 # For some reason it doesn't like the single quotes for the awk input, likely because of the escaped pipes.
157160 # shellcheck disable=SC2016
158- run bats_pipe ck8s s3cmd ls --recursive " s3://${bucket} /${prefix} " \| awk ' {print $4}' \| sed " s|s3://${bucket} /||" \| sed ' s|\(.*\)/.*|\1|' \| sort \| uniq -d
161+ run bats_pipe ck8s s3cmd ls --recursive " s3://${bucket} /${prefix} " \| awk -v cutoff= " ${s3_cutoff} " ' $1" "$2 < cutoff ' \| awk ' {print $4}' \| sed " s|s3://${bucket} /||" \| sed ' s|\(.*\)/.*|\1|' \| sort \| uniq -d
159162 assert_success
160163 refute_output
161164 ;;
162165 " azure" )
163- run bats_pipe az storage blob list --container-name " ${bucket} " --prefix " ${prefix} " --query ' [].name' \| jq -r ' .[]' \| sed ' s|\(.*\)/.*|\1|' \| sort \| uniq -d
166+ # It thinks we intend to expand $cutoff in the jq expression, but we're passing it as an arg.
167+ # shellcheck disable=SC2016
168+ run bats_pipe az storage blob list --container-name " ${bucket} " --prefix " ${prefix} " \| jq -r --arg cutoff " ${cutoff} " ' .[] | select(.properties.createdOn < $cutoff) | .name' \| sed ' s|\(.*\)/.*|\1|' \| sort \| uniq -d
164169 assert_success
165170 refute_output
166171 ;;
Original file line number Diff line number Diff line change @@ -85,13 +85,9 @@ setup() {
8585 # is still no guarantee.
8686 test_run_cronjob " ${CRONJOB_NAME} " 1200
8787
88- object_storage.is_compacted " ${BUCKET} " " ${PREFIX} "
89- }
90-
91- @test " audit-sc - log-manager compaction job runs fine when no logs needs compaction" {
92- object_storage.is_compacted " ${BUCKET} " " ${PREFIX} "
88+ local -r cutoff=" $( _get_latest_job_start_time) "
9389
94- test_run_cronjob " ${CRONJOB_NAME } " 120
90+ object_storage.is_compacted " ${BUCKET } " " ${PREFIX} " " ${cutoff} "
9591}
9692
9793_create_uncompacted_objects () {
@@ -111,3 +107,8 @@ _create_uncompacted_objects() {
111107_get_cronjob_env () {
112108 kubectl -n " ${NAMESPACE} " get cronjob " ${CRONJOB_NAME} " -o jsonpath=' {.spec.jobTemplate.spec.template.spec.containers[0].env[?(@.name=="' " ${1} " ' ")].value}'
113109}
110+
111+ _get_latest_job_start_time () {
112+ kubectl -n " ${NAMESPACE} " get jobs -o json |
113+ jq -r " [.items[] | select(.metadata.ownerReferences[]?.name==\" ${CRONJOB_NAME} \" )] | sort_by(.status.startTime) | .[-1].status.startTime"
114+ }
Original file line number Diff line number Diff line change @@ -85,13 +85,9 @@ setup() {
8585 # is still no guarantee.
8686 test_run_cronjob " ${CRONJOB_NAME} " 1200
8787
88- object_storage.is_compacted " ${BUCKET} " " ${PREFIX} "
89- }
90-
91- @test " audit-wc - log-manager compaction job runs fine when no logs needs compaction" {
92- object_storage.is_compacted " ${BUCKET} " " ${PREFIX} "
88+ local -r cutoff=" $( _get_latest_job_start_time) "
9389
94- test_run_cronjob " ${CRONJOB_NAME } " 120
90+ object_storage.is_compacted " ${BUCKET } " " ${PREFIX} " " ${cutoff} "
9591}
9692
9793_create_uncompacted_objects () {
@@ -111,3 +107,8 @@ _create_uncompacted_objects() {
111107_get_cronjob_env () {
112108 kubectl -n " ${NAMESPACE} " get cronjob " ${CRONJOB_NAME} " -o jsonpath=' {.spec.jobTemplate.spec.template.spec.containers[0].env[?(@.name=="' " ${1} " ' ")].value}'
113109}
110+
111+ _get_latest_job_start_time () {
112+ kubectl -n " ${NAMESPACE} " get jobs -o json |
113+ jq -r " [.items[] | select(.metadata.ownerReferences[]?.name==\" ${CRONJOB_NAME} \" )] | sort_by(.status.startTime) | .[-1].status.startTime"
114+ }
Original file line number Diff line number Diff line change @@ -85,13 +85,9 @@ setup() {
8585 # is still no guarantee.
8686 test_run_cronjob " ${CRONJOB_NAME} " 1200
8787
88- object_storage.is_compacted " ${BUCKET} " " ${PREFIX} "
89- }
90-
91- @test " sc-logs - log-manager compaction job runs fine when no logs needs compaction" {
92- object_storage.is_compacted " ${BUCKET} " " ${PREFIX} "
88+ local -r cutoff=" $( _get_latest_job_start_time) "
9389
94- test_run_cronjob " ${CRONJOB_NAME } " 120
90+ object_storage.is_compacted " ${BUCKET } " " ${PREFIX} " " ${cutoff} "
9591}
9692
9793_create_uncompacted_objects () {
@@ -111,3 +107,8 @@ _create_uncompacted_objects() {
111107_get_cronjob_env () {
112108 kubectl -n " ${NAMESPACE} " get cronjob " ${CRONJOB_NAME} " -o jsonpath=' {.spec.jobTemplate.spec.template.spec.containers[0].env[?(@.name=="' " ${1} " ' ")].value}'
113109}
110+
111+ _get_latest_job_start_time () {
112+ kubectl -n " ${NAMESPACE} " get jobs -o json |
113+ jq -r " [.items[] | select(.metadata.ownerReferences[]?.name==\" ${CRONJOB_NAME} \" )] | sort_by(.status.startTime) | .[-1].status.startTime"
114+ }
Original file line number Diff line number Diff line change @@ -88,13 +88,9 @@ setup() {
8888 # is still no guarantee.
8989 test_run_cronjob "${CRONJOB_NAME}" 1200
9090
91- object_storage.is_compacted "${BUCKET}" "${PREFIX}"
92- }
93-
94- @test "{{ .name }} - log-manager compaction job runs fine when no logs needs compaction" {
95- object_storage.is_compacted "${BUCKET}" "${PREFIX}"
91+ local -r cutoff="$(_get_latest_job_start_time)"
9692
97- test_run_cronjob "${CRONJOB_NAME }" 120
93+ object_storage.is_compacted "${BUCKET }" "${PREFIX}" "${cutoff}"
9894}
9995
10096_create_uncompacted_objects() {
@@ -114,6 +110,11 @@ _create_uncompacted_objects() {
114110_get_cronjob_env() {
115111 kubectl -n "${NAMESPACE}" get cronjob "${CRONJOB_NAME}" -o jsonpath='{.spec.jobTemplate.spec.template.spec.containers[0].env[?(@.name=="'"${1}"'")].value}'
116112}
113+
114+ _get_latest_job_start_time() {
115+ kubectl -n "${NAMESPACE}" get jobs -o json |
116+ jq -r "[.items[] | select(.metadata.ownerReferences[]?.name==\"${CRONJOB_NAME}\")] | sort_by(.status.startTime) | .[-1].status.startTime"
117+ }
117118{{ end }}
118119
119120# These tests are generated into these files:
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ setup() {
9090 object_storage.has_none " ${BUCKET} " " ${TEST_DATA_PREFIX} "
9191}
9292
93- @test " audit-sc - log-manager retention job runs fine when no logs needs to be deleted" {
93+ @test " audit-sc - log-manager retention job runs fine when no logs need to be deleted" {
9494 test_run_cronjob " ${CRONJOB_NAME} " 120
9595}
9696
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ setup() {
9090 object_storage.has_none " ${BUCKET} " " ${TEST_DATA_PREFIX} "
9191}
9292
93- @test " audit-wc - log-manager retention job runs fine when no logs needs to be deleted" {
93+ @test " audit-wc - log-manager retention job runs fine when no logs need to be deleted" {
9494 test_run_cronjob " ${CRONJOB_NAME} " 120
9595}
9696
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ setup() {
9090 object_storage.has_none " ${BUCKET} " " ${TEST_DATA_PREFIX} "
9191}
9292
93- @test " sc-logs - log-manager retention job runs fine when no logs needs to be deleted" {
93+ @test " sc-logs - log-manager retention job runs fine when no logs need to be deleted" {
9494 test_run_cronjob " ${CRONJOB_NAME} " 120
9595}
9696
Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ setup() {
9393 object_storage.has_none "${BUCKET}" "${TEST_DATA_PREFIX}"
9494}
9595
96- @test "{{ .name }} - log-manager retention job runs fine when no logs needs to be deleted" {
96+ @test "{{ .name }} - log-manager retention job runs fine when no logs need to be deleted" {
9797 test_run_cronjob "${CRONJOB_NAME}" 120
9898}
9999
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments