-
Notifications
You must be signed in to change notification settings - Fork 59
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
How to auto update through a HTTP proxy? #379
Comments
coreos/rpm-ostree#208 (comment) See also how in OpenShift 4 we have a high level proxy setting, the MCO wires it up globally for the operating system components. |
yeah I had linked @basvdlei to coreos/rpm-ostree#762 (comment) (should we close that issue?). I asked @basvdlei to open an issue here because it either works and we need to add docs for it, or it doesn't work and we need to make it work and then add docs 😄 Thanks @basvdlei |
Some quick lab testing shows that rpm-ostree honors the HTTP_* environment variables but Zincati does not. FCOS Config:
rpm-ostree:
Zincati:
|
Please use the lower case versions for proxy vars. Curl ignores the upper case HTTP_PROXY env var. |
Oh the dubious It looks like the crate reqwest used in Zincati will read both upper and lower case proxy vars. But only since version 0.10 this is done by default. Zincati still uses 0.9.24 but coreos/zincati#196 should fix that. |
In addition it seems the reqwest crate does not support the |
Thanks @basvdlei for helping investigate! |
It looks like this ticket contains a few sub-tasks:
|
Thanks for the follow up! FWIW I'm personally not a fan of using the For example in our case we do not want the |
zincati 0.0.9 just landed in the latest FCOS testing release (31.20200323.2.0). @lucab what is left to do for this issue? |
I can confirm that I have been able to install a cluster of FCOS servers using the latest testing image both using VMWareFusion and on vSphere behind a corporate proxy, and that when in TRACE mode (-vvv), the Zincatti agent is successfully providing details on the OS graph (nodes/edges etc). Prior to this update it was timing out. I haven't actually seen an OS auto-update event processed (obvs) but with the next version of FCOS hopefully we will see that occur. |
I'd stick to @fifofonix suggestion and wait to observe a successful auto-update through the proxy, then document the setup. Once we have docs, we can close this. @fifofonix once confirmed working, can you please post your |
Good news. This morning I found my cluster had successfully upgraded through a corporate proxy as expected so we can definitely close this. Note I'm using Grafana/Prometheus with node_exporter for operational visibility and node_uname_info for the FCOS release now shows as 5.5.10-200.fc31.x86_64. I don't love the fact this isn't easy to tie to the FCOS release # but it didn't tie for CL either. As requested the fcct snippets I've used:
|
@fifofonix thanks for the feedback! I'll try to run with your snippet to assemble a reasonable docpage, I'll ping you once there. |
I've also been able to update in my lab setup from 31.20200323.2.0 to 31.20200323.2.1 using a HTTP proxy. While initially it didn't work and zincati was logging 503's:
Subsequent retries with more verbose logging did work. So I guess this was an issue with the Cincinnati servers at that time (2020-04-06 08:38:01 UTC). Checking the proxies access logs gives the following connect requests:
Am I correct to assume that white-listing the following domains pretty much guarantees updates will work?:
|
@basvdlei the 503 is likely a transient hiccup in a CDN/proxy (you can check metrics if that happens too often, my canaries also saw several this morning). The domains you see above are:
There are likely a few more domains related to RPM packages (content and metadata). You may be able to catch them observing the traffic of |
What is the canonical way to configure zincati and rpm-ostree (maybe other components) to use a HTTP proxy to get auto updates to function?
And is there a list of domains available that are required for auto updates to function?
Scenario:
FCOS nodes are running inside a secure zone without routes to public internet services. The only way to access public resources is through a HTTP proxy with domain whitelisting.
The text was updated successfully, but these errors were encountered: