【问题标题】:how to use vagrant for oracle cloud infrastructure如何将 vagrant 用于 Oracle 云基础架构
【发布时间】:2020-07-14 12:34:24
【问题描述】:

vagrant-aws 一样,我正在寻找与 Oracle 云基础设施配合使用的插件。

我找到了vagrant-oci,但不确定它是否有效。没有得到适当的例子。 按照步骤并尝试使用此插件,但没有运气。

因以下错误而失败

/root/.vagrant.d/gems/2.4.6/gems/oci-2.9.0/lib/oci/api_client.rb:477:in `handle_non_success_response': The required information to complete authentication was not provided or was incorrect. (OCI::Errors::ServiceError)

如果有人已经用过或者有替代品,请提出建议。

【问题讨论】:

  • 我建议针对该项目打开一个 github 问题,以便项目所有者看到您的问题。他可能不会检查 StackOverflow

标签: vagrant oracle-call-interface oracle-cloud-infrastructure vagrant-aws


【解决方案1】:

我同意@jodoglevy 的观点,这看起来像是一个可能的身份验证问题。查看您的 Vagrantfile 会很有帮助(适当地编辑是可以的),但快速测试是获取您在 Vagrantfile 中指定的配置文件名称和配置文件路径并运行:

oci iam availability-domain list --profile <profilename> --config-file <configfilepath>

如果这确实有效,那么 Vagrant 一定因为某种原因无法读取您的配置文件或 OCI API 密钥。看起来好像您正在以 root 身份运行 Vagrant。您的 OCI 配置是否可以在不同的用户帐户下?

顺便说一句,驱动程序中的一个回归是它不支持 MacOS 的 ssh-keygen 现在默认输出的较新的非 PEM 样式 ssh 密钥。如果您有其中一个(在序言中带有“-----BEGIN OPENSSH PRIVATE KEY-----”),那么现在您需要使用ssh-keygen -m PEM -f &lt;filename&gt; 生成另一个密钥以强制使用必需的 PEM 格式。

仅供参考:配置选项的完整列表(如果您需要)可在此处获得:https://github.com/stephenpearson/vagrant-oci/blob/master/lib/vagrant-oci/config.rb

【讨论】:

  • 谢谢!!一些如何设法解决身份验证问题。在配置中,我没有得到 vcn_id、nsg_id 的配置。我希望在这里使用已经创建的 VCN、网络安全组等。
  • 如果子网 ocid 是固定的并且您碰巧知道它,那么您可以指定 oci.subnet_id。否则,您可以指定 vcn 和子网区间和 dns 标签并搜索它,如本例所示:github.com/stephenpearson/vagrant-oci/blob/master/…
  • 我只能看到对子网的支持,不支持 nsg。
  • 目前不支持nsg。这必须作为功能请求添加。
【解决方案2】:

该错误表示身份验证错误,如果传递给身份验证的凭据不正确,OCI 服务将返回该错误。请确保您已按照说明 here 正确构建您的凭据和配置文件。

【讨论】:

  • 做到了。创建并传递了有效的配置文件,但我怀疑 vagrant-oci 插件是从配置中读取的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-23
相关资源
最近更新 更多