Руль: не может обновить политику
Когда я пытаюсь обновить политики в агенте, появляется эта ошибка:
Failed to canonicalise filename '/var/rudder/share/0f546498-93eb-41fc-835e-111045a7971f/rules/cfengine-community/rudder_promises_generated' (realpath: No such file or directory)
Просматривая логи подключения с помощью отладки сервера (rudder server debug 10.222.111.38
), Я выяснил, что каталог, который Руддер создает для агента, /var/rudder/share/6149530e-db36-49d3-81da-ed3c450ce692
не /var/rudder/share/0f546498-93eb-41fc-835e-111045a7971f
и это является причиной ошибки. Вот журналы:
rudder verbose: Path: /var/rudder/share/6149530e-db36-49d3-81da-ed3c450ce692
rudder verbose: maproot user: rudder\-agent,
rudder verbose: maproot user: 10.222.111.38,
rudder verbose: admit: rudder\-agent
rudder verbose: admit: 10.222.111.38
rudder verbose: Path: /var/rudder/shared-files/6149530e-db36-49d3-81da-ed3c450ce692
rudder verbose: maproot user: rudder\-agent,
rudder verbose: maproot user: 10.222.111.38,
rudder verbose: admit: rudder\-agent
rudder verbose: admit: 10.222.111.38
rudder verbose: Path: /var/rudder/share/root
rudder verbose: maproot user: rudder\-server,
rudder verbose: maproot user: 127.0.0.1,
rudder verbose: admit: rudder\-server
rudder verbose: admit: 127.0.0.1
rudder verbose: Path: /var/rudder/shared-files/root
rudder verbose: maproot user: rudder\-server,
rudder verbose: maproot user: 127.0.0.1,
rudder verbose: admit: rudder\-server
rudder verbose: admit: 127.0.0.1
rudder verbose: Path: /opt/rudder/bin/rudder
rudder verbose: admit: 127\.0\.0\.1
rudder verbose: admit: 127.0.0.1
rudder verbose: Path: /var/rudder/configuration-repository/ncf/50_techniques
rudder verbose: deny: .*
rudder verbose: === END summary of access promises ===
rudder verbose: Setting minimum acceptable TLS version: 1.0
rudder verbose: Setting cipher list for incoming TLS connections to: AES256-GCM-SHA384:AES256-SHA
rudder verbose: Listening for connections on socket descriptor 6 ...
notice: Server is starting...
rudder verbose: Obtained IP address of '10.222.111.38' on socket 7 from accept
rudder verbose: New connection (from 10.222.111.38, sd 7), spawning new thread...
rudder info: 10.222.111.38> Accepting connection
rudder verbose: 10.222.111.38> Setting socket timeout to 600 seconds.
rudder verbose: 10.222.111.38> Peeked nothing important in TCP stream, considering the protocol as TLS
rudder verbose: 10.222.111.38> TLS version negotiated: TLSv1.2; Cipher: AES256-GCM-SHA384,TLSv1/SSLv3
rudder verbose: 10.222.111.38> TLS session established, checking trust...
rudder verbose: 10.222.111.38> Setting IDENTITY: USERNAME=root
rudder verbose: 10.222.111.38> Received public key compares equal to the one we have stored
rudder verbose: 10.222.111.38> MD5=4351d487036501cf202cf4ecb594e50f: Client is TRUSTED, public key MATCHES stored one.
rudder info: 10.222.111.38> Hostname (reverse looked up): rudder-agent
rudder verbose: 10.222.111.38> Received: STAT /var/rudder/share/0f546498-93eb-41fc-835e-111045a7971f/rules/cfengine-community/rudder_promises_generated
rudder info: 10.222.111.38> Failed to canonicalise filename '/var/rudder/share/0f546498-93eb-41fc-835e-111045a7971f/rules/cfengine-community/rudder_promises_generated' (realpath: No such file or directory)
rudder verbose: 10.222.111.38> REFUSAL to user='root' of request: SYNCH 1492714371 STAT /var/rudder/share/0f546498-93eb-41fc-835e-111045a7971f/rules/cfengine-community/rudder_promises_generated
rudder verbose: 10.222.111.38> Received: STAT /var/rudder/tools/rudder_tools_updated
rudder verbose: 10.222.111.38> Translated to: STAT /var/rudder/tools/rudder_tools_updated
rudder verbose: 10.222.111.38> Received: MD5 /var/rudder/tools/rudder_tools_updated
rudder verbose: 10.222.111.38> Translated to: MD5 /var/rudder/tools/rudder_tools_updated
rudder verbose: 10.222.111.38> Remote peer terminated TLS session (SSL_read)
rudder info: 10.222.111.38> Closing connection, terminating thread
Итак, что может быть причиной этого поведения?
Я использую Rudder 4.1 на Ubuntu 12.04.
С уважением, Хоакин Силва
1 ответ
Похоже, что идентификатор узла изменился (был 6149530e-db36-49d3-81da-ed3c450ce692
и сейчас 0f546498-93eb-41fc-835e-111045a7971f
).
Либо вы переустанавливали узел, либо запускаете переустановку руля (идентификатор узла находится в файле /opt/rudder/etc/uuid.hive).
Два способа это исправить:
Самый простой, удали узел из руля, беги rudder agent inventory
на узле, затем дождитесь появления нового узла на странице "Принять новые узлы" и примите его. Вы должны сделать это, потому что для руля это другой узел, а старый больше не существует.
Другой способ - изменить значение в файле uuid.hive на старое (так 6149530e-db36-49d3-81da-ed3c450ce692
) но этого может быть недостаточно, поскольку ключ агента может измениться. Тебе не следует этого делать, подумал, если только ты не изменил содержимое uuid.hive, и именно это вызвало ошибку, которую ты сейчас видишь.