summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2016-12-13 10:13:24 +0800
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2016-12-20 16:40:21 +1100
commit79218d4fcb8cbf7e8844c13ccef3307d7424eb9d (patch)
tree30cca127cf85033717e5f2dfae80316c811aef73
parentf00b8c2d08e4ef57f2da0ed3b1701ed50331b91d (diff)
downloadtalos-petitboot-79218d4fcb8cbf7e8844c13ccef3307d7424eb9d.tar.gz
talos-petitboot-79218d4fcb8cbf7e8844c13ccef3307d7424eb9d.zip
discover/status: report on PXE download failures
Add dev_err messages on both autoconfiguration and specified-configuration download failures. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rw-r--r--discover/pxe-parser.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/discover/pxe-parser.c b/discover/pxe-parser.c
index 75d7e7e..c2d0ed5 100644
--- a/discover/pxe-parser.c
+++ b/discover/pxe-parser.c
@@ -250,18 +250,29 @@ static void pxe_conf_parse_cb(struct load_url_result *result, void *data)
if (!data)
return;
+ handler = talloc_parent(conf);
+
if (result && result->status == LOAD_OK)
rc = read_file(conf, result->local, &buf, &len);
if (!result || result->status != LOAD_OK || rc) {
/* This load failed so try the next available filename */
info = conf->parser_info;
- if (!info->pxe_conf_files)
+ if (!info->pxe_conf_files) {
+ device_handler_status_dev_err(handler,
+ conf->dc->device,
+ _("Failed to download %s"),
+ pb_url_to_string(result->url));
+
return;
+ }
info->current++;
pxe_load_next_filename(conf);
if (info->pxe_conf_files[info->current] == NULL) {
/* Nothing left to try */
+ device_handler_status_dev_err(handler,
+ conf->dc->device,
+ _("PXE autoconfiguration failed"));
goto out_clean;
}
return;
@@ -277,7 +288,6 @@ static void pxe_conf_parse_cb(struct load_url_result *result, void *data)
/* We may be called well after the original caller of iterate_parsers(),
* commit any new boot options ourselves */
- handler = talloc_parent(conf);
device_handler_discover_context_commit(handler, conf->dc);
/*
OpenPOWER on IntegriCloud