-
Notifications
You must be signed in to change notification settings - Fork 253
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
Basic cluster reconciler #150
Basic cluster reconciler #150
Conversation
Needs a rebase and minor change when #136 is in. |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chaosaffe, chrigl The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Added ports for subnets to router Implemented cluster update Replaced glog by klog Changed usage of NetworService Now Reconcile creates an instance of NetworkService on each run. So in theory it will be possible to configure OS-Credentials per cluster. Added router to ClusterStatus Changed to only one Router Resynced Gopkg.lock Improved logs Reconciling of networks now log the default log level Added Docs to ClusterStatus.Network Recreated zz_generated with new types
58aa174
to
eccdacc
Compare
Huge rebase necessary because of 136. But everything works now. |
At the current point in time, we don't need multiple subnets, and we are not even able to configure them. Beside this, I refactored the reconciling code to return network, subnet and router instead of manipulating pointer data.
See also kubernetes-retired/kubefed#208 (comment) We don't need the clientset_generated any more.
/lgtm |
* Basic implementation of creating networks Added ports for subnets to router Implemented cluster update Replaced glog by klog Changed usage of NetworService Now Reconcile creates an instance of NetworkService on each run. So in theory it will be possible to configure OS-Credentials per cluster. Added router to ClusterStatus Changed to only one Router Resynced Gopkg.lock Improved logs Reconciling of networks now log the default log level Added Docs to ClusterStatus.Network Recreated zz_generated with new types * Migrated to params of PR 136 * removed unneeded line * Updated Network to only hold a single subnet At the current point in time, we don't need multiple subnets, and we are not even able to configure them. Beside this, I refactored the reconciling code to return network, subnet and router instead of manipulating pointer data. * Removed unneeded clusterclient in favor of runtime.Client See also kubernetes-retired/kubefed#208 (comment) We don't need the clientset_generated any more. * Fixed typos, re-ordered fields
What this PR does / why we need it:
Implemented basic cluster reconciler. When a
Cluster.NodeCIDR
and aCluster.ExternalNetworkID
are configured, the cluster reconciler creates an OpenStack Network with an associated Subnet (this will hold the IP range). Additionally an OpenStack router will be create, and attached to the just created Subnet as well as theExternalNetworkID
to get public internet to the VMs. All of the created components are stored inOpenstackClusterProviderStatus
.With this, we are able to change the machine actuator to use the Network from
Cluster.Status.ProviderSpec.Network
. It could be still possible to configure networks on Machine bases.This code does not interfere with current cluster creation. If there is no network configuration on the cluster, the cluster actuator only is a noop as before.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #106
Special notes for your reviewer:
In order to test use this image:
chrigl/openstack-cluster-api-controller:latest
Release note: