Сейчас это произошло более чем на 12 машинах. Установлены как старые сконфигурированные машины CentOS7, так и новый ISO.
Когда я запускаю установку предварительных требований OKD, перейдите release-3.11
, У меня все работает нормально, пока я не займусь задачей
TASK [container_runtime : Fixup SELinux permissions for docker]
где это не удается с этим
{
"changed": true,
"cmd": "semanage fcontext -a -e /var/lib/docker/overlay2 \"/var/lib/docker/overlay2\"\n restorecon -R -v \"/var/lib/docker/overlay2\"",
"delta": "0:00:00.005386",
"end": "2019-03-22 15:52:19.990999",
"invocation": {
"module_args": {
"_raw_params": "semanage fcontext -a -e /var/lib/docker/overlay2 \"/var/lib/docker/overlay2\"\n restorecon -R -v \"/var/lib/docker/overlay2\"",
"_uses_shell": true,
"argv": null,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"warn": true
}
},
"msg": "non-zero return code",
"rc": 127,
"start": "2019-03-22 15:52:19.985613",
"stderr": "/bin/sh: semanage: command not found\n/bin/sh: line 1: restorecon: command not found",
"stderr_lines": [
"/bin/sh: semanage: command not found",
"/bin/sh: line 1: restorecon: command not found"
],
"stdout": "",
"stdout_lines": []
}
Я застрял в этом почти месяц. Я сделал все, включая удаление нашего образа corp centos7 (он был построен с отключенным SELinux) и построил новый с нуля. Кажется, ничего не работает. Что меня действительно раздражает больше всего, это если я возьму эти две командные строки, ssh в целевое поле и сделаю
sudo semanage fcontext -a -e /var/lib/docker/overlay2 "/var/lib/docker/overlay2"
sudo restorecon -R -v "/var/lib/docker/overlay2"
он работает отлично.
Вот мой инвентарный файл
all:
children:
etcd:
hosts:
cent1.lab.mycompany.com:
masters:
hosts:
cent1.lab.mycompany.com:
nodes:
hosts:
cent1.lab.mycompany.com:
openshift_node_group_name: node-config-master-infra
cent2.lab.mycompany.com:
openshift_node_group_name: node-config-compute
openshift_schedulable: True
OSEv3:
children:
etcd:
masters:
nodes:
vars:
openshift_deployment_type: origin
openshift_master_cluster_method: native
openshift_master_cluster_hostname: console.lab.mycompany.com
openshift_master_default_subdomain: apps.lab.mycompany.com
ansible_ssh_user: automation_user
ansible_become_method: sudo
ansible_become: true
ansible_become_flags: '-S'
Кажется, это проблема с разрешением или PATH для доступного пользователя, это должно быть исправлено с помощью --become
флаг для выполнения доступного playbook с использованием --become
или -b
с согласно --become-method=sudo
и --become-user=root
. Это должно правильно настроить PATH, чтобы restorecon
и semanage
может быть найден.
https://docs.ansible.com/ansible/2.4/become.html
restorecon
и semanage
обычно хранятся в /sbin
или /usr/sbin
которого нет в $ PATH для обычного пользователя. С помощью sudo
и become
с участием root
должен правильно настроить $ PATH, чтобы можно было найти исполняемые файлы.