私の要件は、OpenStack をプロバイダーとして、Juju を汎用 VNF マネージャーとして使用することです。OpenStack プロバイダー ネットワークがあり、Centos ベースのイメージを持つ VNF があります。Ubuntu 14.04.5 LTS で VM を作成し、Juju 2.0 2.0-beta17-trusty-amd64 をインストールしました。
まず、手動ブートストラップを試してチャームを実行し、VNF を展開しました。Centos マシンへの手動プロビジョニングは失敗しました。
今、OpenStackでブートストラップしようとしています。私の設定ファイルは以下の通りです。
~/.local/share/juju:
clouds.yaml config.yaml credential.yaml
clouds:
systack:
type: openstack
regions:
RegionOne:
endpoint: http://x.x.x./v2.0
auth-types: [userpass]
私の資格情報も正しいです
credentials:
systack:
default-credential: xxxx
default-region: RegionOne
juju-dev:
auth-type: userpass
password: xxxx
username: xxxx
tenant-name: xxxx
domain-name: default
config.yaml
agent-metadata-url: https://streams.canonical.com/juju/tools/
agent-stream: devel
default-series: centos7
Juju をブートストラップすると、以下のログが表示されて失敗します。何が問題なのかわかりません。
ubuntu@localhost:~/.local/share/juju$ juju bootstrap openstack systack --config config.yaml --debug
00:14:10 INFO juju.cmd supercommand.go:63 running juju [2.0-beta17 gc go1.6]
00:14:10 INFO cmd cmd.go:141 no credentials found, checking environment
00:14:10 ERROR cmd supercommand.go:458 detecting credentials for "systack" cloud provider: openstack credentials not found
00:14:10 DEBUG cmd supercommand.go:459 (error details: [{github.com/juju/juju/cmd/juju/commands/bootstrap.go:407: } {github.com/juju/juju/cmd/modelcmd/credentials.go:122: detecting credentials for "systack" cloud provider} {github.com/juju/juju/provider/openstack/credentials.go:99: openstack credentials not found}])
答え1
資格情報ファイルはcredentialという名前にする必要がありますs.yaml - 出力のファイル名に s が欠落していることに注意してくださいls
。
参考までに、ファイルを直接操作せずに資格情報を管理するために使用できる/使用すべきコマンドがあります。
juju add-credential
認証情報の入力を促し、credentials.yamlを更新します。juju set-default-credential
。