早上好,
今天早些时候,我将 Landscape 更新应用到了 Landscape 服务器,但现在无法启动。日志似乎表明需要更新数据库架构,但我不知道该如何操作或更新什么。我经常从 Landscape 服务器上的 cron 守护程序收到以下电子邮件:
<11>Apr 21 08:15:01 update-alerts: Traceback (most recent call last):
<11>Apr 21 08:15:03 update-alerts: File "/opt/canonical/landscape/get-distributed-lock", line 7, in <module>
<11>Apr 21 08:15:03 update-alerts: run()
<11>Apr 21 08:15:03 update-alerts: File "/opt/canonical/landscape/canonical/landscape/scripts/batch.py", line 76, in __call__
<11>Apr 21 08:15:03 update-alerts: self.setup()
<11>Apr 21 08:15:03 update-alerts: File "/opt/canonical/landscape/canonical/landscape/scripts/batch.py", line 124, in setup
<11>Apr 21 08:15:03 update-alerts: check_pending_patches(clean_stores=False)
<11>Apr 21 08:15:03 update-alerts: File "/opt/canonical/landscape/canonical/landscape/schema/verify.py", line 129, in check_pending_patches
<11>Apr 21 08:15:03 update-alerts: raise RuntimeError("Databases need schema changes")
<11>Apr 21 08:15:03 update-alerts: RuntimeError: Databases need schema changes
<11>Apr 21 08:15:03 landscape-profiles: Traceback (most recent call last):
<11>Apr 21 08:15:04 landscape-profiles: File "/opt/canonical/landscape/get-distributed-lock", line 7, in <module>
<11>Apr 21 08:15:04 landscape-profiles: run()
<11>Apr 21 08:15:04 landscape-profiles: File "/opt/canonical/landscape/canonical/landscape/scripts/batch.py", line 76, in __call__
<11>Apr 21 08:15:04 landscape-profiles: self.setup()
<11>Apr 21 08:15:04 landscape-profiles: File "/opt/canonical/landscape/canonical/landscape/scripts/batch.py", line 124, in setup
<11>Apr 21 08:15:04 landscape-profiles: check_pending_patches(clean_stores=False)
<11>Apr 21 08:15:04 landscape-profiles: File "/opt/canonical/landscape/canonical/landscape/schema/verify.py", line 129, in check_pending_patches
<11>Apr 21 08:15:04 landscape-profiles: raise RuntimeError("Databases need schema changes")
<11>Apr 21 08:15:04 landscape-profiles: RuntimeError: Databases need schema changes
<11>Apr 21 08:15:05 process-alerts: Traceback (most recent call last):
<11>Apr 21 08:15:06 process-alerts: File "/opt/canonical/landscape/get-distributed-lock", line 7, in <module>
<11>Apr 21 08:15:06 process-alerts: run()
<11>Apr 21 08:15:06 process-alerts: File "/opt/canonical/landscape/canonical/landscape/scripts/batch.py", line 76, in __call__
<11>Apr 21 08:15:06 process-alerts: self.setup()
<11>Apr 21 08:15:06 process-alerts: File "/opt/canonical/landscape/canonical/landscape/scripts/batch.py", line 124, in setup
<11>Apr 21 08:15:06 process-alerts: check_pending_patches(clean_stores=False)
<11>Apr 21 08:15:06 process-alerts: File "/opt/canonical/landscape/canonical/landscape/schema/verify.py", line 129, in check_pending_patches
<11>Apr 21 08:15:06 process-alerts: raise RuntimeError("Databases need schema changes")
<11>Apr 21 08:15:06 process-alerts: RuntimeError: Databases need schema changes
在/etc/default/landscape 服务器,
UPGRADE_SCHEMA="yes"
我从哪说起呢?
欢呼吧,詹姆斯
答案1
自动架构升级不会自动添加缺失的依赖项。安装缺失的包(sudo apt-get install postgresql-plpython3-10
)并运行setup-landscape-server
迁移架构是解除阻止的方法,如https://docs.ubuntu.com/landscape/en/ReleaseNotes19.10