cloudbase / cloudbase-init

Cross-platform instance initialization
http://openstack.org
Apache License 2.0
421 stars 149 forks source link

Fix error message when userdata header is not supported #45

Open ader1990 opened 4 years ago

ader1990 commented 4 years ago

Given userdata in the following format:

#!not_existent_binary_in_the_path
do_something

the logs look like this:

2020-04-23 06:57:21.907 4232 INFO cloudbaseinit.init [-] Executing plugin 'UserDataPlugin'
2020-04-23 06:57:21.985 4232 DEBUG cloudbaseinit.plugins.common.userdata [-] User data content length: 12 execute C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\plugins\common\userdata.py:50
2020-04-23 06:57:22.016 4232 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.utils.template_engine.jinja2_template.Jinja2TemplateEngine' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27
2020-04-23 06:57:22.518 4232 DEBUG cloudbaseinit.utils.classloader [-] Loading class 'cloudbaseinit.osutils.windows.WindowsUtils' load_class C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\lib\site-packages\cloudbaseinit\utils\classloader.py:27
2020-04-23 06:57:22.558 4232 WARNING cloudbaseinit.plugins.common.userdatautils [-] An error occurred during user_data execution: '[WinError 2] The system cannot find the file specified': FileNotFoundError: [WinError 2] The system cannot find the file specified
2020-04-23 06:57:22.579 4232 INFO cloudbaseinit.plugins.common.userdatautils [-] User_data script ended with return code: 0

The log messages do not reveal the actual issue of not having the binary in the path.