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

Add IPPool and LoadBalancer resources #102

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

m-ildefons
Copy link
Contributor

WORK IN PROGRESS, DO NOT MERGE

This is work in progress for adding IPPool and LoadBalancer resources to the Harvester Terraform provider. These resources are defined in the harvester-load-balancer package.
The goal is to add the ability to manage these resources to the Terraform provider, as well as documentation and tests.

The current status is that most of the data structures and scaffolding is in place, but the functionality is only partially implemented.

related-to: harvester/harvester#4813
related-to: harvester/harvester#4814

@m-ildefons m-ildefons added the enhancement New feature or request label Aug 13, 2024
@m-ildefons m-ildefons self-assigned this Aug 13, 2024
Enable tests, add test scaffolding for IPPool resource, speed up
compilation

Signed-Off-By: Moritz Roehrich <[email protected]>
More functionality, especially around the LoadBalancer resource

Signed-off-by: Moritz Röhrich <[email protected]>
@bk201
Copy link
Member

bk201 commented Aug 23, 2024

@m-ildefons I add the 1.5.0 milestone to the related issues. The change in terraform is not tied to 1.4 or 1.5 since there is no required feature to be implemented on the Harvester side.

Signed-off-by: Moritz Röhrich <[email protected]>
Fix delete procedure for volume resource. Upon deletion, the volume
(PVC) does not produce a usable event. Thus watching the K8s resource
for state change will never yeild the expected result. As a consequence
the Terraform provider will eventually time-out and produce an error.
The fix is to watch for a resource state change instead of an event.
This will propagate the deletion of the resource appropriately and the
Terraform provider will succeed with the deletion.

Signed-off-by: Moritz Röhrich <[email protected]>
Fix VM Network and Storage Class tests

Signed-off-by: Moritz Röhrich <[email protected]>
Add negative test cases for IPPool and LoadBalancer resources. This
ensures that if mandatory parameters are not given, the program exits
with an appropriate error.

Signed-off-by: Moritz Röhrich <[email protected]>
Add acceptance tests for VirtualMachine labels (tags) and LoadBalancer
resources. The labeling/tagging mechnism is crucial for these tests to
work, since a LoadBalancer is required by the admission webhook to have
at least one VM that matches its selectors.

Also improve documentation.

Signed-off-by: Moritz Röhrich <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants