Untitled

 avatar
unknown
plain_text
a month ago
1.6 kB
4
Indexable
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