Validate DHCP server status before reusing existing DHCP network #1933
Labels
area/provider/ibmcloud
Issues or PRs related to ibmcloud provider
kind/feature
Categorizes issue or PR as related to a new feature.
Milestone
/kind feature
/area provider/ibmcloud
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Today, If user sets spec.dhcpServer.name and while checking for network we assume that there might exist a network associated with the server. If the network exist we are simply considering it. Code ref: https://github.com/Karthik-K-N/cluster-api-provider-ibmcloud/blob/3eb2b524c65167565c595d01e475497b066ef22a/cloud/scope/powervs_cluster.go#L884-L891
The request is to validate the DHCP server status before considering the associated network.
Reconcile Network workflow
spec.DHCPserver.id is set - BUG, This case is not hanlded
Comments: Need to discuss what should be done on how to select network, may be expect network id to be set?
spec.DHCPServer.name is set
a. if spec.network.id is set - Fetch for network with id and use
Comments: DHCPServer name is ignored and network id got preference,
b. Try to find network with name DHCPSERVER<spec.DHCPServer.name>_Private and if found use
spec.DHCPServer.name is not set
a. if spec.network.id is set - Fetch for network with id and use
Comments: DHCPServer name is ignored and network id got preference,
*. if spec.network.name is set
a. Try to find network with name spec.network.name
*. if spec.network.name is not set
a. Try to find network with name DHCPSERVER<cluster_name>_Private and if found use
If the network is not found, Create DHCP server with name spec.DHCPServer.Name if set else with clustername
set both dhcpserverid and network id in status.
status.DHCPServer.id is set, then the dhcp server will be created by controller and status.network.id will also be set by controller
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
The text was updated successfully, but these errors were encountered: