7.4. networking-ansible ML2 機能の有効化

この手順では、オーバークラウドで networking-ansible ML2 ドライバーを有効にする方法を説明します。この設定では、デプロイメントに 2 つの環境ファイルを追加する必要があります。

/usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml
このファイルは、networking-ansible ドライバーを有効にし、ネットワーク種別を vlan に設定します。このファイルは、コア heat テンプレートコレクションにすでに存在します。
/home/stack/templates/ml2-ansible-hosts.yaml
スイッチの詳細情報が含まれるファイルです。このファイルは手動で作成します。

手順

  1. /home/stack/templates/ml2-ansible-hosts.yaml を作成し、以下の初期コンテンツを追加します。

    parameter_defaults:
      ML2HostConfigs:
  2. ML2HostConfigs パラメーターには、スイッチの詳細情報が含まれる dict 値が必要です。dict の各初期キーは、スイッチの名前です。この値によって、OpenStack Networking (neutron) ML2 設定に特定の ansible:[switchname] セクションが定義されます。各スイッチ名のキーには、実際のスイッチの詳細情報が含まれる個別の dict が必要です。たとえば、スイッチを 3 つ設定する場合、スイッチキーを 3 つ追加します。

    parameter_defaults:
      ML2HostConfigs:
        switch1:
          [SWITCH DETAILS]
        switch2:
          [SWITCH DETAILS]
        switch3:
          [SWITCH DETAILS]
  3. 各スイッチには、dict 内に特定のキー値ペアが必要です。

    ansible_network_os

    (必須) スイッチのオペレーティングシステム。選択肢は、junoseos です。

    重要

    Arista Extensible Operating System (eos) のサポートは、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト目的のみでご利用いただく機能で、実稼働環境にデプロイすべきではありません。テクノロジープレビュー機能についての詳しい情報は、「対象範囲の詳細」を参照してください。

    ansible_host
    (必須) スイッチの IP またはホスト名。
    ansible_user
    (必須) Ansible がスイッチにアクセスする際に使用するユーザー。
    ansible_ssh_pass
    (必須) Ansible がスイッチにアクセスするために使用する SSH パスワード。
    mac
    ネットワークデバイスのシャーシ MAC ID。これを使用して、Link Layer Discovery Protocol (LLDP) MAC アドレス値を、ML2HostConfigs 設定で定義されたスイッチ名にマッピングします。この値は、イントロスペクションを使用してポート自動設定を実行する際に必要です。
    manage_vlans
    OpenStack Networking (neutron) が物理デバイス上の VLAN の作成と削除を制御するかどうかを定義するブール型変数。この機能によって、スイッチは各 Neutron ネットワークに対応する ID を持つ VLAN を作成および削除します。スイッチにこれらの VLAN が事前定義されていて、Neutron でスイッチに VLAN を作成したり削除したりする必要がない場合は、このパラメーターを false に設定します。デフォルト値は true です。
  4. 以下の例は、全 ML2HostConfigs パラメーターで、これらの値を対応するキーにマッピングする方法を示しています。

    parameter_defaults:
      ML2HostConfigs:
        switch1:
          ansible_network_os: juno
          ansible_host: 10.0.0.1
          ansible_user: ansible
          ansible_ssh_pass: "p@55w0rd!"
          mac: 01:23:45:67:89:AB
          manage_vlans: false
  5. /home/stack/templates/ml2-ansible-hosts.yaml ファイルを保存します。
  6. オーバークラウドのデプロイメントコマンドの実行時に、-e オプション指定して /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml/home/stack/templates/ml2-ansible-hosts.yaml ファイルを追加します。以下の例で、これらのファイルの追加方法を説明します。

    $ openstack overcloud deploy --templates \
      ...
      -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml \
      -e /home/stack/templates/ml2-ansible-hosts.yaml \
      ...

director は、neutron_api コンテナーの OpenStack Networking (neutron) API の一部としてドライバーを有効にします。