Hi all, I have recently been experimenting with Kubernetes in CloudStack and came across a quite odd problem with the communication between cloudstack-kubernetes-provider and the CloudStack API.
After some experimentation with the cloud-config api-url variable, it seems that connection should be happening. I tried using wget from within the pods with success. However, whenever services try to sync the load balancer to CloudStack, the error* Error syncing load balancer: failed to ensure load balancer: could not find network *shows up. Taking a look at the logs of *cloud-controller-manager*, the same three rows come up repeatedly: I0616 14:02:26.189085 1 event.go:278] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"balls", UID:"f75f1f54-2c97-4417-946d-90a536087ad8", APIVersion:"v1", ResourceVersion:"1776", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer E0616 14:02:26.273801 1 controller.go:244] error processing service default/balls (will retry): failed to ensure load balancer: could not find network I0616 14:02:26.274430 1 event.go:278] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"balls", UID:"f75f1f54-2c97-4417-946d-90a536087ad8", APIVersion:"v1", ResourceVersion:"1776", FieldPath:""}): type: 'Warning' reason: 'SyncLoadBalancerFailed' Error syncing load balancer: failed to ensure load balancer: could not find network When watching the logs of our management server, the request *listNetworks *appears, coming from the kubernetes IP. It does, however, include an empty *id *parameter , which in turn returns the error: { "listnetworksresponse": { "uuidList": [], "errorcode": 431, "cserrorcode": 9999, "errortext": "Unable to execute API command listnetworks due to invalid value. Invalid parameter id value= due to incorrect long value format, or entity does not exist or due to incorrect parameter annotation for the field in api cmd class." } } The request: http://*domain*/client/api?apiKey=*key*&command=listNetworks& *id=*&response=json&signature=*signature* Looking at the code of cloudstack-kubernetes-provider (cloudstack_loadbalancer.go:417), it seems like the error should return *... **could not find network [network ID]*, but in our case, no ID shows up (it could be nil?). It appears that cs.verifyHosts (cloudstack_loadbalancer.go:100) is failing to update lb.networkID, which cascades into this error. Seeing as it shows up even after creating different clusters, could this still be a configuration issue, or is it a known bug in CKS? Thanks in advance, Pierre Le Fevre