【问题标题】:Kyestone client commands fails when called inside bash script在 bash 脚本中调用 Keystone 客户端命令失败
【发布时间】:2015-05-20 02:23:26
【问题描述】:

我正在制作一个小型 bash 脚本,尝试安装 keystone 并创建初始管理员用户、租户等。 我尝试了各种 keystone 子命令,但它们都失败了:

无法建立与 httx://10.0.2.100:35357/v2.0/tenants 的连接

我尝试通过文件获取环境变量,使用导出,最后甚至使用--os-token--os-endpoint 运行命令。这是我在脚本中使用的最新版本:

keystone --debug --os-token secret --os-endpoint httx://10.0.2.100:35357/v2.0 租户列表

带有调试的完整消息如下:

警告:使用令牌和端点绕过身份验证(身份验证凭据被忽略)。
DEBUG:keystoneclient.session:REQ: curl -i -X GET httx://10.0.2.100:35357/v2.0/tenants -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: secret "
INFO:urllib3.connectionpool:Starting new HTTP connection (1): 10.0.2.100 无法建立与 httx://10.0.2.100:35357/v2.0/tenants 的连接

但是,如果我直接在 bash shell 上运行相同的命令,我就没有问题。这是它的调试输出:

keystone --debug --os-token secret --os-endpoint httx://10.0.2.100:35357/v2.0 租户列表 警告:使用令牌和端点绕过身份验证(身份验证凭据被忽略)。
DEBUG:keystoneclient.session:REQ: curl -i -X GET httx://10.0.2.100:35357/v2.0/tenants -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: secret " INFO:urllib3.connectionpool:Starting new HTTP connection (1): 10.0.2.100 DEBUG:urllib3.connectionpool:将读取超时设置为 600.0 调试:urllib3.connectionpool:“GET /v2.0/tenants HTTP/1.1”200 256 DEBUG:keystoneclient.session:RESP: [200] {'date': 'Tue, 17 Mar 2015 14:28:20 GMT', 'vary': 'X-Auth-Token', 'content-length': '256 ','内容类型':'应用程序/json','x-distribution':'Ubuntu'} RESP BODY: {"tenants_links": [], "tenants": [{"description": "Admin Tenant", "enabled": true, "id": "17008f66b9b54ca39654846e0b5e7af2", "name": "admin"}, { “描述”:“服务租户”,“启用”:true,“id”:“3a6823c10e454f4294aebdfec8b0c5dd”,“名称”:“服务”}]} +----------------------------------+---------+---------+ | id | name | enabled | +----------------------------------+---------+---------+ | 17008f66b9b54ca39654846e0b5e7af2 | admin | True | | 3a6823c10e454f4294aebdfec8b0c5dd | service | True | +----------------------------------+---------+---------+

所以似乎只有当脚本尝试运行命令时它才会失败...... 我不知道为什么......任何帮助表示赞赏。

PS。我必须用 httx 替换 http 才能发帖,因为我没有足够的声望点。

【问题讨论】:

    标签: bash ubuntu openstack keystone


    【解决方案1】:

    几个小时后……我终于弄清楚出了什么问题。在我的脚本中,我首先重新启动 keystone 服务,以便考虑对“/etc/keystone/keystone.conf”文件的更改,然后立即运行 keystone 命令。在回答我的命令之前,keystone 似乎需要一些时间才能启动。我在两个命令之间添加了“sleep 1”,现在它可以工作了。也许它对某人有用:-)

    【讨论】:

      猜你喜欢
      • 2016-09-20
      • 2020-05-02
      • 2021-12-17
      • 2019-12-19
      • 2019-05-28
      • 2016-07-26
      • 2019-05-23
      • 1970-01-01
      • 2013-09-28
      相关资源
      最近更新 更多