Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 5.94 KB

GRADUATING.md

File metadata and controls

51 lines (34 loc) · 5.94 KB

Changing projects state (moving to incubation, graduating etc)

  1. Go to cncf/devstats-docker-images:
  • Update status in */projects.yaml.
  • Add graduated_date or similar (incubating_date, archived_date).
  • Graduation/Incubation dates are here.
  1. Go to cncf/devstats:
  • Follow instructions from cncf/devstats:GRADUATING.md.
  • Update shared Grafana data.
  • If archiving then delete project configuration form all: (current tracing in devstats:projects.yaml, devstats-docker-images:devstats-helm/projects.yaml). Eventually consider updating all/psql.sh and scripts/all/repo_groups.sql.
  1. Go to cncf/devstats-docker-images:
  • Consider upgrading Grafana: vim ./images/Dockerfile.grafana.
  • Run DOCKER_USER=... SKIP_PATRONI=1 ./images/build_images.sh to build a new images.
  • Eventually run DOCKER_USER=... ./images/remove_images.sh to remove image(s) locally (new image is pushed to the Docker Hub).
  1. Go to cncf/devstats-helm:

While on the devstats-test namespace: git pull, then:

  • Recreate static pages handler: ../devstats-k8s-lf/util/delete_objects.sh po devstats-static-test.
  • If graduation/incubation in the past - generate annotations for this project: helm install --generate-name ./devstats-helm --set skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,provisionCommand='devstats-helm/annotations.sh',indexProvisionsFrom=X,indexProvisionsTo=Y,provisionPodName=anno
  • Run vars regenerate on all projects: helm install --generate-name ./devstats-helm --set skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,provisionCommand='devstats-helm/vars.sh',provisionPodName=vars.
  • Recreate Grafanas: rm ~/recreate.log && ITER=1 ./delete_objects.sh po devstats-grafana- &>> ~/recreate.log &, clear && tail -f ~/recreate.log.
  • Reinit TSDB data may be needed: helm install --generate-name ./devstats-helm --set skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,provisionCommand='./devstats-helm/reinit.sh',projectsOverride='+cncf\,+opencontainers\,+istio\,+zephyr\,+linux\,+rkt\,+sam\,+azf\,+riff\,+fn\,+openwhisk\,+openfaas\,+cii\,+prestodb\,+godotengine\,+opentracing',indexProvisionsFrom=X,indexProvisionsTo=Y,nCPUs=8.
  • You can regenerate Health dashboard too: helm install --generate-name ./devstats-helm --set skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,provisionCommand='devstats-helm/health.sh',indexProvisionsFrom=38,indexProvisionsTo=39.
  • Delete intermediate helm installs - those with auto generated name like devstats-helm-1565240123: helm delete devstats-helm-1565240123.

While on the devstats-prod namespace: git pull, then:

  • Recreate static pages handler: ../devstats-k8s-lf/util/delete_objects.sh po devstats-static-prod.
  • If graduation/incubation in the past - generate annotations for this project: helm install --generate-name ./devstats-helm --set namespace='devstats-prod',skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,testServer='',prodServer='1',provisionImage='lukaszgryglicki/devstats-prod',provisionCommand='devstats-helm/annotations.sh',indexProvisionsFrom=X,indexProvisionsTo=Y,provisionPodName=anno.
  • Run vars regenerate on all projects: helm install --generate-name ./devstats-helm --set namespace='devstats-prod',skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,testServer='',prodServer='1',provisionImage='lukaszgryglicki/devstats-prod',provisionCommand='devstats-helm/vars.sh',provisionPodName=vars.
  • Wait for it to finish: clear && k get po -w | grep vars.
  • Recreate Grafanas: rm ~/recreate.log && ITER=1 ./delete_objects.sh po devstats-grafana- &>> ~/recreate.log &, clear && tail -f ~/recreate.log.
  • Reinit TSDB data may be needed: helm install --generate-name ./devstats-helm --set namespace='devstats-prod',skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,provisionImage='lukaszgryglicki/devstats-prod',provisionCommand='./devstats-helm/reinit.sh',indexProvisionsFrom=X,indexProvisionsTo=Y,nCPUs=8.
  • You can regenerate Health dashboards too: helm install --generate-name ./devstats-helm --set namespace='devstats-prod',skipSecrets=1,skipPVs=1,skipBackupsPV=1,skipVacuum=1,skipBackups=1,skipBootstrap=1,skipCrons=1,skipAffiliations=1,skipGrafanas=1,skipServices=1,skipPostgres=1,skipIngress=1,skipStatic=1,skipAPI=1,skipNamespaces=1,testServer='',prodServer='1',provisionImage='lukaszgryglicki/devstats-prod',provisionCommand='devstats-helm/health.sh',indexProvisionsFrom=38,indexProvisionsTo=39.
  • Delete intermediate helm installs - those with auto generated name like devstats-helm-1565240123: helm delete devstats-helm-1565240123.

For both:

  • If archival then delete cronjobs: k delete cj -n devstats-{{env}} devstats-proj devstats-affiliations-proj.
  • Eventually delete projects database: k exec -itn devstats-{{env}} devstats-postgres-3 -- psql, drop database proj.