ConoHaでOpenstack Clientを使ってサーバを立ててみる

ConoHaはOpenStack APIが使える!と書いてあったのでやってみました。

内容については保証しません。

APIの準備

これらはWebからやる

  • ConoHaと契約
  • APIユーザを作って有効化

Clientの準備

Ubuntu使っているので

  • sudo apt-get install python3-pip
  • pip3 install python-openstackclient
  • .local/binにPATHが通っている事を確認
  • OS_USERNAME/OS_PASSWORD/OS_TENANT_NAME/OS_AUTH_URLの環境変数を設定

TENANT_NAMEの一覧が見つからなかったんだけど、

  • 実行テスト

    user@clienthost:~/conoha$ openstack module list
    +-----------------+--------+
    | Field | Value |
    +-----------------+--------+
    | cinderclient | 3.5.0 |
    | keystoneclient | 3.15.0 |
    | novaclient | 10.1.0 |
    | openstack | 0.12.0 |
    | openstackclient | 3.15.0 |
    +-----------------+--------+

SSH Public Keyを設定

Web GUIからED25519のPublic Keyを設定できなかったけど、CLIなら出来る

でも、今回 cloud config使わないインストールをしちゃったので意味は無い。

  • openstack keypair create –public-key id_ed25519.pub keyname

    user@clienthost:~/conoha$ openstack keypair create --public-key id_ed25519.pub clienthost
    +-------------+-------------------------------------------------+
    | Field | Value |
    +-------------+-------------------------------------------------+
    | fingerprint | xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx |
    | name | clienthost |
    | user_id | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
    +-------------+-------------------------------------------------+
  • openstack keypair list/showで確認

ISO Imageの Upload

ここでいきなり作業が止まる。

openstack image createが通らないでConoHaのAPIを確認したところ

Computeにiso-imageをInternetからDownloadして追加するというAPIがある、、、

けどこれって普通のOpenStackに無いような。

ConoHa Compute API – ISO Download Add

OpenStack Compute API Reference

とりあえずAPI叩いてDownloadさせてみた。

普通はここら辺を使うと良いと思う⇒ConoHa ISO

しかし、これってdownloadされたisoのsha256とかのsum確認が出来ないのがちょっと不満

属性に追加して欲しい>sum

なお、利用にあたっては GET/iso-imagesによる一覧取得でpathを入手して、

servers/actionでmountImageとunmountImageを行う事でisoが利用できる。

仮想マシンのインスタンスはSTOPしておく必要があるので注意する事

{
  ["iso-images"] = {{
    ctime = "Fri Dec 1 06:54:21 2017",
    name = "alpine-virt-3.7.0-x86_64.iso",
    path = "/mnt/isos/repos/tenant_iso_data/<tenant id="id">/alpine-virt-3.7.0-x86_64.iso",
    size = 38797312,
    url = "http://dl-cdn.alpinelinux.org/alpine/v3.7/releases/x86_64/alpine-virt-3.7.0-x86_64.iso"
  }}
}

仮想マシンを作る

  • openstack flavor list

    フレーバーの一覧を確認

  • openstack image list

    イメージの一覧を確認

  • openstack server create –image vmi-arch-amd64 –flavor g-1gb servername

    serverを作成(どうせISOで入れ直すので無視してarch-linuxにしてみた/名前については後述)

  • openstack server stop server-id

    serverをstop

  • openstack server set –property instance_name_tag=”alpine” server-id

    serverのpropertyでinstance_name_tagにConoHaのWeb GUIで表示される名前を入れる。Create時に指定した名前は無視されて外部IPアドレスを元にした名前が勝手につくようだ。

  • APIを使ってISOをMount

OSインストール

ここはURLの取得だけでGUIになってしまった、、、。

  • openstack console url show serverid

サーバを起動してコンソール開いてインストール(GUI)

まとめ

ISO の Download指示とmount/unmountが出来ればだいたいopenstackコマンドでいける