Skip to content

Commit 0aa9570

Browse files
authored
Add gitops must-gather script for rollouts (#16)
Signed-off-by: Rizwana777 <rizwananaaz177@gmail.com>
1 parent f92e21e commit 0aa9570

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed

gather_gitops.sh

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,49 @@ get_events(){
266266
run_and_log "oc get events -n $1" "$2/all-events.txt"
267267
}
268268

269+
# gets get_rollouts_manager_cr; takes namespace and directory as argument
270+
get_rollouts_manager_cr() {
271+
echo " * Getting Rollouts Manager CR contents in $1..."
272+
run_and_log "oc -n $1 get rolloutmanager" "$2/rollouts-manager-cr.txt"
273+
run_and_log "oc -n $1 get rolloutmanager -o yaml" "$2/rollouts-manager-cr.yaml"
274+
run_and_log "oc -n $1 get rolloutmanager -o json" "$2/rollouts-manager-cr.json"
275+
}
276+
277+
# gets get_rollouts_cr; takes namespace and directory as argument
278+
get_rollouts_cr() {
279+
run_and_log "oc -n $1 get rollout" "$2/rollouts-cr.txt"
280+
run_and_log "oc -n $1 get rollout -o yaml" "$2/rollouts-cr.yaml"
281+
run_and_log "oc -n $1 get rollout -o json" "$2/rollouts-cr.json"
282+
}
283+
284+
# gets get_rollout_deployments; takes namespace and directory as argument
285+
get_rollout_deployments(){
286+
echo " * Getting rollout deployments in $1..."
287+
local rolloutName
288+
rolloutName="argo-rollouts"
289+
run_and_log "oc -n $1 get deployment/${rolloutName}" "$2/rollout-deployments.txt"
290+
run_and_log "oc -n $1 get deployment/${rolloutName} -o yaml" "$2/rollout-deployments.yaml"
291+
run_and_log "oc -n $1 get deployment/${rolloutName} -o json" "$2/rollout-deployments.json"
292+
}
293+
294+
# gets get_rollout_replicaSet; takes namespace and directory as argument
295+
get_rollout_replicaSet(){
296+
echo " * Getting rollout replicaSet in $1..."
297+
run_and_log "oc -n $1 get replicaset/argo-rollouts" "$2/rollout-replicaSet.txt"
298+
run_and_log "oc -n $1 get replicaset/argo-rollouts -o yaml" "$2/rollout-replicaSet.yaml"
299+
run_and_log "oc -n $1 get replicaset/argo-rollouts -o json" "$2/rollout-replicaSet.json"
300+
}
301+
302+
# gets services; takes namespace and directory as argument
303+
get_rollout_services(){
304+
echo " * Getting rollout services in $1..."
305+
local rolloutName
306+
rolloutName="argo-rollouts-metrics"
307+
run_and_log "oc -n $1 get service/${rolloutName}" "$2/rollout-service.txt"
308+
run_and_log "oc -n $1 get service/${rolloutName} -o yaml" "$2/rollout-service.yaml"
309+
run_and_log "oc -n $1 get service/${rolloutName} -o json" "$2/rollout-service.json"
310+
}
311+
269312
function main() {
270313

271314
# Initialize the directory where the must-gather data will be stored and the error log file
@@ -336,6 +379,31 @@ function main() {
336379
create_directory "${APPLICATION_DIR}"
337380
get_applications "${namespace}" "${APPLICATION_DIR}"
338381

382+
# rollouts
383+
echo "Creating directory for rollouts"
384+
ROLLOUTS_DIR="${RESOURCES_DIR}/rollouts"
385+
create_directory "${ROLLOUTS_DIR}"
386+
387+
ROLLOUTS_MANAGER_CR_DIR="${ROLLOUTS_DIR}/manager_cr"
388+
create_directory "${ROLLOUTS_MANAGER_CR_DIR}"
389+
get_rollouts_manager_cr "${namespace}" "${ROLLOUTS_MANAGER_CR_DIR}"
390+
391+
ROLLOUTS_CR_DIR="${ROLLOUTS_DIR}/cr"
392+
create_directory "${ROLLOUTS_CR_DIR}"
393+
get_rollouts_cr "${namespace}" "${ROLLOUTS_CR_DIR}"
394+
395+
ROLLOUTS_DEPLOYMENT_DIR="${ROLLOUTS_DIR}/rollout_deployment"
396+
create_directory "${ROLLOUTS_DEPLOYMENT_DIR}"
397+
get_rollout_deployments "${namespace}" "${ROLLOUTS_DEPLOYMENT_DIR}"
398+
399+
ROLLOUTS_REPLICASET_DIR="${ROLLOUTS_DIR}/rollout_replicaSet"
400+
create_directory "${ROLLOUTS_REPLICASET_DIR}"
401+
get_rollout_replicaSet "${namespace}" "${ROLLOUTS_REPLICASET_DIR}"
402+
403+
ROLLOUTS_SERVICES_DIR="${ROLLOUTS_DIR}/rollout_services"
404+
create_directory "${ROLLOUTS_SERVICES_DIR}"
405+
get_rollout_services "${namespace}" "${ROLLOUTS_SERVICES_DIR}"
406+
339407
echo " * Getting ArgoCD Source Namespaces in ${namespace}..."
340408
local sourceNamespaces
341409
run_and_log "oc get argocd -n ${namespace} -o jsonpath='{.items[*].spec.sourceNamespaces[*]}'" "${ARGOCD_DIR}/sourceNamespaces.txt"
@@ -365,6 +433,11 @@ function main() {
365433
run_and_log "oc logs deployment/${argoCDName}-repo-server -n ${namespace}" "${ARGOCD_LOG_DIR}/repo-server-logs.txt"
366434
run_and_log "oc logs deployment/${argoCDName}-redis -n ${namespace}" "${ARGOCD_LOG_DIR}/redis-logs.txt"
367435
run_and_log "oc logs deployment/${argoCDName}-dex-server -n ${namespace}" "${ARGOCD_LOG_DIR}/dex-server-logs.txt"
436+
437+
echo " * Getting Rollout logs in ${namespace}..."
438+
ROLLOUTS_LOG_DIR="${ROLLOUTS_DIR}/logs"
439+
create_directory "${ROLLOUTS_LOG_DIR}"
440+
run_and_log "oc logs deployment/argo-rollouts -n ${namespace}" "${ROLLOUTS_LOG_DIR}/rollout-logs.txt"
368441

369442
echo " * Getting ArgoCD Managed namespaces in ${namespace}..."
370443
run_and_log "oc get namespaces --selector=argocd.argoproj.io/managed-by=${namespace}" "${ARGOCD_DIR}/managed-namespaces.txt"

test/testdata/expected/test2.expected

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,28 @@
229229
│   │   ├── argocd-server-xxxxxx-xxxxx.txt
230230
│   │   ├── argocd-server-xxxxxx-xxxxx.yaml
231231
│   │   └── replicaSets.txt
232+
│   ├── rollouts
233+
│   │   ├── cr
234+
│   │   │   ├── rollouts-cr.json
235+
│   │   │   └── rollouts-cr.yaml
236+
│   │   ├── logs
237+
│   │   │   └── rollout-logs.txt
238+
│   │   ├── manager_cr
239+
│   │   │   ├── rollouts-manager-cr.json
240+
│   │   │   ├── rollouts-manager-cr.txt
241+
│   │   │   └── rollouts-manager-cr.yaml
242+
│   │   ├── rollout_deployment
243+
│   │   │   ├── rollout-deployments.json
244+
│   │   │   ├── rollout-deployments.txt
245+
│   │   │   └── rollout-deployments.yaml
246+
│   │   ├── rollout_replicaSet
247+
│   │   │   ├── rollout-replicaSet.json
248+
│   │   │   ├── rollout-replicaSet.txt
249+
│   │   │   └── rollout-replicaSet.yaml
250+
│   │   └── rollout_services
251+
│   │   ├── rollout-service.json
252+
│   │   ├── rollout-service.txt
253+
│   │   └── rollout-service.yaml
232254
│   ├── routes
233255
│   │   ├── argocd-server.json
234256
│   │   ├── argocd-server.txt

0 commit comments

Comments
 (0)