Code Monkey home page Code Monkey logo

cluster-api-provider-vsphere-static-ip's People

Contributors

abhinavnagaraj avatar roshanirathi avatar sadysnaat avatar spectro-prow avatar zulfilee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cluster-api-provider-vsphere-static-ip's Issues

Reclaiming Static IP

How is Spectrocloud static IP controller project reclaiming IP addresses when CAPV deletes machines.

From the code it seems like the delete ipclaim isn't called.

// releases static ip back to the ip pool
DeallocateIP(name string, pool IPPool, ownerObj runtime.Object) error

func (m Metal3IPAM) DeallocateIP(name string, pool ipam.IPPool, ownerObj runtime.Object) error {
return nil
}

Can you please share your thoughts on this.

IPClaim is associated with incorrect IPPool when multiple IPPools exist within namespace

During deployment of a CAPV cluster, cluster-api-provider-vsphere-static-ip consistently associates control plane machine IPClaims with the specified cluster.x-k8s.io/ip-pool-name. Worker node MachineDeployments, however are associated with seemingly random IPPools that happen to exist within the same management cluster namespace default.

Example of incorrect IPClaim to IPPool association for a MachineDeployment VSphereMachineTemplate below:

IPPool for cluster: ts-kubeflow-sac-prod (target of machine template)

apiVersion: ipam.metal3.io/v1alpha1
kind: IPPool
metadata:
  name: ip-pool-ts-kubeflow-sac-prod
  namespace: default
spec:
  clusterName: ts-kubeflow-sac-prod
...

IPPool for cluster: ts-kubeflow-rck-dev (different cluster and not the desired target)

apiVersion: ipam.metal3.io/v1alpha1
kind: IPPool
metadata:
  name: ip-pool-ts-kubeflow-rck-dev
  namespace: default
spec:
  clusterName: ts-kubeflow-rck-dev
...

vSphereMachineTemplate used within cluster: ts-kubeflow-sac-prod

apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: VSphereMachineTemplate
metadata:
  name: ts-kubeflow-sac-prod-md1-v1
  namespace: default
  labels:
    cluster.x-k8s.io/ip-pool-name: ip-pool-ts-kubeflow-sac-prod
...

IPClaim associated with incorrect IPPool at spec/pool/name:

apiVersion: ipam.metal3.io/v1alpha1
kind: IPClaim
metadata:
  name: ts-kubeflow-sac-prod-md1-v1-srxbl-0
  namespace: default
spec:
  pool:
    apiVersion: ipam.metal3.io/v1alpha1
    kind: IPPool
    name: ip-pool-ts-kubeflow-rck-dev
    namespace: default
status:
  address:
    name: ts-kubeflow-rck-dev-10-7-5-155
    namespace: default

capv-static-ip-controller-manager output:

I1231 01:04:34.235684       1 vspheremachine_controller.go:84] controllers/VSphereMachine "msg"="waiting for machine controller to set ownerRef on VSphereMachine" "vspheremachine"={"Namespace":"default","Name":"ts-kubeflow-sac-prod-md1-v1-srxbl"} 
I1231 01:04:34.381432       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.482634       1 metal3io_ipam.go:116] controllers/VSphereMachine "msg"="IPPool ip-pool-ts-kubeflow-rck-dev is available" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.482814       1 metal3io_ipam.go:34] controllers/VSphereMachine "msg"="get IPAddress ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.583548       1 metal3io_ipam.go:138] controllers/VSphereMachine "msg"="waiting for IPClaim ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.583633       1 metal3io_ipam.go:46] controllers/VSphereMachine "msg"="allocate IP ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.583675       1 metal3io_ipam.go:168] controllers/VSphereMachine "msg"="create IPClaim ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.598704       1 metal3io_ipam.go:207] controllers/VSphereMachine "msg"="created IPClaim ts-kubeflow-sac-prod-md1-v1-srxbl-0, waiting for IPAddress to be available" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.599510       1 vspheremachine_controller.go:162] controllers/VSphereMachine "msg"="waiting for IP address to be available for the VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.599743       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.601003       1 metal3io_ipam.go:116] controllers/VSphereMachine "msg"="IPPool ip-pool-ts-kubeflow-sac-prod is available" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.601322       1 metal3io_ipam.go:34] controllers/VSphereMachine "msg"="get IPAddress ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.601396       1 metal3io_ipam.go:138] controllers/VSphereMachine "msg"="waiting for IPClaim ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.601431       1 metal3io_ipam.go:46] controllers/VSphereMachine "msg"="allocate IP ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.601472       1 metal3io_ipam.go:168] controllers/VSphereMachine "msg"="create IPClaim ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.636264       1 metal3io_ipam.go:207] controllers/VSphereMachine "msg"="created IPClaim ts-kubeflow-sac-prod-md1-v1-srxbl-0, waiting for IPAddress to be available" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:04:34.636385       1 vspheremachine_controller.go:162] controllers/VSphereMachine "msg"="waiting for IP address to be available for the VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.603433       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.603535       1 metal3io_ipam.go:116] controllers/VSphereMachine "msg"="IPPool ip-pool-rck-nonprod-corp-nonpci-1 is available" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.603548       1 metal3io_ipam.go:34] controllers/VSphereMachine "msg"="get IPAddress ts-kubeflow-sac-prod-md1-v1-srxbl-0" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.703930       1 vspheremachine_controller.go:170] controllers/VSphereMachine "msg"="static IP for VSphereMachine is ts-kubeflow-rck-dev-10-7-5-155" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.703966       1 vspheremachine_controller.go:174] controllers/VSphereMachine "msg"="assigning IP address 10.7.5.155 to VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.713373       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.714026       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:04.723723       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:06.445087       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:06.464530       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:29.796114       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:05:29.812420       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:06:18.317444       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:06:18.326339       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:06:18.334197       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:06:18.348064       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:06:18.350894       1 vspheremachine_controller.go:115] controllers/VSphereMachine "msg"="reconcile IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl" 
I1231 01:06:18.378199       1 vspheremachine_controller.go:198] controllers/VSphereMachine "msg"="successfully reconciled IP address for VSphereMachine" "namespace"="default" "vsphereMachine"="ts-kubeflow-sac-prod-md1-v1-srxbl"

Is there perhaps some issue with cluster.x-k8s.io/ip-pool-name label matching amongst multiple IPPools within the same namespace?

Support for CAPI 1.5.1 and CAPV 1.8.1

We have issues with WaitingForStaticIPAllocation state if new VM is Provision state. Probably of bad API versions in CAPI 1.5.1, CAPV 1.8.1
Do you plan update the provider to support new API versions?
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.