CORD in a Box 踩雷日記

CORD in a Box 踩雷日記

這一篇文章紀錄我在安裝 CiaB (CORD-in-a-Box) 碰到的問題和部分自行摸索到 好像可以解決 的解決方法。

寫在前頭

因為 CORD in a Box 真的不是很好裝,根據學長們口述大概要十幾次才裝得成功。而到現在也已經裝了五六次 CORD 在虛擬機之中,也成功在實體機器裝起 CORD in a Box。

如果在 CloudLab 安裝的話,我都是只要一 Fail 就馬上 Terminate VM 並重新 request 一台 VM,重新跑一次安裝。

順便說一下我安裝的習慣,或許可以作為 被 CORD 弄到心煩意亂 的解決方法:

  • 先從 CloudLab Shell 改掉使用者密碼
  • ssh 進去,直接 sudo su -(這看個人意願啦,單純用這個跑幾乎都成功就成習慣了)
  • 開一個 tmux,執行之後 detech 然後就去睡覺

關於重置

如果說我們在 CloudLab 就沒話說,但是如果我們在實體機器上重灌就不像 CloudLab 那個容易了。

因此,學會如何把環境清空是很重要的一件事情,CORD 主要會幫你裝三個 vagrant VM:build_corddev, build_prod, build_compute_node-1,而在安裝的開始(大概 10 分鐘以內)只會見到前面兩個,然後就 Fail 了 (´・_・`)

所以說,如果你安裝 CORD 在實體機的時候,有碰到一些奇怪的問題,如果把這些 vagrant VM 清空基本上就相當於乾淨的環境,可以重新跑一次安裝了。

大概要刪的檔案有這一些:

一定要刪除的

  • .vagrant.d/

可能可以不用刪除的(但是我都刪掉)

  • vagrant_1.8.5_x86_64.deb
  • opencord/
  • Vagrantfile(這不一定會有,應該是設定檔)
  • .bundle/
  • .cache/
  • .repo_.gitconfig.json
  • .repoconfig/

Name build_corddev of domain about to create is already taken.

這是我最常碰到的一個問題,所以研究一下要怎麼解決就可以發現是因為 Vagrant 已經創了 VM,因此他現在要使用 build_corddevbuild_prod 這兩個名字就已經被佔用。

因此我們需要去刪除掉他的這兩個 VM,並且把這兩個 Name 釋放出去(如果只有 destroy 會碰到一樣的問題)。

這樣子就可以看到有兩個正在執行的 VM,所以我們可以下:

來把這兩個 VM 刪除掉,並且還需要釋放這兩個 Name:

Volume for domain is already created. Please run ‘vagrant destroy’ first.

如果碰到這個問題,我們會需要去 pool 刪除 image(就是 VM 這個 instance 會以哪一個 image 作成),然後 vol-list 會需要指定 pool,所以我們要給他 default 這一個 pool。

這邊可以再使用 vol-delete <image_name> --pool default 來把所有下載的 image 刪除,就可以重新執行不會出現這個錯誤了

Automatic Cleanup CiaB Installation

而其實 ./cord-in-a-box.sh 提供了自動清除的方法,也就是執行 bash ./cord-in-a-box.sh -c | tee /tmp/ciab.out,如果加上 -t parameter 的話,會導致 maas-provision fail,可以參考到這個連結所述:

Re-running the installation bash script (with -t parameter) would lead to MAAS-provisioning problem coz the compute-node is already provisioned. So, obviously, it can’t be re-provisioned.
With -c parameter, you should not get this problem as it clears the previous installations.

Can’t access M-CORD admin by 8080 port

導致這個問題的發生,是因為我們重新 build M-CORD(或因為不明原因 ssh tunnel 就斷了),為了把這個 bug 修好,我們必須自己把 Tunnel 重新建起來:

寫於文末

我目前碰到的 Bug 有記錄起來的只有少少幾個,寫下這篇希望可以給予之後想嘗試的人一些方向,內容如有錯誤歡迎來信討論。

2 Replies to “CORD in a Box 踩雷日記”

    1. Sure, and there is another trick I learned, you can use bash ./cord-in-a-box.sh -c to clean the environment and rebuild.

Leave a Reply

Your email address will not be published. Required fields are marked *