-
Notifications
You must be signed in to change notification settings - Fork 119
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
Allow overriding/specifying IRONIC_IP/IRONIC_URL_HOST #468
Comments
Yes, but we may hit similar issues with JSON RPC. Which is, whoever, its own ball of wax. |
Could you elaborate? I'm afraid I'm lost 😅 |
For JSON RPC to work, Ironic instances have to be able to talk to each other. That requires every Ironic to know its own IP or host name. |
/triage accepted |
@Rozzii: Please ensure the request meets the requirements listed here. If this request no longer meets these requirements, the label can be removed In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Based on the discussion in the last community meeting, I'm adding some notes here so I don't forget.
|
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
I think we can close this as fixed in #476 |
It is currently possible to set either the PROVISIONING_INTERFACE or PROVISIONING_IP. If PROVISIONING_IP is set, this IP is assumed to be associated with some interface and Ironic will wait until it can see it there. If PROVISIONING_INTERFACE is set, we check what IP is associated with it and assume that this is the IRONIC_IP and IRONIC_URL_HOST.
Ref:
ironic-image/scripts/ironic-common.sh
Lines 43 to 72 in d62a9b7
I would like to expose Ironic through a Service of type LoadBalancer instead of using host network. When doing this, the load balancer IP will not be directly associated with any interface in the container. This means that I cannot set the PROVISIONING_IP since Ironic would then wait indefinitely to see this IP on some interface (which will never happen). Instead I set the PROVISIONING_INTERFACE. This works great and I can reach both Ironic and Inspector when curling the load balancer IP (e.g. 192.168.222.200).
However, due to the snippet above, Ironic and Inspector will be configured to try to reach each other using the cluster network IP of the Pod (e.g. 10.244.0.13). This IP is volatile and not something that would be in the certificate when using TLS, so communication breaks down.
What can we do about this? Is it something that would go away together with the Inspector anyway? Maybe not worth doing anything at this point then. Or should we make it possible to override the IRONIC_IP and/or IRONIC_URL_HOST?
If this sounds interesting and you would like to play with it, try this:
ironic-loadbalancer
)./Metal3/dev-setup.sh
curl https://192.168.222.200:5050 -k
curl https://192.168.222.200:6385 -k
NUM_BMH=1 ./Metal3/create-bmhs.sh
The text was updated successfully, but these errors were encountered: