Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request: project information needed for ingress-gce jobs when migrating to k8s-infra-prow-build cluster #31757

Closed
sawsa307 opened this issue Jan 29, 2024 · 15 comments
Labels
sig/k8s-infra Categorizes an issue or PR as relevant to SIG K8s Infra. sig/testing Categorizes an issue or PR as relevant to SIG Testing.

Comments

@sawsa307
Copy link
Contributor

Currently, in our e2e job we need a GCP project for two purposes:

  1. We build an image based on the PR that triggers it, and push and store it temporary in the project https://github.com/kubernetes/ingress-gce/blob/master/hack/run-e2e-gce.sh#L58.
  2. We need project information from /etc/gce.conf to start our controller, but it is unclear that if it still exists after migrating to use k8s-infra-prow-build cluster.
@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Jan 29, 2024
@sawsa307
Copy link
Contributor Author

sawsa307 commented Jan 29, 2024

cc @swetharepakula

@k8s-ci-robot k8s-ci-robot added sig/k8s-infra Categorizes an issue or PR as relevant to SIG K8s Infra. sig/testing Categorizes an issue or PR as relevant to SIG Testing. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Jan 29, 2024
@sawsa307
Copy link
Contributor Author

/sig k8s-infra
/sig testing

@sawsa307
Copy link
Contributor Author

@rjsadow @ameukam

@ameukam
Copy link
Member

ameukam commented Jan 29, 2024

We build an image based on the PR that triggers it, and push and store it temporary in the project https://github.com/kubernetes/ingress-gce/blob/master/hack/run-e2e-gce.sh#L58.

The service account used in the community infra should be able to build and push after the migration. what's the existing configuration for the GCR service ?

We need project information from /etc/gce.conf to start our controller, but it is unclear that if it still exists after migrating to use k8s-infra-prow-build cluster.

I think this is created during the job execution unless the clusters used for the tests are not cleaned up when the tests are done.

@ameukam
Copy link
Member

ameukam commented Jan 29, 2024

We also need to drop the project type: https://github.com/kubernetes/ingress-gce/blob/5a636516043dd4fbdb56e905d4814771e2d6d44e/hack/boskos.sh#L25

Boskos will provide a gce project for the tests.

@sawsa307
Copy link
Contributor Author

We also need to drop the project type: https://github.com/kubernetes/ingress-gce/blob/5a636516043dd4fbdb56e905d4814771e2d6d44e/hack/boskos.sh#L25

Boskos will provide a gce project for the tests.

Yes I'll include this as part of the clean up.

@sawsa307
Copy link
Contributor Author

sawsa307 commented Jan 29, 2024

The service account used in the community infra should be able to build and push after the migration. what's the existing configuration for the GCR service ?

The permission should not be a problem. My concern is more about which path we should push to? Is it okay we use gcloud config get project to get project and use `gcr.io/$GCLOUD_PROJECT" as image path here?

I think this is created during the job execution unless the clusters used for the tests are not cleaned up when the tests are done.

Got it, so it should not be a problem. Thanks!

@ameukam
Copy link
Member

ameukam commented Jan 30, 2024

The permission should not be a problem. My concern is more about which path we should push to? Is it okay we use gcloud config get project to get project and use `gcr.io/$GCLOUD_PROJECT" as image path here?

GCR service is enabled for all the projects in the boskos. For a community-owned boskos project, some images are already pushed:

gcloud container images list --project k8s-infra-e2e-boskos-002
NAME
gcr.io/k8s-infra-e2e-boskos-002/cloud-controller-manager
gcr.io/k8s-infra-e2e-boskos-002/gcp-filestore-csi-driver
gcr.io/k8s-infra-e2e-boskos-002/gcp-persistent-disk-csi-driver
gcr.io/k8s-infra-e2e-boskos-002/local-volume-provisioner
gcr.io/k8s-infra-e2e-boskos-002/vpa-admission-controller
gcr.io/k8s-infra-e2e-boskos-002/vpa-admission-controller-amd64
gcr.io/k8s-infra-e2e-boskos-002/vpa-recommender
gcr.io/k8s-infra-e2e-boskos-002/vpa-recommender-amd64
gcr.io/k8s-infra-e2e-boskos-002/vpa-updater
gcr.io/k8s-infra-e2e-boskos-002/vpa-updater-amd64

