Ubuntu 22.04.3を更新したら、振る舞いが変わっていた件

投稿者: | 10月 16, 2023

結構何も考えないでアップデートをしがちである。なので、すぐ取り下げになったビルドとかも平気で当ててしまうこともあるが。。。一体いつ当てるの?今でしょ!

 

閑話休題

 

Ubuntu 22.04.3をアップデートしたらいろいろハマった。

netplan

以下をしないとパーミッションのワーニングがでるようになった。netplanのyamlファイルは、rootだけ読めるようににしろと。ただ、このワーニングは、netplanコマンドで動的に設定を変える時しか出ないかもしれない。

chmod 600 /etc/netplan/00-installer-config.yaml

さらに、どうやらcloud-initがnetworkを設定してくれるらしく、netplanで設定しても、再起動するとIPアドレスが戻ってしまう。netplanでIPアドレスを設定したい、つまり、cloud-initにネットワークを設定させたくない場合は、以下を実行しておく必要がある。

chmod 600 /etc/netplan/*
cat <<EOF > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}
EOF

もう、viでちまちまネットワークなんかしなさんなと言うことなのかもしれない。これも盲点だった。

 

cloud-init

自分のテンプレートイメージは、cloud-initをイニシャライズしているのだが、展開するとこんなメッセージがでるようになってしまった。いつか起動するんだが、気持ち悪い。

2023-10-15 12:12:52,641 - __init__.py[DEBUG]: Looking for data source in: ['CloudStack', 'None'], via packages ['', 'cloudinit.sources'] that matches dependencies ['FILESYSTEM', 'NETWORK']
2023-10-15 12:12:52,655 - __init__.py[DEBUG]: Searching for network data source in: ['DataSourceCloudStack', 'DataSourceNone']
2023-10-15 12:12:52,655 - handlers.py[DEBUG]: start: init-network/search-CloudStack: searching for network data from DataSourceCloudStack
2023-10-15 12:12:52,655 - __init__.py[DEBUG]: Seeing if we can get any data from <class 'cloudinit.sources.DataSourceCloudStack.DataSourceCloudStack'>
2023-10-15 12:12:52,659 - DataSourceCloudStack.py[DEBUG]: DNS Entry data-server not found
2023-10-15 12:12:52,659 - util.py[DEBUG]: Reading from /run/systemd/netif/leases/2 (quiet=False)
2023-10-15 12:12:52,659 - util.py[DEBUG]: Read 335 bytes from /run/systemd/netif/leases/2
2023-10-15 12:12:52,659 - DataSourceCloudStack.py[DEBUG]: Found SERVER_ADDRESS '192.168.XX.X' via networkd_leases
2023-10-15 12:12:52,659 - __init__.py[DEBUG]: Update datasource metadata and network config due to events: boot-new-instance
2023-10-15 12:12:52,659 - __init__.py[DEBUG]: Machine is configured to run on single datasource DataSourceCloudStack.
2023-10-15 12:12:52,660 - url_helper.py[DEBUG]: [0/1] open 'http://192.168.XX.X/latest/meta-data/instance-id' with {'url': 'http://192.168.XX.X/latest/meta-data/instance-id', 'stream': False, 'allow_redirects': True,'method': 'GET', 'timeout': 50.0, 'headers': {'User-Agent': 'Cloud-Init/23.3.1-0ubuntu1~22.04.1'}} configuration
2023-10-15 12:12:52,813 - url_helper.py[WARNING]: Calling 'None' failed [0/120s]: request error [HTTPSConnectionPool(host='192.168.XX.X', port=443): Max retries exceeded with url: /latest/meta-data/instance-id (Caused by SSLError(CertificateError("hostname '192.168.XX.X' doesn't match 'hoge.example.com'")))]
2023-10-15 12:12:52,813 - url_helper.py[DEBUG]: Please wait 1 seconds while we wait to try again

よくよく調べてみると/etc/cloud/cloud.cfg.d/90_dpkg.cfgにある、datasource_list が関係しているっぽい。で、DHCPサーバにあるはずのメタデータがない(そんなものはそもそもない)、ホスト名とIPが合っていないとSSLエラーを出している。中身は以下だった。

# to update this file, run dpkg-reconfigure cloud-init
datasource_list: [ NoCloud, ConfigDrive, OpenNebula, DigitalOcean, Azure, AltCloud, OVF, MAAS, GCE, OpenStack, CloudSigma, SmartOS, Bigstep, Scaleway, AliYun, Ec2, CloudStack, Hetzner, IBMCloud, Oracle, Exoscale, RbxCloud, UpCloud, VMware, Vultr, LXD, NWCS, None ]

以下に書き換えてみた。

datasource_list: [ None ]

もう出なくなったっぽい。

 

しかし、こんなエラーに遭遇する人、他にいるのかなぁ。と思うエラー。(多分、コテコテのテンプレートイメージを作っている人しかハマらないと思うw)

コメントを残す