Open rgruyters opened 7 years ago
rpm-ostree uses https://github.com/rpm-software-management/libdnf/ which handles proxy configuration via the same mechanisms as the original yum
. Did you add a proxy=
entry to the file in /etc/yum.repos.d
?
Note that for the libostree side (base tree/image) updates, you'll need to edit a different file; see https://github.com/projectatomic/rpm-ostree/issues/208
@cgwalters I haven't yet tried it to edit yum. For the record I have Centos Atomic Host running. Don't know if that matters.
@cgwalters in https://github.com/projectatomic/rpm-ostree/issues/208#issuecomment-171737861 is a little bit explained about the problem, unfortunately it doesn't make it clear (for me) where and how?
@rgruyters To clarify, for proxy settings affecting rpm-ostree install
, edit /etc/yum.conf
//etc/dnf/dnf.conf
. It can also be set per-repo rather than globally (at least for DNF -- see http://dnf.readthedocs.io/en/latest/conf_ref.html#options-for-both-main-and-repo). (Edit: Actually the conf
files are used by dnf
and yum
only and thus won't affect rpm-ostree. You'll have to edit the repo files themselves.)
For proxy settings affecting rpm-ostree upgrade/deploy/rebase
, you can add the proxy=
line to the remote config in e.g. /etc/ostree/remotes.d
(see https://github.com/ostreedev/ostree/blob/a71d550/man/ostree.repo-config.xml#L143). You'll have to do systemctl reload rpm-ostreed
afterwards (or just restart
if you have an older version).
@jlebon thanks for clearing this. Although I have checked but I didn't found a /etc/yum.conf
on my system. Again to clarify, I have CentOS Atomic Host installed.
Right, rpm-ostree uses libdnf which currently does not have a global configuration file, only per-repository.
Oh right, sorry for the confusion there. I amended the comment for posterity.
Really guys? Do we now have to edit proxys everywhere…?!
I work in different environments and thus already have to replace my proxy file in /etc/profile.d/
and change Gnome Shell’s and Firefox’s proxy settings every time. Now I would have to do that additionally for dnf and ostree and possibly other system services…?! O_o
Found this snippet in #208:
$ mkdir -p /etc/systemd/system/rpm-ostreed.service.d
$ cat > /etc/systemd/system/rpm-ostreed.service.d/http-proxy.conf << EOF
[Service]
Environment="http_proxy=http://<my-proxy>"
EOF
$ systemctl daemon-reload
$ systemctl restart rpm-ostreed.service
This seems to work for rpm-ostree upgrade|install
.
rpm-ostree should read all_proxy, http_proxy and https_proxy variables like dnf and yum.
Found this snippet in #208:
$ mkdir -p /etc/systemd/system/rpm-ostreed.service.d $ cat > /etc/systemd/system/rpm-ostreed.service.d/http-proxy.conf << EOF [Service] Environment="http_proxy=http://<my-proxy>" EOF $ systemctl daemon-reload $ systemctl restart rpm-ostreed.service
This seems to work for
rpm-ostree upgrade|install
.
saved my live!
Unfortunately rpm-ostree on FCOS32 ignored all my attempts using env vars. So at least from that point it must somehow differ from dnf/yum as those take env vars into account...
In case it helps anyone else, for the workaround I had to set https_proxy
in addition to http_proxy
.
Found this snippet in #208:
$ mkdir -p /etc/systemd/system/rpm-ostreed.service.d $ cat > /etc/systemd/system/rpm-ostreed.service.d/http-proxy.conf << EOF [Service] Environment="http_proxy=http://<my-proxy>" EOF $ systemctl daemon-reload $ systemctl restart rpm-ostreed.service
This seems to work for
rpm-ostree upgrade|install
.
This worked for someone in https://discussion.fedoraproject.org/t/rpm-ostree-upgrade-and-proxy-server-timeout-was-reached/87051/10. Maybe we should document that as a workaround in the meantime?
Unfortunately https://github.com/ostreedev/ostree-rs-ext/issues/582 means this no longer works for OCI layers - perhaps it's time for dedicated proxy configuration in rpm-ostreed.conf
and appropriate plumbing to pass the options down to wherever it's required?
Host system details Centos Atomic Host as VM
Provide the output of
rpm-ostree status
.Expected vs actual behavior
Expected:
Steps to reproduce it
Just run above command in a closed environment
Would you like to work on the issue?
Please let us know if you can work on it or the issue should be assigned to someone else.