Puppet facter 無法正確抓到 Ubuntu Container 的 OS 資訊

栏目: 服务器 · 发布时间: 7年前

内容简介:今天有同事回報在使用 Puppet 做模擬 LAB 的時候,一直出現 OS 版本判別錯誤的問題,安裝 Ubuntu container 卻判定為 Debian,然後少了許多 metadata 可以使用 …嘗試在 Production 環境測試沒有沒有遇到問題,也在 Vagrant 上跑過。只好找工程師的好朋友 Google 一下,果然馬上就找到

今天有同事回報在使用 Puppet 做模擬 LAB 的時候,一直出現 OS 版本判別錯誤的問題,安裝 Ubuntu container 卻判定為 Debian,然後少了許多 metadata 可以使用 …

嘗試在 Production 環境測試沒有沒有遇到問題,也在 Vagrant 上跑過。

只好找工程師的好朋友 Google 一下,果然馬上就找到 Puppet ticketIncorrectly detects OS in docker container 」有相同的狀況

When running in a Docker container, facter incorrectly reports the OS.
To reproduce this, start a docker container with the “ubuntu” image, install Facter from the Puppet repository, run “puppet os” and notice it is reported as “Debian”.

這時才想到,Puppet 用來判別版本的資訊其中有包含 lsb-release 這個 package … 而 Container 的特點就是 “什麼都沒有” 所以能抓到的資訊自然就少了很多。

解決方法很簡單,就是安裝 lsb-release,讓環境有 lsb_release 這個 command

$ sudo apt-get install lsb-release

就正常了 …

不過 Puppet 有把該問題列為 bug 並且提出應該要使用 os-release 作為參考依據才對,所以之後要參考 OS 資訊的人可以往這個方向找問題

$ cat /etc/os-release
 
NAME="Ubuntu"
VERSION="16.04.5 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.5 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

以上所述就是小编给大家介绍的《Puppet facter 無法正確抓到 Ubuntu Container 的 OS 資訊》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

无界

无界

(美)艾米莉·内格尔·格林(Emily Nagle Green) / 卞斌 / 机械工业出版社 / 2011-5 / 39.00元

"数十亿人身在其中、数十万亿美元的新生意,你我此生最大的科技革命,这次转型将如何改变我们的生活? 又如何使我们做生意的方式起革命性的变化? 无界会比你所想更快降临,将创造数兆美元的新价值。你的行动够快吗?这本放眼未来的著作,结合专家的洞见、战术性工具,以及扬基集团独有的无界趋势数据,提供你需要的一切。" 未来的世界和企业,会走向无界的状态,也就是人、构想和产品经由一张全球性的数字......一起来看看 《无界》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换