Я хочу изменить почтовый сеанс lcnotification
по умолчанию для HCL Connections 6.5 / 7 в WAS. Поскольку это автоматизировано с помощью Ansible, я хотел бы определить, остались ли желаемые настройки или их нужно установить, включая полную синхронизацию узлов в случае, если что-то было изменено. Я изо всех сил пытаюсь определить это правильно, поскольку ни AdminConfig.modify
, ни AdminConfig.save
не сообщают мне, было что-то изменено или нет.
Итак, я попытался получить объект MailSession
и проверить, соответствует ли каждое из моих свойств, которые я хотел бы установить:
properties = [
["mailTransportHost", "{{ mail_host }}"],
["mailTransportUser", "{{ mail_user }}"],
["mailTransportPassword", "{{ mail_pw }}"],
["mailFrom", "{{ mail_sender }}"],
["debug", "{{ mail_debug | lower }}"]
]
session = AdminConfig.list('MailSession', 'lcnotification*')
existing = AdminConfig.showall(session)
isModified = 0
for line in existing.splitlines():
noBrackets = line[1:-1]
firstSpace = noBrackets.index(" ")
key = noBrackets[0:firstSpace]
val = noBrackets[firstSpace:].strip()
# print key + " -> " + val
for prop in properties:
propKey = prop[0]
propVal = prop[1]
if propKey == key and val != propVal:
print(propKey + " not maching:\n\tPresent: " + val + "\n\tWanted: " +
propVal)
isModified = 1
if isModified:
AdminConfig.modify(session, properties)
AdminConfig.save()
import shared
shared.synchAllNodes()
В вызове Ansible я использую changed_when
, чтобы проверить, присутствует ли not maching
в stdout. Это не работает должным образом, потому что WAS возвращает звезды вместо mailTransportPassword
, поэтому я не могу проверить, совпадает ли он:
stdout: |-
WASX7209I: Connected to process "dmgr" on node CnxCell-dmgr using SOAP connector; The type of process is: DeploymentManager
mailTransportPassword not maching:
Present: *****
Wanted: dummypw
Syncronizing nodeCnxNode01
-----------------------------------------------------------------------------------------
Full Resyncronization completed
Я не вижу чистого способа исправить это. Есть ли другой (возможно, даже более чистый) способ проверить, не было ли что-то изменено, и нужно ли выполнить полную повторную синхронизацию?
changed_when:
запускался, если появляется строка выводаnot matching
, а затем вы говорите что-то о звездочках для запутывания пароля. В чем конкретно заключается ваш вопрос? - person mdaniel   schedule 11.05.2021.reverse()
, ...) будет обходить упрощенные схемы обфускации паролей, если это то, с чем у вас проблемы - person mdaniel   schedule 11.05.2021