Skip to content

Commit

Permalink
fix: Always use single datasource if specified (#5098)
Browse files Browse the repository at this point in the history
This change may require a user to add `None` to the `datasource_list`
defined in `/etc/cloud/cloud.cfg[.d]` if they have a customized
datasource_list and want the DataSourceNone fallback behavior.

ds-identify would automatically append "None" to the datasource_list
if a single entry was provided in /etc/cloud/cloud.cfg[.d].
This wasn't a problem in the past as the python code would detect
a single datasource along with None as an indication to automatically
use that datasource. Since the python code no longer does that,
we should ensure that one specified datasource results in one specified
datasource after ds-identify has run.

Fixes GH-5091
  • Loading branch information
TheRealFalcon committed Mar 27, 2024
1 parent 2a63bb0 commit 0ae4728
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion tests/unittests/test_ds_identify.py
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,7 @@ def test_single_entry_defines_datasource(self):
mydata = copy.deepcopy(VALID_CFG["Ec2-hvm"])
cfgpath = "etc/cloud/cloud.cfg.d/myds.cfg"
mydata["files"][cfgpath] = 'datasource_list: ["NoCloud"]\n'
self._check_via_dict(mydata, rc=RC_FOUND, dslist=["NoCloud", DS_NONE])
self._check_via_dict(mydata, rc=RC_FOUND, dslist=["NoCloud"])

def test_configured_list_with_none(self):
"""When datasource_list already contains None, None is not added.
Expand Down
6 changes: 5 additions & 1 deletion tools/ds-identify
Original file line number Diff line number Diff line change
Expand Up @@ -1999,7 +1999,11 @@ _main() {
# if there is only a single entry in $DI_DSLIST
if [ $# -eq 1 ] || [ $# -eq 2 -a "$2" = "None" ] ; then
debug 1 "single entry in datasource_list ($DI_DSLIST) use that."
found "$@"
if [ $# -eq 1 ]; then
write_result "datasource_list: [ $1 ]"
else
found "$@"
fi
return
fi

Expand Down

0 comments on commit 0ae4728

Please sign in to comment.