在bash脚本中调用时,Keystone客户端命令失败

时间:2015-03-17 15:13:30

标签: bash ubuntu openstack keystone

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

  

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

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

  

keystone --debug --os-token secret --os-endpoint httx://10.0.2.100:35357 / v2.0 tenant-list

调试的完整消息如下:

  

警告:使用令牌和放大器绕过身份验证。端点(正在忽略身份验证凭据)   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:启动新的HTTP连接(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 tenant-list   警告:使用令牌和放大器绕过身份验证。端点(正在忽略身份验证凭据)   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:启动新的HTTP连接(1):10.0.2.100   DEBUG:urllib3.connectionpool:将读取超时设置为600.0   DEBUG:urllib3.connectionpool:“GET /v2.0/tenants HTTP / 1.1”200 256   调查:keystoneclient.session:RESP:[200] {'date':'星期二,2015年3月17日14:28:20 GMT','变化':'X-Auth-Token','content-length':'256 ','content-type':'application / json','x-distribution':'Ubuntu'}   RESP BODY:{“tenants_links”:[],“tenants”:[{“description”:“Admin Tenant”,“enabled”:true,“id”:“17008f66b9b54ca39654846e0b5e7af2”,“name”:“admin”},{ “description”:“Service Tenant”,“enabled”:true,“id”:“3a6823c10e454f4294aebdfec8b0c5dd”,“name”:“service”}]}    +----------------------------------+---------+---------+ | id | name | enabled | +----------------------------------+---------+---------+ | 17008f66b9b54ca39654846e0b5e7af2 | admin | True | | 3a6823c10e454f4294aebdfec8b0c5dd | service | True | +----------------------------------+---------+---------+

所以似乎只有当脚本试图运行命令时才会失败... 我无法弄清楚为什么...任何帮助表示赞赏。

PS。我不得不用httx取代http,以便能够发布,因为我没有足够的声誉点。

1 个答案:

答案 0 :(得分:0)

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