Project

General

Profile

Fix #8131

Ensure calamari server repos coexist peacefully with remote repos when yum/apt proxies are enabled

Added by John Spray over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Backend (packaging/deployment)
Target version:
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):

Description

Back story: this was originally #7279 to handle gracefully in the /bootstrap script, now that "ceph-deploy calamari connect" exists as the primary path for setup, opening this ticket to address the same issue in ceph-deploy's repo configuration.

Many systems use an HTTP proxy for package access. yum and apt both allow for this to be globally configured. When we set up repositories that point to the calamari server over the local LAN, it is likely that the network configuration won't allow access to those repos via the same proxy that someone is using for his remote access.

To guard against that situation, we should ensure that we configure the calamari-served repos such that they avoid any global proxy config:
http://askubuntu.com/questions/92764/disable-proxy-server-for-one-apt-repository
http://superuser.com/questions/393099/how-to-specify-that-yum-should-not-use-proxy-for-specific-domain

Assigning to neil to get his take on whether this is critical path for the release.

History

#1 Updated by Ian Colle over 7 years ago

  • Assignee changed from Neil Levine to Alfredo Deza

#2 Updated by Ian Colle over 7 years ago

  • Target version changed from v1.2 Backlog to v1.2-dev9

#3 Updated by Alfredo Deza over 7 years ago

  • Status changed from New to 4

The YUM way of doing this is easy to implement (might need a ceph-deploy update) but the APT one looks very brittle.

They suggest adding some lines in a file in /etc/apt.conf.d/99proxy. What if that file already exists? Do I append to it? If I do, what happens
if Acquire::http::Proxy is already defined? If we choose not to alter that file and create a different one (say 98proxy) the rules of 99proxy could
still mess everything up.

#4 Updated by John Spray over 7 years ago

I have just tried out the apt method, and it appears that the settings 'stack', so to speak. So if Acquire::http::Proxy is already defined that is no problem.

Note that the apt config syntax is basically just namespacing variables, so when you do this...

Acquire::http::Proxy {
        gb.archive.ubuntu.com "DIRECT";
}

... you're not assigning a list to Acquire::http::Proxy, you're assigning the value of a setting called "Acquire::http::Proxy::gb.archive.ubuntu.com".

To avoid issues with conflicting files already existing, I suggest you name the conf.d file something ceph-specific, and overwrite if it is already present.

#5 Updated by Alfredo Deza over 7 years ago

  • Status changed from 4 to In Progress

My comment is mute on the apt issue, like jcsp said, we can have 99foo or 99ceph and it would work.

The curly braces doesn't quite work though, but it doesn't matter because we are specifying a single entry.

All this work will have to go into ceph-deploy, as it is the one that installs the repos for the minions.

#6 Updated by Ian Colle over 7 years ago

  • Target version changed from v1.2-dev9 to v1.2-dev10

#7 Updated by Alfredo Deza over 7 years ago

  • Status changed from In Progress to Fix Under Review

#8 Updated by Alfredo Deza over 7 years ago

ice_setup.py script got updated with the right proxy options as well:
https://github.com/inktankstorage/ice-setup hash --> 3419c18

#9 Updated by Alfredo Deza over 7 years ago

  • Status changed from Fix Under Review to Resolved

Merged into ceph-deploy master with hash 27aa9c0

Also available in: Atom PDF