M-CORD and OpenStack Dashboard access

M-CORD and OpenStack Dashboard access

在 CORD 當中,所有 Service instance 都是透過 XOS 呼叫 OpenStack 去得到一臺 VM,而這臺 VM 的規格也是我們自己指定的 Flavor,在此篇將簡單介紹 CORD 當中如何去存取 OpenStack Dashboard(Horizon)與 Instance。

在 CORD 官方指南是很值得參考的資源:

而下圖是出自於 2017 ONOS/CORD Taiwan Workshop 的 CORD 架構圖:

CORD-in-a-box Architecture

前情提要

這一篇 Blog 目的想要記錄當 CORD Service Deploy 上去並建立一個 Instance,卻因為網路不明原因而失敗,所以才開始研究 Openstack Neutron 與 CORD 之間的運作機制。

首先需要先知道我們有三台 Vagrant VM:

這三台分別有著不同的功能:

  • prod:OpenStackONOSXOS 都跑在這臺 VM 的 Docker Container 當中。
  • compute_node:被 OpenStack 所控制的機器,且只能被 prod access。
  • corddev:在安裝 CiaB 時,會把所有 Docker Container 放在這裡 Build,像是 OpenStackONOSXOS 都是在此做的。

prod 主機當中的 docker

這裡面的 Docker Container 包含了 XOSONOS 相關的 Container,例如我們存取的 M-CORD Admin Page 就是 xos-ui 這個 Container 負責的。

prod 主機當中的 lxd container

在這個列表當中,以 -1 結尾的 lxc,代表是 OpenStack 的元件,而若你有出現 testclient,這個 lxc 代表安裝 CORD in a Box 時的測試 Client,為了確定網路有接通。

特別標示出來的這一行 openstack-dashboard-1 是我們這次的目標。

透過 ssh tunnel 打通 OpenStack DashBoard

因為這個 Dashboard 位於 prod 上,因此我們可以使用以下指令來建立 SSH Tunnel:

這個指令會將安裝 CORD in a Box 的機器 Listen 在所有 Interface 的 9999 Port,並建 Tunnel 到 prod 主機的 10.1.0.11,也就是 Horizon 所在的機器的 80 Port。

接下來你就可以連線到:https://<ciab-ip-address>:9999/horizon 存取 OpenStack Horizon 了。

至於它的預設密碼,你能夠於 ~/service-profile/mcord/admin-openrc.sh 找到,admin-openrc.sh 同時也是我們要使用 nova 指令來控制 OpenStack 時需要的檔案。

在 OpenStack 上可以看到透過 XOS 所建立的 Instance:

常用到的指令

畢竟 CLI 的可控程度遠高於 GUI,因此在這也記錄一下常用到的指令,請記得要 source ./admin-openrc.sh 就是了:

列出所有 Tenant

列出所有 Network

列出所有 Port

刪除某個 Network

刪除某個 Port

Leave a Reply

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