У меня есть пакет R, который отправляет задание в кластер OpenMPI, который у меня запущен, с помощью пакета Rmpi. Все работает, как и ожидалось, в сеансе R, запущенном из консоли. Однако, когда я пытаюсь выполнить соответствующую функцию с моего сервера OpenCPU следующим образом (детали изменены для защиты невиновных):
curl -XPOST http://99.999.999.99/ocpu/library/MyPackage/R/my_cluster_function
Я получаю эту ошибку:
R call failed: process died.
(Другие некластерные функции вызова в пакете работают, как и ожидалось, через OpenCPU). Я заметил в /var/log/kern.log
множество запросов, DENIED
отправляемых apparmor, и мне удалось разрешить большинство из них, добавив записи в /etc/apparmor.d/opencpu.d/custom
, чтобы разрешить OpenMPI доступ к нужным файлам. Однако я не могу решить эти две проблемы (опять же, IP-адрес изменился), связанные с «открытыми» запросами для местоположения "/"
:
Oct 26 03:49:58 99.999.999.99 kernel: [142952.551234] type=1400 audit(1414295398.849:957): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22486 comm="orted" requested_mask="r" denied_mask="r" fsuid=33 ouid=0
Oct 26 03:49:58 99.999.999.99 kernel: [142952.556422] type=1400 audit(1414295398.857:958): apparmor="DENIED" operation="open" profile="opencpu-main" name="/" pid=22485 comm="apache2" requested_mask="r" denied_mask="r" fsuid=33 ouid=0
Добавление этого в мои правила apparmor не помогло:
/* r,
Два вопроса:
- Почему opencpu пытается читать из моего корневого каталога (или это означает что-то еще)?
- Более срочно, как я могу решить эту проблему с аппармором?
Спасибо.
/ r
? В apparmor это отличается от/* r
. - person Jeroen   schedule 26.10.2014