Fix runtime ssh host keys script

The script is set -e and set -o pipefail, unfortauntely this intersects
with `yes n`'s non zero exit code behavior when it receives an interrupt
like sigpipe. As a result stop setting pipefail so that we treat those
errors as "normal" and only fail if ssh-keygen fails.

Change-Id: I5447df97c9888cae3007e235e2fea44df61af28e
This commit is contained in:
Clark Boylan 2016-11-18 16:37:59 -08:00 committed by Paul Belanger
parent eeb9e0e4a6
commit c5ec1348c3

View File

@ -12,10 +12,9 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
# dib-lint: disable=dibdebugtrace # dib-lint: disable=dibdebugtrace setpipefail
set -exu set -exu
set -o pipefail
# We are running into race conditions with glean, which ssh-keygen -A is # We are running into race conditions with glean, which ssh-keygen -A is
# not handling properly. So, create a new script to first check if the # not handling properly. So, create a new script to first check if the
@ -23,7 +22,7 @@ set -o pipefail
for key in dsa ecdsa ed25519 rsa; do for key in dsa ecdsa ed25519 rsa; do
FILE=/etc/ssh/ssh_host_${key}_key FILE=/etc/ssh/ssh_host_${key}_key
if ! [ -e $FILE ]; then if ! [ -f $FILE ]; then
/usr/bin/yes n | /usr/bin/ssh-keygen -f $FILE -N '' -t $key /usr/bin/yes n | /usr/bin/ssh-keygen -f $FILE -N '' -t $key
fi fi
done done