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

Cluster definition job settings #1867

Closed
5 tasks done
jefflill opened this issue Nov 11, 2023 · 1 comment
Closed
5 tasks done

Cluster definition job settings #1867

jefflill opened this issue Nov 11, 2023 · 1 comment
Assignees
Labels
debt Engineering debt perf Perfomance related

Comments

@jefflill
Copy link
Collaborator

jefflill commented Nov 11, 2023

We should have a place in the cluster definition where the users can configure non-default job schedules.

I'm going to do this by adding a top-level Jobs property with individual schedules for the specific operations. We're currently persisting this as the V1NeonClusterOperator resource. I'm going to refactor this a bit:

  • Renaming this to V1NeonClusterJobs. The idea here is to globalize this setting so its not specifically tied to the neon-cluster-operator, even though that's who is handling these right now.
  • Renamed the schedule properties to clarify what they do.
  • Removed the cluster setup step where we temporarily special case the Harbor push schedule and then wait for the push to complete. This simplifies the logic and will speed up setup of non-desktop clusters. I don't really think waiting this for this during cluster setup is actually that useful anyway. The only place I can think of is that when we implement cluster scaling, we'll need to make sure that new nodes have the required cluster images be loaded pinned into CRI-O. These are already configured in our node images, so we should be good-to-go.
  • Extend the Quartz CRON schedule to allow randomized times for various fields. I'm going to add support for the "R" character in the second, minute, and hour fields. So for seconds and minutes this will set a random value between 0..59 and 0..23 for hours. The rationale is that the telemetry ping as currently implemented will have all user clusters transmit their pings at exactly 12am UTC which will be a problem long term. After this change, we set the telemetry ping schedule to R R 0 ? * * which will select a random time between 12:00am-12:59:00am UTC.
  • We'll continue to disable Harbor push for DESKTOP clusters.
@jefflill jefflill self-assigned this Nov 11, 2023
@jefflill jefflill added debt Engineering debt perf Perfomance related and removed perf Perfomance related labels Nov 11, 2023
@jefflill
Copy link
Collaborator Author

DONE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
debt Engineering debt perf Perfomance related
Projects
None yet
Development

No branches or pull requests

1 participant