@sawsa307
Copy link
Contributor Author

sawsa307 commented Feb 2, 2024

The permission should not be a problem. My concern is more about which path we should push to? Is it okay we use gcloud config get project to get project and use `gcr.io/$GCLOUD_PROJECT" as image path here?

GCR service is enabled for all the projects in the boskos. For a community-owned boskos project, some images are already pushed:

gcloud container images list --project k8s-infra-e2e-boskos-002
NAME
gcr.io/k8s-infra-e2e-boskos-002/cloud-controller-manager
gcr.io/k8s-infra-e2e-boskos-002/gcp-filestore-csi-driver
gcr.io/k8s-infra-e2e-boskos-002/gcp-persistent-disk-csi-driver
gcr.io/k8s-infra-e2e-boskos-002/local-volume-provisioner
gcr.io/k8s-infra-e2e-boskos-002/vpa-admission-controller
gcr.io/k8s-infra-e2e-boskos-002/vpa-admission-controller-amd64
gcr.io/k8s-infra-e2e-boskos-002/vpa-recommender
gcr.io/k8s-infra-e2e-boskos-002/vpa-recommender-amd64
gcr.io/k8s-infra-e2e-boskos-002/vpa-updater
gcr.io/k8s-infra-e2e-boskos-002/vpa-updater-amd64

Oh thats great! I think this matches our expectation.
Currently, we rent a boskos project of type ingress-project using POST API with Curl https://github.com/kubernetes/ingress-gce/blob/master/hack/boskos.sh#L25-L27. Do you know the proper project type if we want to use k8s-infra-e2e-boskos-002 as boskos project or any guide on the process? Thank you!

@ameukam
Copy link
Member

ameukam commented Feb 2, 2024

@sawsa307 Already mentioned you can drop the project type. Boskos will provide a project.

@sawsa307
Copy link
Contributor Author

sawsa307 commented Feb 2, 2024

https://github.com/kubernetes/ingress-gce/blob/5a636516043dd4fbdb56e905d4814771e2d6d44e/hack/boskos.sh#L25

Oh sorry I misread, I thought you were talking about getting rid of project type here.

You can drop the project type. Boskos will provide a project.

Currently we are doing boskos project rental ourselves, and then do kubernetes_e2e.py to run our e2e tests.
The project type is a required part of the project rental URL. When you say "drop" the project type, do you mean we do gce-project as the project type?

@ameukam
Copy link
Member

ameukam commented Feb 5, 2024

Currently we are doing boskos project rental ourselves, and then do kubernetes_e2e.py to run our e2e tests.
The project type is a required part of the project rental URL. When you say "drop" the project type, do you mean we do gce-project as the project type?

Yes. The type gce-project exists also in the community infrastructure.

@ameukam
Copy link
Member

ameukam commented Feb 9, 2024

@sawsa307 Any update about this ?

@sawsa307
Copy link
Contributor Author

sawsa307 commented Feb 9, 2024

We don’t see any errors in our presubmit after migration so we should be good! Closing this issue, thanks for the help!

@sawsa307 sawsa307 closed this as completed Feb 9, 2024
@sawsa307
Copy link
Contributor Author

sawsa307 commented Feb 9, 2024

I also added a note under #31789 to mark this as done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/k8s-infra Categorizes an issue or PR as relevant to SIG K8s Infra. sig/testing Categorizes an issue or PR as relevant to SIG Testing.
Projects
None yet
Development

No branches or pull requests

3 participants