Handle failures in `postmap` command more gracefully
> Jun 21 16:48:40 2017 (15370) command failure: /usr/sbin/postmap /root/mailman3/mailman/var/data/postfix_lmtp, 127, Key has expired
> Jun 21 16:48:41 2017 (15370) command failure: /usr/sbin/postmap /root/mailman3/mailman/var/data/postfix_domains, 127, Key has expired
> Jun 21 16:48:41 2017 (15370) REST request handler error:
> Traceback (most recent call last):
> File "/usr/lib64/python3.5/wsgiref/handlers.py", line 137, in run
> self.result = application(self.environ, self.start_response)
> File "/usr/lib/python3.5/site-packages/mailman/database/transaction.py", line 50, in wrapper
> rtn = function(*args, **kws)
> File "/usr/lib/python3.5/site-packages/mailman/rest/wsgiapp.py", line 214, in __call__
> return super().__call__(environ, start_response)
> File "/usr/lib/python3.5/site-packages/falcon/api.py", line 227, in __call__
> responder(req, resp, **params)
> File "/usr/lib/python3.5/site-packages/mailman/rest/lists.py", line 245, in on_post
> mlist = create_list(**validator(request))
> File "/usr/lib/python3.5/site-packages/mailman/app/lifecycle.py", line 100, in create_list
> call_name(config.mta.incoming).create(mlist)
> File "/usr/lib/python3.5/site-packages/mailman/mta/postfix.py", line 66, in create
> self.regenerate()
> File "/usr/lib/python3.5/site-packages/mailman/mta/postfix.py", line 103, in regenerate
> raise RuntimeError(NL.join(errors))
> RuntimeError: command failure: /usr/sbin/postmap /root/mailman3/mailman/var/data/postfix_lmtp, 127, Key has expired
> command failure: /usr/sbin/postmap /root/mailman3/mailman/var/data/postfix_domains, 127, Key has expired
> Jun 21 16:48:41 2017 (15370) 127.0.0.1 - - "POST /3.0/lists HTTP/1.1" 500 59
This is from a post on mailman-users@mailman3.org mailing list. Core should return a more-sensible error when the postmap
command fails instead of erroring out?