From 301fd6784fbb9ddf68c3e06e726ab4ddb7734777 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Wed, 29 May 2013 21:00:13 +0000 Subject: [PATCH] Force releasestatus to use IPv4 for SSH to Gerrit. At random, some hosts within Rackspace refuse to send IPv6 packets with DSCP marker 0x10 (lowdelay). This is the default behavior of recent OpenSSH servers and clients, and results in SSH sessions hanging on these hosts. When static.openstack.org was rebuilt a few months ago, we did not immediately realize it suffered from this problem as Rackspace thought they'd fixed the issue previously. We have an open trouble ticket with them for the past several months to get it addressed properly, but have no resolution yet. In the meantime, we have this lovely workaround... * modules/releasestatus/files/ssh_config: New SSH config file forces IPv4 when connecting to review.openstack.org from the releasestatus account. * modules/releasestatus/manifests/init.pp: Installs the new SSH config file. Change-Id: I2968fc00750e3a5a23c08a3007318fd2e336b251 Reviewed-on: https://review.openstack.org/30944 Reviewed-by: Clark Boylan Reviewed-by: Elizabeth Krumbach Joseph Reviewed-by: James E. Blair Approved: James E. Blair Tested-by: Jenkins --- files/ssh_config | 2 ++ manifests/init.pp | 9 +++++++++ 2 files changed, 11 insertions(+) create mode 100644 files/ssh_config diff --git a/files/ssh_config b/files/ssh_config new file mode 100644 index 0000000..0fe0d75 --- /dev/null +++ b/files/ssh_config @@ -0,0 +1,2 @@ +Host review.openstack.org + AddressFamily inet diff --git a/manifests/init.pp b/manifests/init.pp index 3c30d05..f16afe7 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -99,6 +99,15 @@ class releasestatus ( } } + file { '/var/lib/releasestatus/.ssh/config': + owner => 'releasestatus', + group => 'releasestatus', + mode => '0600', + source => 'puppet:///modules/releasestatus/ssh_config', + replace => true, + require => File['/var/lib/releasestatus/.ssh/'] + } + vcsrepo { '/var/lib/releasestatus/releasestatus': ensure => latest, provider => git,