исходный bash файл не работает, по-прежнему запрашивает переменные или не работает - PullRequest
0 голосов
/ 18 марта 2020

У меня проблема с использованием исходного файла ./admin-openrc.sh для получения переменных для kn apply (приложение для создания облачного кластера).

, но, похоже, это не работает.

enter image description here

Когда я пытаюсь использовать команду источника в той же строке, она просто ничего не запускает и выдает мне черную линию.

enter image description here

Содержимое файла оболочки:

    export OS_AUTH_URL=http://192.168.1.200/identity
# With the addition of Keystone we have standardized on the term **project** as the entity that owns the resources.
export OS_PROJECT_ID=995dadc5b03d4b02a1cf5a94b430f3fd
export OS_PROJECT_NAME="admin"
export OS_USER_DOMAIN_NAME="Default"
if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi
export OS_PROJECT_DOMAIN_ID="default"
if [ -z "$OS_PROJECT_DOMAIN_ID" ]; then unset OS_PROJECT_DOMAIN_ID; fi
# unset v2.0 items in case set
unset OS_TENANT_ID unset OS_TENANT_NAME
# In addition to the owning entity (tenant), OpenStack stores the entity performing the action as the **user**.
export OS_USERNAME="admin"
# With Keystone you pass the keystone password.
# echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=Admin00
# If your configuration has multiple regions, we set that information here. OS_REGION_NAME is optional and only valid in
# certain environments.
export OS_REGION_NAME="RegionOne"
# Don't leave a blank variable, unset it if it was empty
if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3

Я пробовал chmod разрешения 777, потому что файл оболочки может быть не исполняемым или что-то в этом роде но безрезультатно.

Кто-нибудь может мне помочь с этим?

1 Ответ

2 голосов
/ 18 марта 2020

Команда kn apply выполняется под sudo (в среде fre sh как Root). Однако вы применяете источник в своей стандартной пользовательской среде.

Есть несколько способов решить эту проблему

a) После получения сценария сохраните среду, используя sudo -E kn apply, но это зависит в конфигурации / политике безопасности sudo.

b) Запустите исходный код в среде Sudo (я лично предпочитаю этот подход)

sudo -- bash -c "source /home/administrator/devstack/admin-openrc.sh ; kn apply"

...