diff --git a/jobs/config.json b/jobs/config.json index de4328485387..df0bfbe10c80 100644 --- a/jobs/config.json +++ b/jobs/config.json @@ -8068,27 +8068,6 @@ "sig-cluster-lifecycle" ] }, - "ci-kubernetes-e2e-mlkube-gke": { - "args": [ - "--charts", - "--check-leaked-resources", - "--deployment=gke", - "--extract=gke", - "--gcp-cloud-sdk=gs://cloud-sdk-testing/ci/staging", - "--gcp-node-image=gci", - "--gcp-project=mlkube-testing", - "--gcp-zone=us-central1-b", - "--gke-environment=prod", - "--mount-paths=$GOPATH/src/github.com/foxish/mlkube.io:/src/k8s.io/charts", - "--provider=gke", - "--test=false", - "--timeout=50m" - ], - "scenario": "kubernetes_e2e", - "sigOwners": [ - "sig-big-data" - ] - }, "ci-kubernetes-e2e-node-canary": { "args": [ "--deployment=node", diff --git a/prow/config.yaml b/prow/config.yaml index 463daaf38dcb..d3662b58ca5c 100644 --- a/prow/config.yaml +++ b/prow/config.yaml @@ -2489,6 +2489,31 @@ presubmits: hostPath: path: /mnt/disks/ssd0 + jlewi/mlkube.io: + - name: mlkube-build-presubmit + context: mlkube-build-presubmit + agent: kubernetes + always_run: true # Run for every PR, or only when requested. + rerun_command: "/test mlkube-build-presubmit" + trigger: "(?m)^/test( all| mlkube-build-presubmit),?(\\s+|$)" + branches: + - master + spec: + containers: + # TODO(jlewi): Replace latest with a specific tag once the images stabilize. + - image: gcr.io/mlkube-testing/builder:latest + env: + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/service-account/service-account.json + volumeMounts: + - name: service + mountPath: /etc/service-account + readOnly: true + volumes: + - name: service + secret: + secretName: service-account + postsubmits: kubernetes/kubernetes: - name: ci-kubernetes-bazel-build @@ -3263,6 +3288,26 @@ postsubmits: secret: secretName: service-account + jlewi/mlkube.io: + - name: mlkube-build-postsubmit + agent: kubernetes + branches: + - master + spec: + containers: + # TODO(jlewi): Replace latest with a specific tag once the images stabilize. + - image: gcr.io/mlkube-testing/builder:latest + env: + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/service-account/service-account.json + volumeMounts: + - name: service + mountPath: /etc/service-account + readOnly: true + volumes: + - name: service + secret: + secretName: service-account periodics: - interval: 1h @@ -15700,40 +15745,6 @@ periodics: defaultMode: 256 secretName: aws-cred -- interval: 30m - agent: kubernetes - name: ci-kubernetes-e2e-mlkube-gke - spec: - containers: - - args: - - --timeout=70 - - --repo=github.com/foxish/mlkube.io - env: - - name: GOOGLE_APPLICATION_CREDENTIALS - value: /etc/service-account/service-account.json - - name: USER - value: prow - - name: JENKINS_GCE_SSH_PRIVATE_KEY_FILE - value: /etc/ssh-key-secret/ssh-private - - name: JENKINS_GCE_SSH_PUBLIC_KEY_FILE - value: /etc/ssh-key-secret/ssh-public - image: gcr.io/k8s-testimages/kubekins-e2e:v20171011-8265ed12-master - volumeMounts: - - mountPath: /etc/service-account - name: service - readOnly: true - - mountPath: /etc/ssh-key-secret - name: ssh - readOnly: true - volumes: - - name: service - secret: - secretName: service-account - - name: ssh - secret: - defaultMode: 256 - secretName: ssh-key-secret - - name: ci-kubernetes-e2e-node-canary interval: 1h agent: kubernetes @@ -17240,6 +17251,25 @@ periodics: secret: secretName: velodrome-influxdb +- interval: 8h + agent: kubernetes + name: mlkube-build-periodic + spec: + containers: + # TODO(jlewi): Replace latest with a specific tag once the images stabilize. + - image: gcr.io/mlkube-testing/builder:latest + env: + - name: GOOGLE_APPLICATION_CREDENTIALS + value: /etc/service-account/service-account.json + volumeMounts: + - name: service + mountPath: /etc/service-account + readOnly: true + volumes: + - name: service + secret: + secretName: service-account + - name: periodic-kubernetes-bazel-build-1-6 interval: 2h agent: kubernetes diff --git a/prow/config/jobs_test.go b/prow/config/jobs_test.go index 5443e8c1cdcf..4252e31dfe8e 100644 --- a/prow/config/jobs_test.go +++ b/prow/config/jobs_test.go @@ -143,8 +143,6 @@ func TestPresubmits(t *testing.T) { job.Name = strings.Replace(job.Name, "pull-security-kubernetes", "pull-kubernetes", 1) if j, present := bootstrapConfig[job.Name]; present { scenario = fmt.Sprintf("scenarios/%s.py", j.Scenario) - } else { - scenario = fmt.Sprintf("jobs/%s.sh", job.Name) } // Ensure that jobs have a shell script of the same name. diff --git a/prow/plugins.yaml b/prow/plugins.yaml index 931c9013a0f5..714ead64a28b 100644 --- a/prow/plugins.yaml +++ b/prow/plugins.yaml @@ -8,6 +8,7 @@ triggers: - kubernetes-incubator - kubernetes-security - google/cadvisor + - jlewi/mlkube.io trusted_org: kubernetes heart: @@ -88,6 +89,9 @@ plugins: kubernetes-security/kubernetes: - trigger + jlewi/mlkube.io: + - trigger + spxtr/envoy: - assign - close diff --git a/testgrid/config/config.yaml b/testgrid/config/config.yaml index add5609a4abd..d227be766c87 100644 --- a/testgrid/config/config.yaml +++ b/testgrid/config/config.yaml @@ -1535,8 +1535,12 @@ test_groups: gcs_prefix: kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-gci-master-gci-new-downgrade-cluster-parallel - name: ci-kubernetes-e2e-gke-gci-new-gci-master-upgrade-cluster-new gcs_prefix: kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-gci-new-gci-master-upgrade-cluster-new -- name: ci-kubernetes-e2e-mlkube-gke - gcs_prefix: kubernetes-jenkins/logs/ci-kubernetes-e2e-mlkube-gke +- name: mlkube-build-periodic + gcs_prefix: kubernetes-jenkins/logs/mlkube-build-periodic +- name: mlkube-build-presubmit + gcs_prefix: kubernetes-jenkins/logs/mlkube-build-presubmit +- name: mlkube-build-postsubmit + gcs_prefix: kubernetes-jenkins/logs/mlkube-build-postsubmit # kube-proxy daemonset migration jobs - name: ci-kubernetes-e2e-gci-gce-latest-downgrade-kube-proxy-ds gcs_prefix: kubernetes-jenkins/logs/ci-kubernetes-e2e-gci-gce-latest-downgrade-kube-proxy-ds @@ -3081,8 +3085,6 @@ dashboards: dashboard_tab: - name: charts-gce test_group_name: ci-kubernetes-charts-gce - - name: mlkube-gke - test_group_name: ci-kubernetes-e2e-mlkube-gke - name: perf-tests dashboard_tab: @@ -3540,12 +3542,15 @@ dashboards: - name: sig-big-data dashboard_tab: - - name: mlkube-gke - description: what does this tab do exactly - test_group_name: ci-kubernetes-e2e-mlkube-gke - notifications: - - summary: Please configure this skeleton dashboard and remove this notification - context_link: https://github.com/kubernetes/test-infra/tree/master/testgrid/config + - name: mlkube-build-periodic + description: Periodic builds and testing of TfJob CRD at head running on stable GKE. + test_group_name: mlkube-build-periodic + - name: mlkube-build-postsubmit + description: Postsubmit tests of TfJob CRD running on stable GKE. + test_group_name: mlkube-build-postsubmit + - name: mlkube-build-presubmit + description: Presubmit tests of TfJob CRD running on stable GKE. + test_group_name: mlkube-build-presubmit - name: sig-autoscaling dashboard_tab: diff --git a/testgrid/jenkins_verify/jenkins_validate.go b/testgrid/jenkins_verify/jenkins_validate.go index 72f3cccb524f..392a4ccb8365 100644 --- a/testgrid/jenkins_verify/jenkins_validate.go +++ b/testgrid/jenkins_verify/jenkins_validate.go @@ -76,7 +76,7 @@ func main() { } // Also check k/k presubmit, prow postsubmit and periodic jobs - for _, job := range prowConfig.AllPresubmits([]string{"kubernetes/kubernetes"}) { + for _, job := range prowConfig.AllPresubmits([]string{"jlewi/mlkube.io", "kubernetes/kubernetes"}) { jobs[job.Name] = false }