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

runner gcp firewall quota #604

Open
dacbd opened this issue Jun 6, 2022 · 9 comments
Open

runner gcp firewall quota #604

dacbd opened this issue Jun 6, 2022 · 9 comments
Labels
cloud-gcp Google Cloud p2-nice-to-have Low priority resource-runner iterative_runner TF resource

Comments

@dacbd
Copy link
Contributor

dacbd commented Jun 6, 2022

This is could be applicable for the other providers but using gcp I received a "Quota 'FIREWALLS' exceeded. Limit: 100.0 globally." Should we query the API for an existing iterative / cml-qwerty ingress/egress rules to reuse before creating new ones?

ref; https://github.com/iterative/terraform-provider-iterative/blob/master/iterative/gcp/provider.go#L142

perhaps not prefixing with the instance name but something more generic can be the fix?

@dacbd dacbd added cloud-gcp Google Cloud resource-runner iterative_runner TF resource p2-nice-to-have Low priority labels Jun 6, 2022
@0x2b3bfa0
Copy link
Member

Duplicate of / related to: #289

@dacbd dacbd changed the title runner runner gcp firewall quota Jun 6, 2022
@dacbd
Copy link
Contributor Author

dacbd commented Jun 6, 2022

Duplicate of / related to: #289

Different but related

@0x2b3bfa0
Copy link
Member

Potentially related to #156 (comment)

@dacbd
Copy link
Contributor Author

dacbd commented Jun 6, 2022

@0x2b3bfa0 what do you think of:

perhaps not prefixing with the instance name but something more generic can be the fix?

@0x2b3bfa0
Copy link
Member

0x2b3bfa0 commented Jun 20, 2022

Does that imply that the first run would create a firewall with a generic name (e.g. cml) and susequent runs would just reuse it? It's similar to what we do on AWS (create & reuse a security group) but it's rather controversial for sane use cases.

It would be creating resources and leaving them unmanaged; the only way of deleting them is knowing what to delete and ClickOps or CLIOps.

Anyway, yes, it's possible, and no worse than what we already have on AWS.

@0x2b3bfa0
Copy link
Member

Sorry for the late reply, my radar was stuck. 📡

@dacbd
Copy link
Contributor Author

dacbd commented Jun 20, 2022

it's rather controversial for sane use cases.

can you elaborate? maybe its time for a more agnostic aws-security-group?

It would be creating resources and leaving them unmanaged;

It's already doing that, but this would make less of them.

@0x2b3bfa0
Copy link
Member

can you elaborate?

Sure! I mean that we're creating resources that are being left unmanaged: cml runner is both responsible for ephemeral and long-lived resources, but has no means of managing the latter.

maybe it's time for a more agnostic aws-security-group?

Do you mean exposing a way of importing existing resources on all the supported backends? That would be great, in my opinion.

It's already doing that, but this would make less of them.

Yes, it is. 🙈 Although not by design, just because of the bug described on #156 (comment).

@0x2b3bfa0
Copy link
Member

0x2b3bfa0 commented Jun 20, 2022

(Tangential food for thought: while it comes with its own set of issues,1 the approach suggested by the autoscaling with self-hosted runners GitHub documentation seems more solid in the long run, although the initial setup requires an extra step2)

Footnotes

  1. Not all runner solutions remove themselves after they have been deleted, which can be problematic, especially, if combined aith auto-scaling capabilities.

  2. Id est, either Terraform or “one-click deployment buttons” as provided by Amazon Web Services, Microsoft Azure or Google Cloud.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cloud-gcp Google Cloud p2-nice-to-have Low priority resource-runner iterative_runner TF resource
Projects
None yet
Development

No branches or pull requests

2 participants