1997 Words

OpenStack Ussuri マニュアルインストールその7―Horizon 編

Controller

  • Horizon はダッシュボードサービス
  • Web GUI から VM インスタンスやネットワーク管理などの簡単な操作ができてしまう
  • 細かな設定をする場合は CLI が必要になることもあるらしいが、簡単な設定は Horizon で済んでしまう
  • Keystone のみあればインストール可能なので Keystone インストール直後に Horizon を入れて Glance や Nova、Neutron などが入っていく様子を Web から眺めてみるのもありかもしれない

インストール

OpenStack Docs: Install and configure for Ubuntu - Install and configure components

  1. パッケージインストール

    #root user

    apt install openstack-dashboard
    
  2. /etc/openstack-dashboard/local_settings.py編集

    # ...
    
    # コントローラノードのホスト名
    # おそらくKeystoneのAPIエンドポイントアクセス用なので
    # 管理ネットワークで接続できる(`/etc/hosts`に書いた)`controller`でよい
    OPENSTACK_HOST = "controller"
    
    # 接続を受け付けるホスト名
    # Ubuntuの構成セクションにも`ALLOWED_HOSTS`変数があるがこちらは変えてはならないので注意!
    # ワイルドカード指定もできるので、セキュリティを考えて設定するとよい
    # ALLOWED_HOSTS = ['one.example.com', 'two.example.com']
    ALLOWED_HOSTS = ['*']
    
    # セッションストレージにmemcachedを指定
    # 他のセッションストレージの記述はコメントアウトする
    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
    CACHES = {
        'default': {
             'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
             'LOCATION': 'controller:11211',
        }
    }
    
    # Keystone APIエンドポイント
    # ドキュメントには
    # OPENSTACK_KEYSTONE_URL = "http://%s/identity/v3" % OPENSTACK_HOST
    # とあるが、 KeystoneのAPIエンドポイントはポート5000を使用しているので
    # ポート5000を書かないと認証できず一生ログインできないので注意!
    OPENSTACK_KEYSTONE_URL = "http://%s:5000/identity/v3" % OPENSTACK_HOST
    
    # Keystoneマルチドメインを有効
    # OpenStackの`Default`ドメイン以外も指定できるようになるということ…?
    # Default以外のドメインを使わないのであれば追加しなくてよい
    # OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
    
    # 各APIバージョン
    OPENSTACK_API_VERSIONS = {
        "identity": 3,
        "image": 2,
        "volume": 3,
    }
    
    # ダッシュボード上でユーザ作成した場合のデフォルトのOpenStackのドメインを`Default`とする
    # ダッシュボード上でユーザ作成した場合のデフォルトの役割を`user`とする
    # が、この設定効いていない気がするので追加しなくよいと思います…
    # OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
    # OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
    
    # タイムゾーン変更(任意)
    TIME_ZONE = "Asia/Tokyo"
    
    # ...
    
    # デフォルトではUbuntuカラーのテーマだが、変更することも可能(任意)
    # ファイル末尾に設定がある
    
    ###############################################################################
    # Ubuntu Settings
    ###############################################################################
    
    # The default theme if no cookie is present
    # DEFAULT_THEME = 'ubuntu'
    DEFAULT_THEME = 'default'
    
    # ...
    
    • local_settings.py内にはALLOWED_HOSTSが 2 つあり、そのうち Ubuntu の構成セクションのALLOWED_HOSTSは変えてはならないので注意
    • OPENSTACK_KEYSTONE_URLにポート 5000 を追加する必要があるので注意
    • Django 製なので詳細は Django に従う
  3. /etc/apache2/conf-available/openstack-dashboard.conf確認

    • WSGIApplicationGroup %{GLOBAL}の行があることを確認する

    • なければ追加する

      # ...
      WSGIApplicationGroup %{GLOBAL}
      # ...
      

サービス再起動

OpenStack Docs: Install and configure for Ubuntu - Finalize installation

#root user

systemctl restart apache2

動作確認

OpenStack Docs: Verify operation for Ubuntu

  1. http://[Accessable Domain Name / IP Address]/horizonにアクセスする

  2. Defaultドメイン、adminユーザ、ADMIN_PASSパスワードでadminプロジェクトにログインできることを確認する
    !Caution ADMIN_PASSadminユーザのパスワードに書き換える

  3. Keystone インストール手順の動作確認でmyprojectプロジェクトを作成しているはずなので、Defaultドメイン、myuserユーザ、DEMO_PASSパスワードでmyprojectプロジェクトにログインできることを確認する
    !Caution DEMO_PASSmyuserユーザのパスワードに書き換える


おわり

以上で Horizon 編終了です
お疲れ様でした

関連記事一覧