在bash脚本中调用Kyestone客户机命令时失败
我正在制作一个小bash脚本,尝试安装keystone并创建初始管理用户、租户等。。 我尝试了不同的keystone子命令,但都失败了: 无法建立到的连接httx://10.0.2.100:35357/v2.0/tenants 我尝试通过一个文件来寻找env变量,使用export,在最后的手段中甚至使用在bash脚本中调用Kyestone客户机命令时失败,bash,ubuntu,openstack,keystone,Bash,Ubuntu,Openstack,Keystone,我正在制作一个小bash脚本,尝试安装keystone并创建初始管理用户、租户等。。 我尝试了不同的keystone子命令,但都失败了: 无法建立到的连接httx://10.0.2.100:35357/v2.0/tenants 我尝试通过一个文件来寻找env变量,使用export,在最后的手段中甚至使用--os-token和--os-endpoint运行命令。以下是我在脚本中使用的最新版本: keystone--调试--操作系统令牌机密--操作系统端点httx://10.0.2.100:3535
--os-token
和--os-endpoint
运行命令。以下是我在脚本中使用的最新版本:
keystone--调试--操作系统令牌机密--操作系统端点httx://10.0.2.100:35357/v2.0 租户名单
调试的完整消息如下所示:
警告:使用令牌和端点绕过身份验证(将忽略身份验证凭据)。调试:keysteneclient.session:REQ:curl-i-xgethttx://10.0.2.100:35357/v2.0/tenants -H“用户代理:python密钥客户端”-H“X-Auth-Token:secret”
信息:urllib3.connectionpool:启动新的HTTP连接(1):10.0.2.100 无法建立到的连接httx://10.0.2.100:35357/v2.0/tenants 但是如果我直接在bashshell上运行相同的命令,我就没有问题了。以下是它的调试输出: keystone--调试--操作系统令牌机密--操作系统端点httx://10.0.2.100:35357/v2.0 租户名单 警告:使用令牌和端点绕过身份验证(将忽略身份验证凭据)。
调试:keysteneclient.session:REQ:curl-i-xgethttx://10.0.2.100:35357/v2.0/tenants -H“用户代理:python密钥客户端”-H“X-Auth-Token:secret” 信息:urllib3.connectionpool:启动新的HTTP连接(1):10.0.2.100 调试:urllib3.connectionpool:将读取超时设置为600.0 调试:urllib3.connectionpool:“GET/v2.0/tenants HTTP/1.1”200 256 调试:keysteneclient.session:RESP:[200]{'date':'2015年3月17日星期二14:28:20 GMT','vary':'X-Auth-Token','content length':'256','content type':'application/json','X-distribution':'Ubuntu} 响应主体:{“租户链接”:[],“租户”:[{“描述”:“管理租户”,“启用”:true,“id”:“17008f66b9b54ca39654846e0b5e7af2”,“名称”:“管理”},{“描述”:“服务租户”,“启用”:true,“id”:“3A6823C10E4544AEBDFEC8B0C5DD”,“名称”:“服务”}]
+----------------------------------+---------+---------+
|id | name |已启用|
+----------------------------------+---------+---------+
|17008f66b9b54ca39654846e0b5e7af2 |管理|正确|
|3A6823C10E454F4294 AEBDFEC8B0C5DD |服务|正确|
+----------------------------------+---------+---------+
因此,似乎只有当脚本尝试运行命令时,它才会失败。。。
我不明白为什么…任何帮助都是感激的
另外,我不得不用httx替换http,以便能够发布,因为我没有足够的信誉点。几个小时后。。。我终于找出了问题所在。在我的脚本中,我首先重新启动keystone服务,以便考虑对“/etc/keystone/keystone.conf”文件的更改,然后运行keystone命令。看来keystone在响应我的命令之前确实需要一些时间。我在两个命令之间添加了“sleep 1”,现在它可以工作了。也许它会对某人有用:-)