
我使用 Ubuntu 的 Autopilot (openstack-install) 安裝了 Openstack。第一個環境的引導程式(稱為「maas」)是一個虛擬機,我從 openstack-installer 套件內的工具資料夾中取得它。
虛擬機器內部有六個容器,每個容器都有一個服務(apache2、haproxy、landscape、landscape-msg、postgresql 和rabbitmq-server)。從景觀容器中「啟動」了另一個環境(在我的例子中稱為「8」),其中包含所有 openstack 服務。
一切正常,直到我第一次重新啟動。 Landscape 無法訪問,原因是對於 juju,landscape 的 IP 為 10.0.3.1,這是網橋 (lxcbr0) IP 位址,而不是 eth0 IP 位址(在我的例子中為 10.222.221.140)。結果如何?當它嘗試連接到landscape時,它轉到了10.0.3.1,因此它轉到了VM而不是landscape正在運行的容器。
據報道,我發現這是一個 juju 核心錯誤https://bugs.launchpad.net/juju-core/+bug/1416928,所以我從 juju-core 1.20.x 更新到 1.21.3。重新啟動並取得正確的 IP,如下所示:
$ JUJU_HOME=~/.cloud-install/ juju status landscape/0
environment: maas
machines:
"0":
agent-state: started
agent-version: 1.21.3.3
[...]
containers:
0/lxc/2:
agent-state: started
agent-version: 1.21.3.3
dns-name: 10.222.221.140
[...]
services:
landscape:
[...]
units:
landscape/0:
[...]
public-address: 10.222.221.140
問題是現在服務沒有運作:
景觀/0:代理狀態:錯誤代理狀態資訊:'掛鉤失敗:「設定變更」'代理版本:1.21.3.3 機器:0/lxc/2 公用位址:10.222.221.140
我已經嘗試過juju resolved --retry landscape/0
,但不起作用。有任何線索為什麼會發生這種情況嗎?
答案1
很高興您能在最新版本的 Juju 上使用它。
您貼上的日誌似乎是machine-0.log
我們實際上需要查看的/var/log/juju/unit-landscape-0.log
。如果有人再次看到此內容,可以嘗試以下操作:
juju run --service landscape,landscape-msg 'sudo lsctl restart'
這應該會在控制台上向您顯示有關無法啟動的更多詳細資訊。