我正在尝试将 ldap 与 devstack 集成,当我这样做时 ./stack.sh 我得到了这个 localrc: line 9: KEYSTONE_IDENTITY_BACKEND: command not found
I m trying to integrate ldap with devstack and when i did ./stack.sh i got this localrc: line 9: KEYSTONE_IDENTITY_BACKEND: command not found
localrc file
ADMIN_PASSWORD=password2
MYSQL_PASSWORD=password2
RABBIT_PASSWORD=password2
SERVICE_PASSWORD=password2
SERVICE_TOKEN=token2
ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap
KEYSTONE_IDENTITY_BACKEND=ldap
KEYSTONE_CLEAR_LDAP=yes
LDAP_PASSWORD=9632
我关注了这个网站(http://www.ibm.com/developerworks/cloud/library/cl-ldap-keystone/)
我假设上面的片段来自用 shell 脚本编写的文件。您的示例看起来不错。
我检查了您提供的 link 并注意到您说失败的行在 IBM 示例中写为:
KEYSTONE_IDENTITY_BACKEND = ldap
这不是合法的 sh(或 bash)并且会导致您描述的错误消息。
KEYSTONE_IDENTITY_BACKEND = ldap
-bash: KEYSTONE_IDENTITY_BACKEND: command not found
我怀疑您将 link 中的错误示例复制并粘贴到您的 localrc 文件中,这导致了您看到的错误,但是不知何故,当您编写 SO 问题时,您通过删除空格更正了错误在“=”周围。
编辑:调查
;TLDR
在 devstack 存储库的根目录中创建一个文件,devstack/local.conf 内容为:
[[local|localrc]]
ADMIN_PASSWORD=password2
MYSQL_PASSWORD=password2
RABBIT_PASSWORD=password2
SERVICE_PASSWORD=password2
SERVICE_TOKEN=token2
ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap
KEYSTONE_IDENTITY_BACKEND=ldap
KEYSTONE_CLEAR_LDAP=yes
LDAP_PASSWORD=9632
完整描述
我在 Centos7 上安装了 devstack(使用 Devstack Quick Start Guide):
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
./stack.sh
我按照提示输入了密码,但最终还是失败了,错误是:
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
我将问题追溯到 sudoers 条目中的有限路径,并且因为我的 postgreSQL 安装在非标准位置,所以我 linked pg_config 再次变成 /usr/local/bin 和 运行 stack.sh:
sudo ln -s /usr/pgsql-9.3/bin/pg_config /usr/local/bin/pg_config
./stack.sh
(如果 Postgres 位于标准位置,您可能不必执行此操作)。
安装花了很长时间-
This is your host IP address: 192.168.200.181
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.200.181/dashboard
Keystone is serving at http://192.168.200.181/identity/
The default users are: admin and demo
The password: 12345678
2016-07-17 18:16:32.834 | WARNING:
2016-07-17 18:16:32.834 | Using lib/neutron-legacy is deprecated, and it will be removed in the future
2016-07-17 18:16:32.834 | stack.sh completed in 1447 seconds.
我终止了 devstack 会话,并使用干净的 git 回购和 localrc 文件重新完成了这一切。
./unstack.sh
cd ..
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
cat << __EOF > local.conf
[[local|localrc]]
ADMIN_PASSWORD=password2
MYSQL_PASSWORD=password2
RABBIT_PASSWORD=password2
SERVICE_PASSWORD=password2
SERVICE_TOKEN=token2
ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap
KEYSTONE_IDENTITY_BACKEND=ldap
KEYSTONE_CLEAR_LDAP=yes
LDAP_PASSWORD=9632
__EOF
./stack.sh
这次没有提示密码,肯定是读取了本地配置
localrc file
ADMIN_PASSWORD=password2
MYSQL_PASSWORD=password2 RABBIT_PASSWORD=password2
SERVICE_PASSWORD=password2 SERVICE_TOKEN=token2
ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap
KEYSTONE_IDENTITY_BACKEND=ldap
KEYSTONE_CLEAR_LDAP=yes
LDAP_PASSWORD=9632
我关注了这个网站(http://www.ibm.com/developerworks/cloud/library/cl-ldap-keystone/)
我假设上面的片段来自用 shell 脚本编写的文件。您的示例看起来不错。
我检查了您提供的 link 并注意到您说失败的行在 IBM 示例中写为:
KEYSTONE_IDENTITY_BACKEND = ldap
这不是合法的 sh(或 bash)并且会导致您描述的错误消息。
KEYSTONE_IDENTITY_BACKEND = ldap
-bash: KEYSTONE_IDENTITY_BACKEND: command not found
我怀疑您将 link 中的错误示例复制并粘贴到您的 localrc 文件中,这导致了您看到的错误,但是不知何故,当您编写 SO 问题时,您通过删除空格更正了错误在“=”周围。
编辑:调查
;TLDR
在 devstack 存储库的根目录中创建一个文件,devstack/local.conf 内容为:
[[local|localrc]]
ADMIN_PASSWORD=password2
MYSQL_PASSWORD=password2
RABBIT_PASSWORD=password2
SERVICE_PASSWORD=password2
SERVICE_TOKEN=token2
ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap
KEYSTONE_IDENTITY_BACKEND=ldap
KEYSTONE_CLEAR_LDAP=yes
LDAP_PASSWORD=9632
完整描述
我在 Centos7 上安装了 devstack(使用 Devstack Quick Start Guide):
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
./stack.sh
我按照提示输入了密码,但最终还是失败了,错误是:
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
我将问题追溯到 sudoers 条目中的有限路径,并且因为我的 postgreSQL 安装在非标准位置,所以我 linked pg_config 再次变成 /usr/local/bin 和 运行 stack.sh:
sudo ln -s /usr/pgsql-9.3/bin/pg_config /usr/local/bin/pg_config
./stack.sh
(如果 Postgres 位于标准位置,您可能不必执行此操作)。
安装花了很长时间-
This is your host IP address: 192.168.200.181
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.200.181/dashboard
Keystone is serving at http://192.168.200.181/identity/
The default users are: admin and demo
The password: 12345678
2016-07-17 18:16:32.834 | WARNING:
2016-07-17 18:16:32.834 | Using lib/neutron-legacy is deprecated, and it will be removed in the future
2016-07-17 18:16:32.834 | stack.sh completed in 1447 seconds.
我终止了 devstack 会话,并使用干净的 git 回购和 localrc 文件重新完成了这一切。
./unstack.sh
cd ..
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
cat << __EOF > local.conf
[[local|localrc]]
ADMIN_PASSWORD=password2
MYSQL_PASSWORD=password2
RABBIT_PASSWORD=password2
SERVICE_PASSWORD=password2
SERVICE_TOKEN=token2
ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap
KEYSTONE_IDENTITY_BACKEND=ldap
KEYSTONE_CLEAR_LDAP=yes
LDAP_PASSWORD=9632
__EOF
./stack.sh
这次没有提示密码,肯定是读取了本地配置