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

Run Automatically on OCIRepo Updates #392

Closed
rawkode opened this issue Jan 4, 2023 · 10 comments
Closed

Run Automatically on OCIRepo Updates #392

rawkode opened this issue Jan 4, 2023 · 10 comments
Labels
kind/enhancement Improvements or new features resolution/no-repro This issue wasn't able to be reproduced

Comments

@rawkode
Copy link
Contributor

rawkode commented Jan 4, 2023

Hello!

  • Vote on this issue by adding a 👍 reaction
  • If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

When using OCIRepo as a source, the operator should run updates whenever the OCIRepo has been updated.

When using a 5m sync on both OCIRepo and Stack, this can lead to 10m before Pulumi eventually runs the sync.

Affected area/feature

OCIRepo Source

@rawkode rawkode added kind/enhancement Improvements or new features needs-triage Needs attention from the triage team labels Jan 4, 2023
@squaremo
Copy link
Contributor

squaremo commented Jan 5, 2023

The operator should notice when a Flux source is updated, and queue Stacks that use it, after #348. Do you have evidence to suggest it's not working in this particular case (or in general!)?

For the OCIRepo, that's Flux's responsbility -- it's not clear to me from https://fluxcd.io/flux/components/notification/receiver/ whether you can set up a webhook receiver to poke an OCIRepo or not, but that's how you'd do better than polling.

@rawkode
Copy link
Contributor Author

rawkode commented Jan 5, 2023

Does the status of the Stack get updated to queued and/or running?

Perhaps I'm just not getting enough information to know that my stack update is happening

@thomas11 thomas11 removed the needs-triage Needs attention from the triage team label Jan 5, 2023
@squaremo
Copy link
Contributor

squaremo commented Jan 6, 2023

Does the status of the Stack get updated to queued and/or running?

The operator sets a condition Reconciling=True on the Stack object while it's running the stack (or if it failed a run and has requeued it to try again). Also: if you set the arg --zap-level=debug on the operator deployment you will get more in the logs about why it's running or not running a stack. It's a bit cryptic still but you may be able to interpret.

@rawkode
Copy link
Contributor Author

rawkode commented Jan 6, 2023

@squaremo Could we have k get stacks show that it is queued and running too, please?

@squaremo
Copy link
Contributor

squaremo commented Jan 6, 2023

Could we have k get stacks show that it is queued and running too, please?

Broadly, yes -- I agree that would be really useful.

There's no observable queued state, either the operator has seen it and it's running, or the operator hasn't seen it. There is a Reconciling=True (RetryingAfterFailure) condition that indicates it's been requeued, though.

I filed #396 for improving the output of kubectl get stack in the way you're suggesting.

@rawkode
Copy link
Contributor Author

rawkode commented Jan 6, 2023

Perfect. Thanks, @squaremo

@rawkode rawkode closed this as completed Jan 6, 2023
@pulumi-bot pulumi-bot reopened this Jan 6, 2023
@pulumi-bot
Copy link
Contributor

Cannot close issue without required labels: resolution/

@squaremo
Copy link
Contributor

squaremo commented Jan 6, 2023

I'm also happy to close this one (I'll sort out the labels to make pulumi-bot happy) -- do you want to make sure the operator works as expected with respect to OCIRepo objects, by looking at logs or conditions, though?

@rawkode
Copy link
Contributor Author

rawkode commented Jan 6, 2023

I'll update my logging parameters and confirm, but I suspect this issue can be closed.

I can re-open if I can confirm the behaviour is broken.

Thanks for your help

@squaremo squaremo added the resolution/no-repro This issue wasn't able to be reproduced label Jan 6, 2023
@squaremo
Copy link
Contributor

squaremo commented Jan 6, 2023

no-repro seems like the closest to "works for me" :-D

@squaremo squaremo closed this as completed Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Improvements or new features resolution/no-repro This issue wasn't able to be reproduced
Projects
None yet
Development

No branches or pull requests

4 participants