Я следую этому блогу, чтобы установить OpenShift Origin V3 на OpenStack с использованием ansible. Но я получаю ошибку
«Не удалось создать файл фактов: %s, ошибка: %s» % (имя файла, ex) main.OpenShiftFactsFileWriteError: Не удалось создать файл фактов: /etc/ansible/facts.d/openshift.fact , ошибка: [Errno 13] Отказано в доступе: '/etc/ansible/facts.d'
Целевая система — CentOS, и я могу выполнять sudo без пароля на целевых системах. Я даже добавил в /etc/sudoers
Centos Все=(ВСЕ) NOPASSWD:ВСЕ
ко всем узлам, а также в системе, из которой я запускаю ansible.
Из системы, в которой я запускаю ansible, я попытался выполнить как sudo, как root, но с теми же результатами.
Я не уверен, где он сталкивается с отказом в разрешении, я имею в виду хост или целевые системы.
Хосты Ansible:
[OSEv3:children"]
masters
nodes
[OSEv3:vars]
ansible_ssh_user=centos
ansible_sudo=true
#ansible_ssh_user=root
product_type=openshift
deployment_type=origin
[masters]
192.168.144.132 openshift_public_hostname=master.novalocal openshift_ip=10.0.1.163 openshift_public_ip=192.168.144.132
[nodes]
192.168.144.128 openshift_public_hostname=node1.novalocal openshift_ip=10.0.1.164 openshift_public_ip=192.168.144.128 openshift_node_labels="{'region': 'primary', 'zone': 'east'}"
192.168.144.129 openshift_public_hostname=node2.novalocal openshift_ip=10.0.1.165 openshift_public_ip=192.168.144.129 openshift_node_labels="{'region': 'primary', 'zone': 'west'}"
Ansible.cfg
[defaults]
hostfile = ansible_hosts
remote_user = centos
host_key_checking = False
Ниже приведен журнал:
TASK: [openshift_facts | Ensure PyYaml is installed] **************************
ok: [192.168.144.132] => (item=PyYAML)
TASK: [openshift_facts | Gather Cluster facts] ********************************
failed: [192.168.144.132] => {"failed": true, "parsed": false}
Traceback (most recent call last):
File "/home/centos/.ansible/tmp/ansible-tmp-1449035570.03-273189812167365/openshift_facts", line 6355, in <module>
main()
File "/home/centos/.ansible/tmp/ansible-tmp-1449035570.03-273189812167365/openshift_facts", line 1222, in main
openshift_facts = OpenShiftFacts(role, fact_file, local_facts, additive_facts_to_overwrite)
File "/home/centos/.ansible/tmp/ansible-tmp-1449035570.03-273189812167365/openshift_facts", line 999, in __init__
self.facts = self.generate_facts(local_facts, additive_facts_to_overwrite)
File "/home/centos/.ansible/tmp/ansible-tmp-1449035570.03-273189812167365/openshift_facts", line 1013, in generate_facts
local_facts = self.init_local_facts(local_facts, additive_facts_to_overwrite)
File "/home/centos/.ansible/tmp/ansible-tmp-1449035570.03-273189812167365/openshift_facts", line 1194, in init_local_facts
save_local_facts(self.filename, new_local_facts)
File "/home/centos/.ansible/tmp/ansible-tmp-1449035570.03-273189812167365/openshift_facts", line 924, in save_local_facts
"Could not create fact file: %s, error: %s" % (filename, ex)
__main__.OpenShiftFactsFileWriteError: Could not create fact file: /etc/ansible/facts.d/openshift.fact, error: [Errno 13] Permission denied: '/etc/ansible'
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 2
Shared connection to 192.168.144.132 closed.
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/root/config.retry
192.168.144.132 : ok=6 changed=0 unreachable=0 failed=1
localhost : ok=7 changed=0 unreachable=0 failed=0
У меня нет опыта работы с ansible, поэтому я не могу больше отлаживать.
sudo touch /etc/ansible/facts.d/openshift.fact
. Если это не удается, то перед продолжением необходимо устранить причину, по которой root не может получить доступ к /etc/ansible/facts.d. - person detiber   schedule 03.12.2015sudo touch /etc/ansible/facts.d/openshift.fact
выдает ошибку Нет такого файла или каталога, вероятно, потому, что папка fact.d не существует. Но я могу создать случайный файл в папке/etc/ansible
. - person user3275095   schedule 03.12.2015ansible.cfg
иansible_hosts
вне каталога openshift-ansible (созданный из git clone) и оттуда запустил ansible-playbook openshift-ansible/playbooks/byo/config.yml - person user3275095   schedule 03.12.2015