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

(WIP) [Bug Report] (zookeeper-operator) external field in zookeeper adminServerService does not update #87

Closed
kevin85421 opened this issue May 15, 2022 · 3 comments

Comments

@kevin85421
Copy link
Contributor

kevin85421 commented May 15, 2022

The root cause is very similar to #81, but the solution is a bit different. I will finish this bug report next week.


[Update]

I found this is not a bug. The field external in the function makeService (link) is used to update service type.

if external {
    service.Spec.Type = v1.ServiceTypeLoadBalancer
}

The function SyncService (link)will copy "Spec.Type", and thus the service type will be updated.

// SyncService synchronizes a service with an updated spec and validates it
func SyncService(curr *v1.Service, next *v1.Service) {
	curr.Spec.Ports = next.Spec.Ports
	curr.Spec.Type = next.Spec.Type
}
@tianyin
Copy link
Member

tianyin commented May 15, 2022

woah this bug is found during the final report run? :P

@kevin85421
Copy link
Contributor Author

@tianyin It was found before. The root cause of #81 will cause the same effects to all fields under adminServerService/ clientService/ headlessService. To elaborate, clientService and headlessService only have one field annotations, and adminServerService has two fields, annotations and external.

If there is an existing service, the above fields will not be updated (BUG: it should be updated). If we delete the existing service, the operator will recreate the services with the correct specifications.

The annotations bug for three services can be addressed by the solution mentioned in #81. However, the external bug for adminServerService should be solved in another method. That's why we define these bugs with the same root cause into two bug categories.

Acto should generate test cases which mutate the external field, but it did not due to some bugs in Acto. Tyler has fixed these Acto bugs recently, and Acto will generate the external related test cases. We will use the new test cases to write a detailed bug report next week. Currently, we are working on CS598 final report.

@tylergu tylergu added the bug Something isn't working label May 19, 2022
@kevin85421
Copy link
Contributor Author

@tylergu I have updated the issue description. I found it is not a bug. Sorry for the misunderstanding. If you read the updated issue description, feel free to close this issue.

@tylergu tylergu closed this as completed May 20, 2022
@tylergu tylergu removed the bug Something isn't working label May 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants