hrak commented on PR #44:
URL:
https://github.com/apache/cloudstack-kubernetes-provider/pull/44#issuecomment-1508127314
> We are running this without any issues so far on Cloudstack 4.17. We have
some more changes in the pipeline once this is merged.
Well, maybe i should clarify: The part that works is the
loadbalancer/firewall rules part. Most of the logic surrounding instance
metadata is broken ever since this was turned into and external cloud provider.
`GetZone` assumes this is running inside kubelet and that hostname=instance
hostname, but it isn't, since the provider runs in a pod, causing it to try to
look up the instance based on the pod hostname:
```
I0414 07:08:41.827320 1 cloudstack.go:175] GetZone called from
/go/src/github.com/apache/cloudstack-kubernetes-provider/cloudstack_instances.go#198
E0414 07:08:41.874064 1 node_controller.go:220] error syncing
'k8s-mgmt-cp-dev-02': failed to get instance metadata for node
k8s-mgmt-cp-dev-02: could not find instance for retrieving the zone: No match
found for cloud-controller-manager-789b9fb546-dg46l: &{Count:0
VirtualMachines:[]}, requeuing
```
Then there are issues with ProviderID, since the provider is currently
called `external-cloudstack` and should probably be called `cloudstack`, so the
[logic
here](https://github.com/kubernetes/cloud-provider/blob/322c087411fe027de06291c6ad974ed7bcbf2eea/cloud.go#L114)
matches the kubelet arguments `--cloud-provider=external
--provider-id=cloudstack:///8411c37d-8d63-4920-8cb2-01fa512c3377` in the same
way that this works for f.e. the Openstack CCM.
I am working on fixes for all these issues but i would really like to get
this in first.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org