From 1dee07175a764770184254ac7ffc408225c01b1e Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 25 Feb 2018 11:27:34 +0200 Subject: Add: sanity check: is debian_codename set? I couldn't get the Ansible "when" clause to work, so this checks it in shell instead. Ugly, but works. --- roles/sane_debian_system/defaults/main.yml | 2 +- roles/sane_debian_system/tasks/apt.yml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/roles/sane_debian_system/defaults/main.yml b/roles/sane_debian_system/defaults/main.yml index aa5d7cb..9920f83 100644 --- a/roles/sane_debian_system/defaults/main.yml +++ b/roles/sane_debian_system/defaults/main.yml @@ -5,7 +5,7 @@ hostname: "" # The Debian release code name to use. -debian_codename: YOUMUSTSETTHIS +debian_codename: # Default Debian mirror to use. Default should work everywhere, but if # needed, pick a faster mirror, perhaps a local one. diff --git a/roles/sane_debian_system/tasks/apt.yml b/roles/sane_debian_system/tasks/apt.yml index 3479334..497739e 100644 --- a/roles/sane_debian_system/tasks/apt.yml +++ b/roles/sane_debian_system/tasks/apt.yml @@ -1,3 +1,13 @@ +# Safety check: make sure debian_codename is set. +- name: check that debian_codename is set + shell: | + if [ "{{ debian_codename }}" = "" ] + then + echo "You MUST set debian_codename" 1>&2 + exit 1 + fi + + # First update package lists. The ones that come with the image may be # badly out of date. - name: update package lists -- cgit v1.2.1 From 1472f5299393950a66b942bb735388a0b0186edb Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 25 Feb 2018 11:28:44 +0200 Subject: Add: if the initial apt setup, ignore the failure This lets us get past a mistake in the sources.list, such as a badly set debian_codename. Add: ignore more apt errors in initial setup --- roles/sane_debian_system/tasks/apt.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/roles/sane_debian_system/tasks/apt.yml b/roles/sane_debian_system/tasks/apt.yml index 497739e..84c6420 100644 --- a/roles/sane_debian_system/tasks/apt.yml +++ b/roles/sane_debian_system/tasks/apt.yml @@ -10,7 +10,11 @@ # First update package lists. The ones that come with the image may be # badly out of date. +# +# Ignore any error here so that later tasks can fix things such as a badly +# formed sources.list. - name: update package lists + ignore_errors: yes apt: update_cache: yes cache_valid_time: 0 @@ -20,7 +24,11 @@ # will still work. apt-transport-https is in the main Debian archive, # and we assume those are in the sources.list that come with the # image. +# +# Ignore any error here so that later tasks can fix things such as a badly +# formed sources.list. - name: install apt-transport-https + ignore_errors: yes apt: name: apt-transport-https -- cgit v1.2.1