Loading deploy/tfs.sh +137 −150 Original line number Diff line number Diff line Loading @@ -176,14 +176,13 @@ echo "# Environment variables for TeraFlowSDN deployment" > $ENV_VARS_SCRIPT PYTHONPATH=$(pwd)/src echo "export PYTHONPATH=${PYTHONPATH}" >> $ENV_VARS_SCRIPT # Not needed for the Hackfest #echo "Create Redis secret..." ## first try to delete an old one if exists #kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE --ignore-not-found #REDIS_PASSWORD=`uuidgen` #kubectl create secret generic redis-secrets --namespace=$TFS_K8S_NAMESPACE \ # --from-literal=REDIS_PASSWORD=$REDIS_PASSWORD #echo "export REDIS_PASSWORD=${REDIS_PASSWORD}" >> $ENV_VARS_SCRIPT echo "Create Redis secret..." # first try to delete an old one if exists kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE --ignore-not-found REDIS_PASSWORD=`uuidgen` kubectl create secret generic redis-secrets --namespace=$TFS_K8S_NAMESPACE \ --from-literal=REDIS_PASSWORD=$REDIS_PASSWORD echo "export REDIS_PASSWORD=${REDIS_PASSWORD}" >> $ENV_VARS_SCRIPT for COMPONENT in $TFS_COMPONENTS; do echo "Processing '$COMPONENT' component..." Loading Loading @@ -260,9 +259,8 @@ for COMPONENT in $TFS_COMPONENTS; do echo " Adapting '$COMPONENT' manifest file..." MANIFEST="$TMP_MANIFESTS_FOLDER/${COMPONENT}service.yaml" # Deactivated linkerd for the Hackfest cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST" #cat ./manifests/"${COMPONENT}"service.yaml | linkerd inject - --proxy-cpu-request "10m" --proxy-cpu-limit "1" --proxy-memory-request "64Mi" --proxy-memory-limit "256Mi" > "$MANIFEST" #cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST" cat ./manifests/"${COMPONENT}"service.yaml | linkerd inject - --proxy-cpu-request "10m" --proxy-cpu-limit "1" --proxy-memory-request "64Mi" --proxy-memory-limit "256Mi" > "$MANIFEST" if [ "$COMPONENT" == "pathcomp" ]; then IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGES/$COMPONENT-frontend:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') Loading Loading @@ -377,11 +375,10 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then GRAFANA_URL_UPDATED="http://${GRAFANA_USERNAME}:${TFS_GRAFANA_PASSWORD}@${GRAFANA_URL}" echo "export GRAFANA_URL_UPDATED=${GRAFANA_URL_UPDATED}" >> $ENV_VARS_SCRIPT # Not needed for the Hackfest #echo ">> Installing Scatter Plot plugin..." #curl -X POST -H "Content-Type: application/json" -H "Content-Length: 0" \ # ${GRAFANA_URL_UPDATED}/api/plugins/michaeldmoore-scatter-panel/install #echo echo ">> Installing Scatter Plot plugin..." curl -X POST -H "Content-Type: application/json" -H "Content-Length: 0" \ ${GRAFANA_URL_UPDATED}/api/plugins/michaeldmoore-scatter-panel/install echo # Ref: https://grafana.com/docs/grafana/latest/http_api/data_source/ QDB_HOST_PORT="${METRICSDB_HOSTNAME}:${QDB_SQL_PORT}" Loading Loading @@ -411,71 +408,68 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then }' ${GRAFANA_URL_UPDATED}/api/datasources echo # Not needed for the Hackfest #curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ # "access" : "proxy", # "type" : "postgres", # "name" : "questdb-slc-grp", # "url" : "'${QDB_HOST_PORT}'", # "database" : "'${QDB_TABLE_SLICE_GROUPS}'", # "user" : "'${QDB_USERNAME}'", # "basicAuth": false, # "isDefault": false, # "jsonData" : { # "sslmode" : "disable", # "postgresVersion" : 1100, # "maxOpenConns" : 0, # "maxIdleConns" : 2, # "connMaxLifetime" : 14400, # "tlsAuth" : false, # "tlsAuthWithCACert" : false, # "timescaledb" : false, # "tlsConfigurationMethod": "file-path", # "tlsSkipVerify" : true # }, # "secureJsonData": {"password": "'${QDB_PASSWORD}'"} #}' ${GRAFANA_URL_UPDATED}/api/datasources #echo # Not needed for the Hackfest #curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ # "access" : "proxy", # "type" : "postgres", # "name" : "cockroachdb", # "url" : "'cockroachdb-public.${CRDB_NAMESPACE}.svc.cluster.local:${CRDB_SQL_PORT}'", # "database" : "'${CRDB_DATABASE}'", # "user" : "'${CRDB_USERNAME}'", # "basicAuth": false, # "isDefault": false, # "jsonData" : { # "sslmode" : "require", # "postgresVersion" : 1100, # "maxOpenConns" : 0, # "maxIdleConns" : 2, # "connMaxLifetime" : 14400, # "tlsAuth" : false, # "tlsAuthWithCACert" : false, # "timescaledb" : false, # "tlsConfigurationMethod": "file-path", # "tlsSkipVerify" : true # }, # "secureJsonData": {"password": "'${CRDB_PASSWORD}'"} #}' ${GRAFANA_URL_UPDATED}/api/datasources #echo # Not needed for the Hackfest ## adding the datasource of the metrics collection framework #curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ # "access" : "proxy", # "type" : "prometheus", # "name" : "prometheus", # "url" : "http://prometheus-k8s.monitoring.svc:9090", # "basicAuth": false, # "isDefault": false, # "jsonData" : { # "httpMethod" : "POST" # } #}' ${GRAFANA_URL_UPDATED}/api/datasources curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "postgres", "name" : "questdb-slc-grp", "url" : "'${QDB_HOST_PORT}'", "database" : "'${QDB_TABLE_SLICE_GROUPS}'", "user" : "'${QDB_USERNAME}'", "basicAuth": false, "isDefault": false, "jsonData" : { "sslmode" : "disable", "postgresVersion" : 1100, "maxOpenConns" : 0, "maxIdleConns" : 2, "connMaxLifetime" : 14400, "tlsAuth" : false, "tlsAuthWithCACert" : false, "timescaledb" : false, "tlsConfigurationMethod": "file-path", "tlsSkipVerify" : true }, "secureJsonData": {"password": "'${QDB_PASSWORD}'"} }' ${GRAFANA_URL_UPDATED}/api/datasources echo curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "postgres", "name" : "cockroachdb", "url" : "'cockroachdb-public.${CRDB_NAMESPACE}.svc.cluster.local:${CRDB_SQL_PORT}'", "database" : "'${CRDB_DATABASE}'", "user" : "'${CRDB_USERNAME}'", "basicAuth": false, "isDefault": false, "jsonData" : { "sslmode" : "require", "postgresVersion" : 1100, "maxOpenConns" : 0, "maxIdleConns" : 2, "connMaxLifetime" : 14400, "tlsAuth" : false, "tlsAuthWithCACert" : false, "timescaledb" : false, "tlsConfigurationMethod": "file-path", "tlsSkipVerify" : true }, "secureJsonData": {"password": "'${CRDB_PASSWORD}'"} }' ${GRAFANA_URL_UPDATED}/api/datasources echo # adding the datasource of the metrics collection framework curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "prometheus", "name" : "prometheus", "url" : "http://prometheus-k8s.monitoring.svc:9090", "basicAuth": false, "isDefault": false, "jsonData" : { "httpMethod" : "POST" } }' ${GRAFANA_URL_UPDATED}/api/datasources printf "\n\n" echo ">> Creating and staring dashboards..." Loading @@ -490,75 +484,68 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Not needed for the Hackfest ## Dashboard: Slice Grouping #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_db_slc_grps_psql.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-slice-grps" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Component RPCs #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_component_rpc.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-comp-rpc" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Device Drivers #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_driver.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-drv" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Service Handlers #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_service_handler.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-svc-hdlr" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Device Execution Details #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_exec_details.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-exec" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Load Generator Status #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_load_generator.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-loadgen-stats" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Load Generator Status #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_tfs_num_pods.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-num-pods" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Dashboard: Slice Grouping curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_db_slc_grps_psql.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-slice-grps" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Component RPCs curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_component_rpc.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-comp-rpc" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Device Drivers curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_driver.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-drv" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Service Handlers curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_service_handler.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-svc-hdlr" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Device Execution Details curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_exec_details.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-exec" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Load Generator Status curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_load_generator.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-loadgen-stats" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Load Generator Status curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_tfs_num_pods.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-num-pods" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo printf "\n\n" fi Loading
deploy/tfs.sh +137 −150 Original line number Diff line number Diff line Loading @@ -176,14 +176,13 @@ echo "# Environment variables for TeraFlowSDN deployment" > $ENV_VARS_SCRIPT PYTHONPATH=$(pwd)/src echo "export PYTHONPATH=${PYTHONPATH}" >> $ENV_VARS_SCRIPT # Not needed for the Hackfest #echo "Create Redis secret..." ## first try to delete an old one if exists #kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE --ignore-not-found #REDIS_PASSWORD=`uuidgen` #kubectl create secret generic redis-secrets --namespace=$TFS_K8S_NAMESPACE \ # --from-literal=REDIS_PASSWORD=$REDIS_PASSWORD #echo "export REDIS_PASSWORD=${REDIS_PASSWORD}" >> $ENV_VARS_SCRIPT echo "Create Redis secret..." # first try to delete an old one if exists kubectl delete secret redis-secrets --namespace=$TFS_K8S_NAMESPACE --ignore-not-found REDIS_PASSWORD=`uuidgen` kubectl create secret generic redis-secrets --namespace=$TFS_K8S_NAMESPACE \ --from-literal=REDIS_PASSWORD=$REDIS_PASSWORD echo "export REDIS_PASSWORD=${REDIS_PASSWORD}" >> $ENV_VARS_SCRIPT for COMPONENT in $TFS_COMPONENTS; do echo "Processing '$COMPONENT' component..." Loading Loading @@ -260,9 +259,8 @@ for COMPONENT in $TFS_COMPONENTS; do echo " Adapting '$COMPONENT' manifest file..." MANIFEST="$TMP_MANIFESTS_FOLDER/${COMPONENT}service.yaml" # Deactivated linkerd for the Hackfest cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST" #cat ./manifests/"${COMPONENT}"service.yaml | linkerd inject - --proxy-cpu-request "10m" --proxy-cpu-limit "1" --proxy-memory-request "64Mi" --proxy-memory-limit "256Mi" > "$MANIFEST" #cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST" cat ./manifests/"${COMPONENT}"service.yaml | linkerd inject - --proxy-cpu-request "10m" --proxy-cpu-limit "1" --proxy-memory-request "64Mi" --proxy-memory-limit "256Mi" > "$MANIFEST" if [ "$COMPONENT" == "pathcomp" ]; then IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGES/$COMPONENT-frontend:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') Loading Loading @@ -377,11 +375,10 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then GRAFANA_URL_UPDATED="http://${GRAFANA_USERNAME}:${TFS_GRAFANA_PASSWORD}@${GRAFANA_URL}" echo "export GRAFANA_URL_UPDATED=${GRAFANA_URL_UPDATED}" >> $ENV_VARS_SCRIPT # Not needed for the Hackfest #echo ">> Installing Scatter Plot plugin..." #curl -X POST -H "Content-Type: application/json" -H "Content-Length: 0" \ # ${GRAFANA_URL_UPDATED}/api/plugins/michaeldmoore-scatter-panel/install #echo echo ">> Installing Scatter Plot plugin..." curl -X POST -H "Content-Type: application/json" -H "Content-Length: 0" \ ${GRAFANA_URL_UPDATED}/api/plugins/michaeldmoore-scatter-panel/install echo # Ref: https://grafana.com/docs/grafana/latest/http_api/data_source/ QDB_HOST_PORT="${METRICSDB_HOSTNAME}:${QDB_SQL_PORT}" Loading Loading @@ -411,71 +408,68 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then }' ${GRAFANA_URL_UPDATED}/api/datasources echo # Not needed for the Hackfest #curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ # "access" : "proxy", # "type" : "postgres", # "name" : "questdb-slc-grp", # "url" : "'${QDB_HOST_PORT}'", # "database" : "'${QDB_TABLE_SLICE_GROUPS}'", # "user" : "'${QDB_USERNAME}'", # "basicAuth": false, # "isDefault": false, # "jsonData" : { # "sslmode" : "disable", # "postgresVersion" : 1100, # "maxOpenConns" : 0, # "maxIdleConns" : 2, # "connMaxLifetime" : 14400, # "tlsAuth" : false, # "tlsAuthWithCACert" : false, # "timescaledb" : false, # "tlsConfigurationMethod": "file-path", # "tlsSkipVerify" : true # }, # "secureJsonData": {"password": "'${QDB_PASSWORD}'"} #}' ${GRAFANA_URL_UPDATED}/api/datasources #echo # Not needed for the Hackfest #curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ # "access" : "proxy", # "type" : "postgres", # "name" : "cockroachdb", # "url" : "'cockroachdb-public.${CRDB_NAMESPACE}.svc.cluster.local:${CRDB_SQL_PORT}'", # "database" : "'${CRDB_DATABASE}'", # "user" : "'${CRDB_USERNAME}'", # "basicAuth": false, # "isDefault": false, # "jsonData" : { # "sslmode" : "require", # "postgresVersion" : 1100, # "maxOpenConns" : 0, # "maxIdleConns" : 2, # "connMaxLifetime" : 14400, # "tlsAuth" : false, # "tlsAuthWithCACert" : false, # "timescaledb" : false, # "tlsConfigurationMethod": "file-path", # "tlsSkipVerify" : true # }, # "secureJsonData": {"password": "'${CRDB_PASSWORD}'"} #}' ${GRAFANA_URL_UPDATED}/api/datasources #echo # Not needed for the Hackfest ## adding the datasource of the metrics collection framework #curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ # "access" : "proxy", # "type" : "prometheus", # "name" : "prometheus", # "url" : "http://prometheus-k8s.monitoring.svc:9090", # "basicAuth": false, # "isDefault": false, # "jsonData" : { # "httpMethod" : "POST" # } #}' ${GRAFANA_URL_UPDATED}/api/datasources curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "postgres", "name" : "questdb-slc-grp", "url" : "'${QDB_HOST_PORT}'", "database" : "'${QDB_TABLE_SLICE_GROUPS}'", "user" : "'${QDB_USERNAME}'", "basicAuth": false, "isDefault": false, "jsonData" : { "sslmode" : "disable", "postgresVersion" : 1100, "maxOpenConns" : 0, "maxIdleConns" : 2, "connMaxLifetime" : 14400, "tlsAuth" : false, "tlsAuthWithCACert" : false, "timescaledb" : false, "tlsConfigurationMethod": "file-path", "tlsSkipVerify" : true }, "secureJsonData": {"password": "'${QDB_PASSWORD}'"} }' ${GRAFANA_URL_UPDATED}/api/datasources echo curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "postgres", "name" : "cockroachdb", "url" : "'cockroachdb-public.${CRDB_NAMESPACE}.svc.cluster.local:${CRDB_SQL_PORT}'", "database" : "'${CRDB_DATABASE}'", "user" : "'${CRDB_USERNAME}'", "basicAuth": false, "isDefault": false, "jsonData" : { "sslmode" : "require", "postgresVersion" : 1100, "maxOpenConns" : 0, "maxIdleConns" : 2, "connMaxLifetime" : 14400, "tlsAuth" : false, "tlsAuthWithCACert" : false, "timescaledb" : false, "tlsConfigurationMethod": "file-path", "tlsSkipVerify" : true }, "secureJsonData": {"password": "'${CRDB_PASSWORD}'"} }' ${GRAFANA_URL_UPDATED}/api/datasources echo # adding the datasource of the metrics collection framework curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "access" : "proxy", "type" : "prometheus", "name" : "prometheus", "url" : "http://prometheus-k8s.monitoring.svc:9090", "basicAuth": false, "isDefault": false, "jsonData" : { "httpMethod" : "POST" } }' ${GRAFANA_URL_UPDATED}/api/datasources printf "\n\n" echo ">> Creating and staring dashboards..." Loading @@ -490,75 +484,68 @@ if [[ "$TFS_COMPONENTS" == *"webui"* ]]; then curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Not needed for the Hackfest ## Dashboard: Slice Grouping #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_db_slc_grps_psql.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-slice-grps" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Component RPCs #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_component_rpc.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-comp-rpc" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Device Drivers #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_driver.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-drv" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Service Handlers #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_service_handler.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-svc-hdlr" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Device Execution Details #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_exec_details.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-exec" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Load Generator Status #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_load_generator.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-loadgen-stats" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Not needed for the Hackfest ## Dashboard: Load Generator Status #curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_tfs_num_pods.json' \ # ${GRAFANA_URL_UPDATED}/api/dashboards/db #echo #DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-num-pods" #DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') #curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} #echo # Dashboard: Slice Grouping curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_db_slc_grps_psql.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-slice-grps" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Component RPCs curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_component_rpc.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-comp-rpc" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Device Drivers curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_driver.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-drv" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Service Handlers curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_service_handler.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-svc-hdlr" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Device Execution Details curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_device_exec_details.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-dev-exec" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Load Generator Status curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_load_generator.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-loadgen-stats" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo # Dashboard: Load Generator Status curl -X POST -H "Content-Type: application/json" -d '@src/webui/grafana_prom_tfs_num_pods.json' \ ${GRAFANA_URL_UPDATED}/api/dashboards/db echo DASHBOARD_URL="${GRAFANA_URL_UPDATED}/api/dashboards/uid/tfs-num-pods" DASHBOARD_ID=$(curl -s "${DASHBOARD_URL}" | jq '.dashboard.id') curl -X POST ${GRAFANA_URL_UPDATED}/api/user/stars/dashboard/${DASHBOARD_ID} echo printf "\n\n" fi