-
Notifications
You must be signed in to change notification settings - Fork 2
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
New feature: reservations #37
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fridim
force-pushed
the
GPTEINFRA-5361
branch
2 times, most recently
from
September 21, 2023 12:36
2676038
to
bf55569
Compare
Also cleanup formatting in 000.hurl
Update todo.org file
This commit includes: - Update to Go version 1.21 () - Consolidate then Kind of resource for AWS sandboxes. Use AwsSandbox Defensive programming: use all possibilities in switch cases. - Fix GetAccounts: do not specify manually all fields, as it's the default. - Fix GetAccounts which was limited to 10. Now it's using the argument 'count' properly - Add schema migration. There is a table 'reservations_events' to track any update/insert/delete so we keep full history of what happens. - It's possible to scale down a reservation.
Error: popen failure: Cannot allocate memory initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "/usr/lib/postgresql/15/bin/initdb" Keep using bullseye version of the image for now
Make sure workers consume local jobs first. Give a 2-second delay for non-local workers. They can claim after that delay if the job is still 'new' and available for pickup.
fridim
force-pushed
the
GPTEINFRA-5361
branch
from
September 26, 2023 15:28
bf55569
to
7b21a3c
Compare
* Add new endpoints and patch existing handlers. * Update functional tests * Update OpenAPI schema
As we'll onboard more accountprovider in the future, make it clear that is for Aws.
fridim
force-pushed
the
GPTEINFRA-5361
branch
from
September 28, 2023 14:54
08fb2e5
to
7c082dd
Compare
fridim
force-pushed
the
GPTEINFRA-5361
branch
from
September 28, 2023 15:39
0cb28d6
to
91ac6da
Compare
When reservation == "" (not specified)
fridim
force-pushed
the
GPTEINFRA-5361
branch
from
October 10, 2023 09:58
2c4effb
to
b85406c
Compare
Also set expire to 7 days instead of 1d
aleixhub
approved these changes
Oct 11, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See
GPTEINFRA-5361
Dedicated AWS Sandboxes for eventsUser story
As an OPS i want to be able to reserve AWS sandboxes for events (for example, Summit) in advance:
The selection of which reservation to use can happen in AgnosticV definition of the catalog items.
This change
Implementation of a new feature to be able to reserve resources.
Part of this change:
reservations
that has state of live reservation definitionsreservations_events
and associated triggers and SQL functions to track every modifications that happen on thereservations
tablesandbox-list
to display a new "reservation" columntemporary-
prefix to be explicit. Change expiration from 1 day to 7 days.Currently Postgresql channels in the sandbox-api don't have a concept of locality.
lifecycle_placement_jobs_status_channel
lifecycle_resource_jobs_status_channel
It means workers running on another cluster and listening to the same postgresql channel, can process it and do the work.
That would make troubleshooting very hard as one would have to listen to all the logs to understand the flow.
We fix this by implementing locality in the request channels so only workers from the originating pod are first allowed to process the requests. If they don't, after a while, any worker can claim the request.