Интеграция Juju с OpenStack: «учетные данные не найдены»

Интеграция Juju с OpenStack: «учетные данные не найдены»

Мое требование — использовать Juju как универсальный менеджер VNF с Openstack в качестве провайдера. У меня есть сеть провайдера Openstack и мои VNF с образами на базе Centos. Я создал виртуальную машину с Ubuntu 14.04.5 LTS и установил Juju 2.0 2.0-beta17-trusty-amd64.

Сначала я попробовал Manual Bootstrapping, чтобы запустить Charm для развертывания VNF. Manual Provisioning to Centos Machine не удался.

Сейчас я пытаюсь загрузиться с 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с.yaml — обратите внимание на букву s, которая отсутствует в имени файла в вашем lsвыводе.

К вашему сведению, существуют команды, которые вы можете/должны использовать для управления учетными данными, не требующие непосредственного обращения к файлам:

  • juju add-credential, который запросит у вас учетные данные и обновит credentials.yaml,
  • juju set-default-credential.

Связанный контент