-
Notifications
You must be signed in to change notification settings - Fork 95
Update test case to set correct resource quota and work with multi-cluster setup #2264
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
base: main
Are you sure you want to change the base?
Update test case to set correct resource quota and work with multi-cluster setup #2264
Conversation
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux CentOS 7
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
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.
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
- Commit ID: 6bfbfc0
- Duration 3:29:10
- Result: ❌ FAILED
- Error:
Error while executing command: if $fail_test; then exit 1; fi. Reason: exit status 1
- Build Log terminal output (available for 30 days)
- Build Workspace zip file of the working directory (available for 30 days)
I fixed a few other things in the global coordination but I disabled it yet for the e2e testing and I will be working on the other failures in a new PR before enabling it again.
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
Result of fdb-kubernetes-operator-pr on Linux RHEL 9
|
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.
some minor things but overall LGTM
func (processGroupID ProcessGroupID) GetProcessClass() ProcessClass { | ||
tmp := strings.Split(string(processGroupID), "-") | ||
// The process class will always be the second last item, the last item is the ID number. | ||
return ProcessClass(tmp[len(tmp)-2]) |
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.
is this guaranteed to be 2 or more sections (i.e. is a dash guaranteed)?
endif | ||
# else | ||
# FEATURE_SYNCHRONIZATION_MODE="global" | ||
# endif |
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.
are we specifically testing this feature anywhere or waiting for some improvements?
// getAddressStringForIncludeAndExclude will return a string with addresses or localities that can be used for exclusion | ||
// or inclusion. If any of the addresses defines a port, it will be reset by this method to ensure the whole pod gets | ||
// excluded or included. | ||
func getAddressStringForIncludeAndExclude(addresses []fdbv1beta2.ProcessAddress) string { |
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.
nit: I feel like it would read a bit easier to rename this something more like getAddressStringsWithoutPorts
and explain the use in the docstring, my first instinct is "how is the address list used for both"?
var mapResult map[fdbv1beta2.ProcessGroupID][]string | ||
fdbClient.logger.V(1).Info("Fetching process addresses for global coordination in FDB", "prefix", prefix) | ||
defer func() { | ||
fdbClient.logger.V(1).Info("Done process addresses for global coordination in FDB", "prefix", prefix, "results", len(mapResult)) |
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.
fdbClient.logger.V(1).Info("Done process addresses for global coordination in FDB", "prefix", prefix, "results", len(mapResult)) | |
fdbClient.logger.V(1).Info("Done fetching process addresses for global coordination in FDB", "prefix", prefix, "results", len(mapResult)) |
@@ -139,13 +146,53 @@ func AllProcessesReadyForExclusion(logger logr.Logger, pendingProcessGroups map[ | |||
return readyProcessGroups, nil | |||
} | |||
|
|||
// GetAddressesFromCoordinationState will return the addresses based on the coordination state. If addresses should be included, the process address(es) are included and if localities should be included, the localities are included too. |
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.
If I'm understanding correctly I think this is clearer:
// GetAddressesFromCoordinationState will return the addresses based on the coordination state. If addresses should be included, the process address(es) are included and if localities should be included, the localities are included too. | |
// GetAddressesFromCoordinationState will return the addresses based on the coordination state. If addresses should be included, the process address(es) are included in the result, and if localities should be included, the localities are included in the result too. |
@@ -288,6 +364,19 @@ func UpdateGlobalCoordinationState(logger logr.Logger, cluster *fdbv1beta2.Found | |||
} | |||
} | |||
|
|||
addresses, ok := processAddresses[processGroup.ProcessGroupID] | |||
if !ok || len(addresses) == 0 { | |||
logger.V(1).Info("found process without process addresses, will be added", "processGroupID", processGroup.ProcessGroupID, "addresses", processGroup.Addresses) |
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.
it is not 100% clear from the message whether you are saying that the process address will be added to the process or that the process itself will be added to something
I would reword to something more like
"found process without process addresses, the process will be added to the coordination state"
same for the old process log message below
Description
Test case fix for multi-cluster coordination setup and reduce log level for multi-cluster coordination. Fixed some other minor bugs in the global coordination setup that I detected during debugging.
Type of change
Discussion
Testing
Ran some test manually.
Documentation
Follow-up