VIM コネクタの管理
VIM コネクタには、URL や認証クレデンシャルなどの詳細が含まれており、ESC が VIM に接続して通信できるようにします。VIM コネクタが設定されている場合、ESC は複数の VIM に接続します。VIM コネクタとそのクレデンシャルは、次の 2 つの方法で設定できます。
-
bootvm.py パラメータを使用したインストール時:bootvm.py を使用して 1 つの VIM コネクタのみを設定でき、これがデフォルトのVIMコネクタになります。
-
VIM コネクタ API を使用:VIM コネクタ API を使用すると、複数の VIM コネクタを追加できます。デフォルトの VIM コネクタ(bootvm.py パラメータを使用して設定されていない場合)と追加の VIM コネクタを設定できます。
デフォルトの VIM コネクタは、ESC をデフォルト VIM に接続します。マルチ VIM 展開の各 VIM は VIM コネクタで設定されます。これらの VIM はデフォルト以外の VIM です。ESC は、デフォルトの VIM でリソースを作成および管理します。デフォルト以外の VIM では、展開のみがサポートされます。
単一の VIM 展開では、単一の設定済み VIM コネクタがデフォルトの VIM コネクタになります。マルチ VIM 展開の場合は、複数のコネクタを追加し、デフォルトの VIM コネクタ API を使用して 1 つのコネクタをデフォルトとして指定する必要があります。詳細については、複数の OpenStack VIM への VNF の展開を参照してください。
![]() (注) |
ESC は、次の条件が満たされた場合にのみ、リソースまたは展開を作成、更新、または削除するノースバウンド設定要求を受け入れます。
|
VIM コネクタの設定
VIM コネクタは、インストール中またはインストール後に設定できます。
インストール中の VIM コネクタの設定
インストール中に VIM コネクタを設定するには、次のパラメータを bootvm.py に指定する必要があります。
環境変数 |
bootvm.py 引数 |
---|---|
OS_TENANT_NAME |
--os_tenant_name |
OS_USERNAME |
--os_username |
OS_PASSWORD |
--os_password |
OS_AUTH_URL |
--os_auth_url |
インストール後の VIM コネクタの設定
インストール後に VIM コネクタを設定するには、次のパラメータを bootvm.py に指定する必要があります。
--no_vim_credentials
no_vim_credentials パラメータが指定されている場合、次の bootvm.py 引数は無視されます。
-
os_tenant_name
-
os_username
-
os_password
-
os_auth_url
インストールの詳細については、Cisco Elastic Services Controller インストールおよびアップグレードガイド [英語] を参照してください。インストール後に VIM コネクタ API を使用して同じ設定を行うことができます。詳細については、VIM コネクタ API を使用した VIM コネクタの管理を参照してください。
デフォルトの VIM コネクタ
デフォルトの VIM コネクタ API を使用すると、展開で複数のコネクタを使用できる場合にデフォルトの VIM コネクタを指定できます。
単一の VIM 展開の場合、ESC は単一の VIM コネクタをサポートします。この単一の VIM コネクタがデフォルトの VIM コネクタになります。ESC は、マルチ VIM 展開用に複数の VIM コネクタをサポートします。新しいロケータ属性を使用して、デフォルトの VIM コネクタを設定できます。展開およびリソースの作成に ESC リリース 2.x データモデルを使用している場合は、ESC でデフォルトの VIM コネクタを明示的に設定します。
ロケータ属性は、デフォルト以外の VIM に VM を展開するためのデータモデルに導入されています。詳細については、複数の OpenStack VIM への VNF の展開を参照してください。
展開中に VIM コネクタが使用可能であるが、デフォルトのコネクタがまだ設定されていない場合は、ロケータ属性を指定する必要があります。指定しない場合、要求は拒否されます。
デフォルトの VIM コネクタが設定されていない場合、ESC リリース 3.0 より前のデータモデルは使用できません。ESC リリース 2.x から ESC リリース 3.0 以降にアップグレードすると、既存の VIM コネクタがデフォルトの VIM コネクタとしてプロビジョニングされます。
![]() (注) |
デフォルトの VIM コネクタは、設定後に別のコネクタに変更したり、削除したりできません。 |
デフォルトのコネクタは、データモデルの最上位(または先頭)で指定する必要があります。次に、データモデルを示します。
<esc_system_config>
<vim_connectors>
<default_vim_connector>vim1</default_vim_connector>
<vim_connector>
<id>vim1</id>
...
</vim_connector>
<vim_connector>
<id>vim2</id>
...
</vim_connector>
</vim_connectors>
</esc_system_config>
REST API を使用してデフォルトの VIM コネクタを追加するには、次のようにします。
<?xml version="1.0"?>
<default_vim_connector xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<defaultVimConnectorId>tb3_v3</defaultVimConnectorId>
</default_vim_connector>
インストール時に VIM コネクタを追加するには、VIM コネクタの設定の「インストール時の VIM コネクタの設定」を参照してください。VIM コネクタを使用すると、複数の VIM を ESC に接続できます。マルチ VIM 展開の詳細については、複数の OpenStack VIM への VNF の展開を参照してください。
VIM コネクタの削除
デフォルトの VIM コネクタが作成および設定されると、ESC は SystemAdminTenant を自動的に作成します。SystemAdminTenant は削除できません。VIM が接続され、VIM ユーザがシステム管理者テナントに認証されます。したがって、デフォルトの VIM は削除も更新もできません。ただし、VIM ユーザとそのプロパティは削除または更新できます。ESC から VIM 上に作成されたリソースが存在しない場合は、デフォルト以外の VIM コネクタを更新および削除できます。ESC を介して VIM にリソースが作成されている場合は、最初にリソースを削除してから、VIM ユーザを削除して VIM コネクタを削除する必要があります。
VIM コネクタ API を使用した VIM コネクタの管理
VIM ログイン情報を渡さずに ESC を展開した場合は、VIM コネクタと VIM ユーザ API(REST または NETCONF API)を使用して、ESC から VIM ログイン情報を設定できます。インストール時にデフォルトの VIM コネクタを設定している場合でも、VIM コネクタ API を使用して追加の VIM コネクタを設定できます。
NETCONF API を使用した管理
-
NETCONF を使用した VIM ログイン情報の提供:
<esc_system_config xmlns="http://www.cisco.com/esc/esc"> <vim_connectors> <!--represents a vim--> <vim_connector> <!--unique id for each vim--> <id>my-server</id> <!--vim type [OPENSTACK|VMWARE_VSPHERE|LIBVIRT|AWS|CSP]--> <type>OPENSTACK</type> <properties> <property> <name>os_auth_url</name> <value>http://{os_ip:port}/v3</value> </property> <!-- The project name for openstack authentication and authorization --> <property> <name>os_project_name</name> <value>vimProject</value> </property> <!-- The project domain name is only needed for openstack v3 identity api --> <property> <name>os_project_domain_name</name> <value>default</value> </property> <property> <name>os_identity_api_version</name> <value>3</value> </property> </properties> <users> <user> <id>admin</id> <credentials> <properties> <property> <name>os_password</name> <value>********</value> </property> <!-- The user domain name is only needed for openstack v3 identity api --> <property> <name>os_user_domain_name</name> <value>default</value> </property> </properties> </credentials> </user> </users> </vim_connector> </vim_connectors> </esc_system_config>
-
NETCONF を使用した VIM コネクタの更新:
<esc_system_config xmlns="http://www.cisco.com/esc/esc"> <vim_connectors> <vim_connector nc:operation="replace"> <id>example_vim</id> <type>OPENSTACK</type> <properties> <property> <name>os_auth_url</name> <value>{auth_url}</value> </property> <property> <name>os_project_name</name> <value>vimProject</value> </property> <!-- The project domain name is only needed for openstack v3 identity api --> <property> <name>os_project_domain_name</name> <value>default</value> </property> <property> <name>os_identity_api_version</name> <value>3</value> </property> </properties> </vim_connector> </vim_connectors> </esc_system_config>
-
Netconf を使用した VIM ユーザの更新:
<esc_system_config xmlns="http://www.cisco.com/esc/esc"> <vim_connectors> <vim_connector> <id>example_vim</id> <users> <user nc:operation="replace"> <id>my_user</id> <credentials> <properties> <property> <name>os_password</name> <value>********</value> </property> <!-- The user domain name is only needed for openstack v3 identity api --> <property> <name>os_user_domain_name</name> <value>default</value> </property> </properties> </credentials> </user> </users> </vim_connector> </vim_connectors> </esc_system_config>
-
Netconf を使用した VIM コネクタの削除:
<esc_system_config xmlns="http://www.cisco.com/esc/esc"> <vim_connectors> <vim_connector nc:operation="delete"> <id>example_vim</id> </vim_connector> </vim_connectors> </esc_system_config>
-
NETCONF を使用した VIM ユーザの削除:
<esc_system_config xmlns="http://www.cisco.com/esc/esc"> <vim_connectors> <vim_connector> <id>example_vim</id> <users> <user nc:operation="delete"> <id>my_user</id> </user> </users> </vim_connector> </vim_connectors> </esc_system_config>
-
コマンドを使用した VIM コネクタの削除: $/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli --user <username> --password <password> delete-vim-connector <vim connector id>
-
コマンドを使用した VIM ユーザの削除:
$/opt/cisco/esc/esc-confd/esc-cli/esc_nc_cli --user <username> --password <password> delete-vim-user <vim connector id> <vim user id>
REST API を使用した管理
-
REST を使用した VIM の追加: POST /ESCManager/v0/vims/ HEADER: content-type, callback <?xml version="1.0"?> <vim_connector xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <id>example_vim</id> <type>OPENSTACK</type> <properties> <property> <name>os_auth_url</name> <value>{auth_url}</value> </property> <property> <name>os_project_name</name> <value>vimProject</value> </property> <!-- The project domain name is only needed for openstack v3 identity api --> <property> <name>os_project_domain_name</name> <value>default</value> </property> <property> <name>os_identity_api_version</name> <value>3</value> </property> </properties> </vim_connector>
-
REST を使用した VIM ユーザの追加:
POST /ESCManager/v0/vims/{vim_id}/vim_users HEADER: content-type, callback <?xml version="1.0"?> <user xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <id>my_user</id> <credentials> <properties> <property> <name>os_password</name> <value>********</value> </property> <!-- The user domain name is only needed for openstack v3 identity api --> <property> <name>os_user_domain_name</name> <value>default</value> </property> </properties> </credentials> </user>
-
REST を使用した VIM の更新:
PUT /ESCManager/v0/vims/{vim_id} HEADER: content-type, callback <?xml version="1.0"?> <vim_connector xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <!--unique id for each vim--> <id>example_vim</id> <type>OPENSTACK</type> <properties> <property> <name>os_auth_url</name> <value>{auth_url}</value> </property> <property> <name>os_project_name</name> <value>vimProject</value> </property> <!-- The project domain name is only needed for openstack v3 identity api --> <property> <name>os_project_domain_name</name> <value>default</value> </property> <property> <name>os_identity_api_version</name> <value>3</value> </property> </properties> </vim_connector>
-
REST を使用した VIM ユーザの更新:
PUT /ESCManager/v0/vims/{vim_id}/vim_users/{vim_user_id} HEADER: content-type, callback <?xml version="1.0"?> <user xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <id>my_user</id> <credentials> <properties> <property> <name>os_password</name> <value>********</value> </property> <!-- The user domain name is only needed for openstack v3 identity api --> <property> <name>os_user_domain_name</name> <value>default</value> </property> </properties> </credentials> </user>
-
REST を使用した VIM の削除:
DELETE /ESCManager/v0/vims/{vim_id}
-
REST を使用した VIM ユーザの削除:
DELETE /ESCManager/v0/vims/{vim_id}/vim_users/{vim_user_id}
-
各 VIM または VIM ユーザの設定が完了した後の通知の例: <?xml version="1.0" encoding="UTF-8"?> <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>2016-10-06T16:24:05.856+00:00</eventTime> <escEvent xmlns="http://www.cisco.com/esc/esc"> <status>SUCCESS</status> <status_code>200</status_code> <status_message>Created vim connector successfully</status_message> <vim_connector_id>my-server</vim_connector_id> <event> <type>CREATE_VIM_CONNECTOR</type> </event> </escEvent> </notification>
API の詳細については、Cisco Elastic Services Controller API ガイド [英語] を参照してください。
特記事項:-
複数の VIM コネクタを追加できますが、すべての VIM コネクタが同じ VIM タイプである必要があります。OpenStack VIM にのみ複数の VIM コネクタを追加できます。ただし、VIM コネクタごとに設定できる VIM ユーザは 1 人だけです。
-
os_project_name プロパティと os_project_domain_name プロパティでは、VIM コネクタのプロパティの下で認証および承認を得るための OpenStackプロジェクトの詳細を指定します。os_tenant_name プロパティは、VIM ユーザの下に存在する場合は無視されます。
-
VIM コネクタのプロパティ os_auth_url と os_project_name、および VIM ユーザプロパティ os_password は、OpenStack VIM の必須プロパティです。これらのプロパティが指定されていない場合、VIM コネクタの作成要求は拒否されます。
-
VIM のユーザ名とパスワードはいつでも更新できます。ESC で作成されたリソースが存在する間は、VIM エンドポイントは更新できません。
-
VIM プロパティまたは VIM ユーザログイン情報プロパティの名前は大文字と小文字が区別されません。たとえば、OS_AUTH_URL と os_auth_url は ESC にとっては同じです。
-
VIM コネクタのログイン情報を暗号化するには、既存の <value> フィールドを <encrypted_value> で置き換えます。
次の例を参考にしてください。
<credentials>
<properties>
<property>
<name>os_password</name>
<encrypted_value>********</encrypted_value>
</property>
<property>
<name>os_user_domain_name</name>
<value>default</value>
</property>
</properties>
</credentials>
これにより、/opt/cisco/esc/esc_database_esc_confd.conf に含まれるキーを使用して、os_value パスワードが aes-cfb-128-encrypted-string として CFB に保存されます。
![]() (注) |
既存の値は、指定されたログイン情報内でのみ暗号化された値に置換される必要があります。 |
詳細については、「設定データの暗号化」を参照してください。
VIM コネクタのステータス API
次の表に、VIM コネクタのステータスと各 VIM コネクタのステータスメッセージを示します。ステータスには、VIM の ESC 接続および認証ステータスが表示されます。
VIM 到達可能性 |
ユーザ認証 |
ステータス(ESC による) |
ステータス メッセージ |
---|---|---|---|
到達不能 |
- |
CONNECTION_FAILED |
VIM 接続を確立できません |
到達可能 |
VIM ユーザが設定されていません |
NO_CREDENTIALS |
VIM ユーザログイン情報が見つかりません |
到達可能 |
認証に失敗しました |
AUTHENTICATION_FAILED |
VIM 認証に失敗しました |
到達可能 |
認証の成功 |
CONNECTION_SUCCESSFUL |
VIM に正常に接続しました |
REST API を使用したステータス
HTTP 操作:GET
パス:ESCManager/v0/vims, ESCManager/v0/vims/<specific_vim_id>
サンプルの REST 応答は次のとおりです。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vim_connector xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<properties>
<property>
<name>os_auth_url</name>
<value>http://172.16.0.0:5000/v2.0/</value>
</property>
</properties>
<id>default_openstack_vim</id>
<status>CONNECTION_SUCCESSFUL</status>
<status_message>Successfully connected to VIM</status_message>
<type>OPENSTACK</type>
</vim_connector>
NETCONF API を使用したステータス
opdata にステータスが表示されます。VIM コネクタステータスは、VIM コネクタコンテナ内にあります。
サンプルの opdata は次のとおりです。
<system_config>
<active_vim>OPENSTACK</active_vim>
<openstack_config>
<os_auth_url>http://172.16.0.0:5000/v2.0/</os_auth_url>
<admin_role>admin</admin_role>
<os_tenant_name>admin</os_tenant_name>
<os_username>admin</os_username>
<member_role>_member_</member_role>
</openstack_config>
<vim_connectors>
<vim_connector>
<id>my-server</id>
<status>CONNECTION_FAILED</status>
<status_message>Unable to establish VIM connection</status_message>
</vim_connector>
<vim_connector>
<id>Openstack-Liberty</id>
<status>NO_CREDENTIALS</status>
<status_message>No VIM user credentials found</status_message>
</vim_connector>
</vim_connectors>
</system_config>
VIM コネクタ操作のステータス
VIM _CONNECTION_STATE 通知は、REST および NETCONF を介して ESC に追加された各 VIM コネクタおよびユーザのステータスを通知します。VIM コネクタの詳細については、VIM コネクタの管理を参照してください。
通知には次の内容が表示されます。
-
イベントタイプ:VIM _CONNECTION_STATE
-
ステータス:成功または失敗
-
ステータス メッセージ
-
vim_connector_id
VIM コネクタのモニタリング、VIM ユーザの追加または削除、および VIM コネクタの更新に関する通知が送信されます。成功と失敗の通知の例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2017-06-27T14:50:40.823+00:00</eventTime>
<escEvent xmlns="http://www.cisco.com/esc/esc">
<status>FAILURE</status>
<status_code>0</status_code>
<status_message>VIM Connection State Down</status_message>
<vim_connector_id>my-server</vim_connector_id>
<event>
<type>VIM_CONNECTION_STATE</type>
</event>
</escEvent>
</notification>
<?xml version="1.0" encoding="UTF-8"?>
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2017-06-27T14:51:55.862+00:00</eventTime>
<escEvent xmlns="http://www.cisco.com/esc/esc">
<status>SUCCESS</status>
<status_code>0</status_code>
<status_message>VIM Connection State Up</status_message>
<vim_connector_id>my-server</vim_connector_id>
<event>
<type>VIM_CONNECTION_STATE</type>
</event>
</escEvent>
</notification>