kubernetes / cloud-provider-openstack

Apache License 2.0
599 stars 597 forks source link

[occm] - add annotation for custom octavia listener tags #2580

Open dd-georgiev opened 2 months ago

dd-georgiev commented 2 months ago

Added support for new annotation which provides the ability to add tags when the load balancer is created. Those tags affect the load balancer and the listener. The rest of the resources are not tagged

What this PR does / why we need it: https://github.com/kubernetes/cloud-provider-openstack/issues/2327

Special notes for reviewers:

  1. As far as I understood(based on Slack conversation) this functionality will be expanded. That is more features will be added.
  2. Testing notes - There is e2e test, but basically adding the annotation specified in the docs, must result in having one or multiple tags on the load balancer and listener resource in openstack.
  3. No extra validation is done, as the openstack document doesn't mention any excluded chars(as far as I managed to understand). There is edge-case mentioned in the openstack docs, but I don't think they apply for the LB resources. Namely:

    Filtering resources with a tag whose name contains a comma is not supported. Thus, do not put such a tag name to resources. Source: https://docs.openstack.org/mitaka/networking-guide/ops-resource-tags.html#limitations

But I don't think this will impact us, since "," is used to split the tags. Hence tag containing "," cannot exist. I didn't document this behavior as it fells like common sense. Also the docs are coming from the Mitaka project.

  1. I'm not sure if this change is big enough for release notes, but I can add them if necessary

Release note:

NONE
linux-foundation-easycla[bot] commented 2 months ago

CLA Signed


The committers listed above are authorized under a signed CLA.

k8s-ci-robot commented 2 months ago

Welcome @dd-georgiev!

It looks like this is your first PR to kubernetes/cloud-provider-openstack 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/cloud-provider-openstack has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. :smiley:

k8s-ci-robot commented 2 months ago

Hi @dd-georgiev. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
k8s-ci-robot commented 2 months ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign dulek for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/kubernetes/cloud-provider-openstack/blob/master/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
dulek commented 2 months ago

/ok-to-test

dulek commented 2 months ago

Okay, so this needs a release note announcing the feature, that's for sure.

dd-georgiev commented 2 months ago

I've converted this into draft. Reason being I'm working on the extended requirement to support the ability to change the tags when the annotation is changed. This functionality will require changes to this code as well.

k8s-ci-robot commented 1 month ago

PR needs rebase.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.