【环境信息】
openeulerversion=openEuler-23.09
compiletime=2023-08-23-17-31-23
gccversion=12.3.1-7.oe2309
kernelversion=6.4.0-1.0.1.5.oe2309
openjdkversion=1.8.0.382.b05-0.oe2309
软件信息:
cloud-init-23.2.2-2.oe2309
【问题复现步骤】
systemctl start cloud-init-local.service
systemctl status cloud-init-local.service
出现概率(是否必现,概率性错误):必现
【预期结果】
服务启动成功,无报错信息
【实际结果】
服务启动成功,有报错信息
Hi zhangpanting, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Base-service, and any of the maintainers: @Monday , @谢志鹏 , @hexiaowen , @zhujianwei001 , @Lv Ying , @HuBin95 , @陈子扬 , @gaoruoshu , @znzjugod , @陈棋德
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
@zhangpanting 请提供详细日志。在问题环境中执行命令:cloud-init collect-logs,然后将生成的cloud-init.tar.gz上传。
已上传
解压日志后查看cloud-init.log文件,得到如下信息:
根据如下代码:
https://github.com/canonical/cloud-init/blob/main/cloudinit/sources/DataSourceVMware.py#L193
代码不会运行到197行:
self.data_access_method = data_access_method
self.data_access_method初值为None:
https://github.com/canonical/cloud-init/blob/main/cloudinit/sources/DataSourceVMware.py#L148
因为一直不会对其进行赋值,所以200行条件成立,打印该错误信息属于正常现象。
另外,根据下面日志可知,当前环境不符合cloud-init启动条件,强行启动cloud-init-local.service服务出现各种错误属于正常现象!!!:
cloud-init-logs-2023-08-29/run/cloud-init/ds-identify.log
cloud-init-logs-2023-08-29/run/cloud-init/cloud-init-generator.log
cloud-init-logs-2023-08-29/cloud-init.log
从cloud-init-logs-2023-08-29/cloud-init.log日志中可以发现大量的如下日志:
Seeing if we can get any data from ...
这是因为强制执行cloud-init,cloud-init尝试从支持的数据源中获取数据,当从DataSourceVMware数据源中获取数据的时候报错。因为问题环境不是一个VMware平台,此时报错完全属于正常现象。相关日志如下:
2023-08-29 07:04:27,899 - handlers.py[DEBUG]: start: init-local/search-VMware: searching for local data from DataSourceVMware
2023-08-29 07:04:27,900 - __init__.py[DEBUG]: Seeing if we can get any data from <class 'cloudinit.sources.DataSourceVMware.DataSourceVMware'>
2023-08-29 07:04:27,900 - __init__.py[DEBUG]: Update datasource metadata and network config due to events: boot-new-instance
2023-08-29 07:04:27,900 - __init__.py[DEBUG]: Detected platform: DataSourceVMware [seed=None]. Checking for active instance data
2023-08-29 07:04:27,900 - dmi.py[DEBUG]: querying dmi data /sys/class/dmi/id/product_name
2023-08-29 07:04:27,900 - DataSourceVMware.py[DEBUG]: Not a VMware platform
2023-08-29 07:04:27,900 - dmi.py[DEBUG]: querying dmi data /sys/class/dmi/id/product_name
2023-08-29 07:04:27,900 - DataSourceVMware.py[DEBUG]: Not a VMware platform
2023-08-29 07:04:27,900 - DataSourceVMware.py[ERROR]: failed to find a valid data access method
本地无法复现该问题(这里报错是网络环境原因,连接外网超时)
另外,该问题并不影响服务使用。没有获取到data_access_method,则不会从数据源中获取metadat等数据。
https://github.com/canonical/cloud-init/blob/main/cloudinit/sources/DataSourceVMware.py#L207
同意开发观点
登录 后才可以发表评论