最新バージョン (Mitaka) を使用して新しく作成した OpenStack クラスターを実行しており、salt-cloud を使用していくつかの VM を事前に準備および管理したいと考えています。私が見ることができるフォームは、salt-cloud がキーストーン ID V3 API を処理しないため、権限を与えられず、OpenStack ack API にアクセスできません。
sudo salt-cloud --list-images=my-nova
openstack ドライバーが廃止されているように見えるため、現在のプロバイダー構成は次のようになります。私は nova を使用しています。アイデンティティ URL は、horizon にリストされているものと同一であり、curl を使用してマスターが OpenStack と通信できることをテストしました
my-nova:
identity_url: 'http://controller:35357/v3'
compute_region: nova
user: admin
password: pass
project-user: default
project-domain: default
tenant: default
driver: nova
上記のコマンドを実行すると、次のメッセージが表示されます
Failed to get the output of 'nova.avail_images()': The request you have made requires authentication. (HTTP 401)
keystone で tcp ダンプを実行すると、次のようになります。
..@.,..VPOST /v3/v2.0/tokens HTTP/1.1
Host: controller:35357
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: application/json
User-Agent: python-novaclient
Content-Type: application/json
Content-Length: 101
{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "pass"}}}
見たところ、salt-stack / python-nova は、三鷹では利用できない古い v2.0 auth api を使用しています。ドキュメントを見たことがありません。v3 API を使用するように nova に指示するためのソルト クラウド プロバイダーの構成が欠落している可能性があります。