-
Notifications
You must be signed in to change notification settings - Fork 908
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ds-identify doesn't look in /usr/local/etc/cloud/ but only in /etc/cloud/ [FreeBSD] #4481
Comments
I think patching PATH_DI_CONFIG=/etc/cloud/ds-identify.cfg is the simplest change. |
yes, but also, this is related to #4180 to generalise: unlike the python code, we currently have no method of relocating paths in our shell code. (not that I've dared to try and relocate |
Then perhaps judicious use of %%LOCALBASE%% and %%PREFIX%% in the port may be the best approach, at leeast initially. |
see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274260 for work-around for FreeBSD ports. |
override PATH_DI_CONFIG and PATH_ETC_CLOUD when executing ds-identify \ on startup. Inconviniently, we can't just override PATH_ROOT, because that would set /run to /usr/local/run and /var/lib/cloud to /usr/local/var/lib/cloud. In the future we will want to override /run, but we can't do that just yet without also ensuring that the python code can relocate /run. Fixes: canonicalGH-4481 Sponsored by: The FreeBSD Foundation
here's my attempt at fixing it: #4485 |
override PATH_DI_CONFIG and PATH_ETC_CLOUD when executing ds-identify \ on startup. Inconviniently, we can't just override PATH_ROOT, because that would set /run to /usr/local/run and /var/lib/cloud to /usr/local/var/lib/cloud. In the future we will want to override /run, but we can't do that just yet without also ensuring that the python code can relocate /run. Fixes: canonicalGH-4481 Sponsored by: The FreeBSD Foundation
override PATH_DI_CONFIG and PATH_ETC_CLOUD when executing ds-identify \ on startup. Inconviniently, we can't just override PATH_ROOT, because that would set /run to /usr/local/run and /var/lib/cloud to /usr/local/var/lib/cloud. In the future we will want to override /run, but we can't do that just yet without also ensuring that the python code can relocate /run. Fixes: canonicalGH-4481 Sponsored by: The FreeBSD Foundation
override PATH_DI_CONFIG and PATH_ETC_CLOUD when executing ds-identify \ on startup. Inconviniently, we can't just override PATH_ROOT, because that would set /run to /usr/local/run and /var/lib/cloud to /usr/local/var/lib/cloud. In the future we will want to override /run, but we can't do that just yet without also ensuring that the python code can relocate /run. Fixes: canonicalGH-4481 Sponsored by: The FreeBSD Foundation Co-authored-by: Dave Cottlehuber <dch@skunkwerks.at>
Bug report
ds-identify doesn't look in
/usr/local/etc/cloud/
but only in/etc/cloud/
, which is in conflict with all the other cloud-inittools on FreeBSD, and probably the other BSDs.
In particular, ds-identify looks in
/etc/cloud/cloud.cfg
to findthings like
datasource_list: ...
but these files live in/usr/local/etc/cloud/...
on FreeBSD, and possibly other BSDs.This then likely breaks cloudinit for anybody using a non-OpenStack
config, as the DataSource will be overridden.
Steps to reproduce the problem
env DI_LOG=stderr /usr/local/lib/cloud/ds-identify --force
PATH_ETC_CLOUD="/usr/local/etc/cloud"
default
with path hack
Environment details
logs without
/etc/cloud/ds-identify.cfg
The text was updated successfully, but these errors were encountered: