Untitled
setup_rbac() { log "Setting up RBAC for RunAI resources..." # Create ClusterRole for RunAI resources cat <<EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: runai-admin rules: - apiGroups: ["run.ai"] resources: ["*"] verbs: ["*"] - apiGroups: [""] resources: ["namespaces", "pods", "services", "configmaps", "secrets"] verbs: ["*"] EOF # Create ClusterRoleBinding cat <<EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: runai-admin-binding subjects: - kind: User name: "abshah@coupang.com" apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: runai-admin apiGroup: rbac.authorization.k8s.io EOF # Wait for RBAC setup to propagate sleep 5 } # Main execution main() { trap cleanup EXIT log "Starting DGX test environment setup..." # Initial setup setup_kubernetes start_mysql initialize_database setup_rbac # Add RBAC setup before CRDs install_crds # Make sure CRDs are installed start_application # Export the token from kubeconfig export RUNAI_TOKEN=$(kubectl config view --minify --flatten -o jsonpath='{.users[0].user.auth-provider.config.id-token}') # Run tests test_dgx_resources # Print results log "=== Test Summary ===" log "Total Tests: $TOTAL_TESTS" log "Passed: $PASSED_TESTS" log "Failed: $FAILED_TESTS" log "Log file: $LOG_FILE" # Exit with failure if any tests failed [ $FAILED_TESTS -eq 0 ] || exit 1 }
Leave a Comment