Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash脚本中调用Kyestone客户机命令时失败_Bash_Ubuntu_Openstack_Keystone - Fatal编程技术网

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

在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

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

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

我尝试通过一个文件来寻找env变量,使用export,在最后的手段中甚至使用
--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”,现在它可以工作了。也许它会对某人有用:-)