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

IPAM: add support for ippool #2958

Merged
merged 2 commits into from
Jun 25, 2023
Merged

IPAM: add support for ippool #2958

merged 2 commits into from
Jun 25, 2023

Conversation

zhangzujian
Copy link
Member

@zhangzujian zhangzujian commented Jun 19, 2023

What type of this PR

  • Feature

Which issue(s) this PR fixes:

Fixes #(issue-number)

WHAT

🤖 Generated by Copilot at 0fa880d

This pull request adds a new IPPool resource type to the kube-ovn API, which represents a pool of IP addresses that can be allocated to pods or other resources. It also refactors the condition types for various resources to use a common Condition type. It updates the controller, the clientset, the informers, the listers, the charts, and the workflow to support the new resource and the refactored types.

🤖 Generated by Copilot at 0fa880d

Oh we are the kube-ovn crew, and we have a job to do
We'll add a new IPPool type, and make the code more tight
Heave away, me hearties, heave away
On the count of three, we'll push the PR and sail the IPAM sea

HOW

🤖 Generated by Copilot at 0fa880d

  • Increase the timeout-minutes for the build-x86-image workflow to avoid premature cancellation (link)
  • Add a new IPPool resource type for managing a pool of IP addresses (link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link)
  • Refactor the condition types for various resources to use a generic Condition type (link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link)
  • Add a new key mutex field to the Controller type for synchronizing access to the IPPool resources (link)
  • Initialize the informer, lister, and work queues for the IPPool resources in the Run function of the Controller type (link, link, link)
  • Use the numKeyLocks constant for the npKeyMutex field of the Controller type (link)
  • Shut down the work queues for the IPPool resources in the shutdown function of the Controller type (link)
  • Add worker functions to process the IPPool resources from the work queues in the startWorkers function of the Controller type (link, link)
  • Initialize the IPAM module with the existing IPPool resources in the InitIPAM function of the Controller type (link)
  • Use the podNet.Subnet.Name field instead of the pod annotation for the subnet variable in the InitIPAM function of the Controller type (link)

@zhangzujian zhangzujian added the feature New network feature label Jun 19, 2023
@zhangzujian zhangzujian force-pushed the ippool branch 3 times, most recently from 34d5025 to be1c807 Compare June 19, 2023 13:05
@zhangzujian
Copy link
Member Author

@oilbeater Please review. Test cases will be added later.

pkg/apis/kubeovn/v1/condition.go Outdated Show resolved Hide resolved
pkg/controller/controller.go Show resolved Hide resolved
pkg/controller/ippool.go Outdated Show resolved Hide resolved
@zhangzujian zhangzujian merged commit 27685a1 into kubeovn:master Jun 25, 2023
@zhangzujian zhangzujian deleted the ippool branch June 25, 2023 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New network feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants