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



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

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

我尝试通过文件获取 env 变量,使用导出,最后的手段甚至是使用 --os-token--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"
信息:urllib3.连接池:启动新的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" 信息:urllib3.连接池:启动新的HTTP连接(1):10.0.2.100 调试:urllib3.连接池:将读取超时设置为 600.0 DEBUG:urllib3.connectionpool:"GET/v2.0/tenants HTTP/1.1" 200 256 DEBUG:keystoneclient.session:RESP: [200] {'date': '星期二, 17 Mar 2015 14:28:20 GMT', 'vary': '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 | +----------------------------------+---------+---------+

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

附言。我不得不用httx替换http才能发布,因为我没有足够的声誉点。

几个小时

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

最新更新