OpenStack Networking (neutron) サービスを設定する前に、データベース、サービスクレデンシャル、API エンドポイントを作成する必要があります。
データベースを作成するには、これらの手順をすべて実行します。
データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。
$ mysql -u root -p
neutron データベースを作成します。
CREATE DATABASE neutron;
neutron データベースに適切なアクセス権を付与します。NEUTRON_DBPASS を適切なパスワードで置き換えます。
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
IDENTIFIED BY 'NEUTRON_DBPASS';
データベースクライアントを終了します。
admin クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。
$ source admin-openrc.sh
以下の手順を実行して、サービスクレデンシャルを作成します。
neutron ユーザーを作成します。
$ openstack user create --domain default --password-prompt neutron
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | b20a6692f77b4258926881bf831eb683 |
| name | neutron |
+-----------+----------------------------------+
admin ロールを neutron ユーザーに追加します。
$ openstack role add --project service --user neutron admin
注釈
このコマンドは何も出力しません。
neutron サービスエンティティーを作成します。
$ openstack service create --name neutron \
--description "OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | f71529314dab4a4d8eca427e701d209e |
| name | neutron |
| type | network |
+-------------+----------------------------------+
Networking サービス API エンドポイントを作成します。
$ openstack endpoint create --region RegionOne \
network public http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 85d80a6d02fc4b7683f611d7fc1493a3 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
network internal http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 09753b537ac74422a68d2d791cf3714f |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
network admin http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 1ee14289c9374dffb5db92a5c112fc4e |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f71529314dab4a4d8eca427e701d209e |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
Networking サービスは、オプション 1 と 2 の 2 つのアーキテクチャーのいずれかを使ってデプロイできます。
オプション 1 は、可能な限り最も単純なアーキテクチャーをデプロイします。パブリック (プロバイダー) ネットワークへのインスタンスの接続のみに対応します。セルフサービスのネットワークやルーター、Floating IP アドレスはサポートされません。 admin や他の特権ユーザーだけがプロバイダーネットワークを管理できます。
オプション 2 は、オプション 1 にレイヤー 3 サービスを組み合わせたもので、セルフサービス (プライベート) ネットワークへのインスタンスの接続をサポートします。 demo や他の非特権ユーザーがセルフサービスネットワークを管理し、それにはセルフサービスネットワークやプロバイダーネットワークの間の接続性を提供するルーターも含まれます。また、 Floating IP アドレスにより、セルフサービスネットワークに接続されたインスタンスへの、インターネットなどの外部ネットワークからの接続性が提供されます。
注釈
オプション 2 では、パブリック (プロバイダー) ネットワークへのインスタンスの接続もサポートされます。
以下のネットワークオプションのいずれかを選択して、サービスをオプションに応じて設定します。その後、ここに戻り、 メタデータエージェントの設定 に進んでください。
メタデータエージェント は、クレデンシャルなどの設定情報をインスタンスに提供します。
/etc/neutron/metadata_agent.ini ファイルを編集し、以下の作業をすべて行います。
[DEFAULT] セクションに、アクセスパラメーターを設定します。
[DEFAULT]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_region = RegionOne
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = neutron
password = NEUTRON_PASS
NEUTRON_PASS を Identity サービスにおいて neutron ユーザー用に選択したパスワードで置き換えます。
[DEFAULT] セクションに、メタデータホストを設定します。
[DEFAULT]
...
nova_metadata_ip = controller
[DEFAULT] セクションに、メタデータプロキシーの共有シークレットを設定します。
[DEFAULT]
...
metadata_proxy_shared_secret = METADATA_SECRET
METADATA_SECRET はメタデータプロキシー用に適切なシークレットで置き換えます。
(オプション) トラブルシューティングしやすくするために、冗長ロギングを [DEFAULT] セクションで有効にします。
[DEFAULT]
...
verbose = True
/etc/nova/nova.conf ファイルを編集し、以下の作業をすべて行います。
[neutron] セクションに、アクセス用のパラメーターを設定し、メタデータプロキシーを有効にし、シークレットを設定します。
[neutron]
...
url = http://controller:9696
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True
metadata_proxy_shared_secret = METADATA_SECRET
NEUTRON_PASS を Identity サービスにおいて neutron ユーザー用に選択したパスワードで置き換えます。
METADATA_SECRET はメタデータプロキシ用に選択した適切なシークレットで置き換えます。
データベースを展開します。
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
注釈
データベースの展開は、スクリプトが設定済みのサーバーとプラグインの設定ファイルを前提としているため、Networking の設定後に行います。
Compute API サービスを再起動します。
# service nova-api restart
Networking サービスを再起動します。
どちらのネットワークオプションの場合も、以下を行います。
# service neutron-server restart
# service neutron-plugin-linuxbridge-agent restart
# service neutron-dhcp-agent restart
# service neutron-metadata-agent restart
Networking オプション 2 の場合、L3 サービスも再起動します。
# service neutron-l3-agent restart
デフォルトでは、Ubuntu パッケージは SQLite データベースを作成します。
今回の設定では SQL データベースサーバーを使用するため、SQLite データベースファイルを削除できます。
# rm -f /var/lib/neutron/neutron.sqlite
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.