This work is aimed to enable Zaqar to send email subscription without the third part tools. Change-Id: Id775c3dae4ee92198cf1bb9e20f5f83e3ad27e44 implements: blueprint zaqar-email-delivery
3.0 KiB
Support zaqar_sendmail
https://blueprints.launchpad.net/zaqar/+spec/zaqar-email-delivery
Problem description
Currently the email subscription in Zaqar relay on the third part
tools, such as "sendmail". It means that deployer should install it out
of Zaqar. If he forgets, Zaqar will raise internal error. This work let
Zaqar support email subscription by itself using the smtp
python library.
Use Cases
The modification enables users to send email subscriptions without the third part tools.
Proposed change
A new config option smtp_mode
will be added, it has two
value choices, ["third_part", "self_local"]. third_part
means Zaqar will use the tools from which smtp_command
config option provides to send email subscription.
self_local
means Zaqar will use the smtp
python library instead.
A email template file will be added as well. Some parameters in the file should be configured firstly before using. Those parameters include something like smtp service account/passwrod, smtp service address and so on. These value should come from config options as well.
The email body in the template file should be configured as well. Currently, it can only be managed by operators out of Zaqar. In the future, we can use jinja template way to let it be configurable by Zaqar.
Once self_local
is used, Zaqar will fill up the template
file first, then use stmp
lib to send the email
subscription.
Alternatives
None
REST API impact
None
Security impact
None
Notifications impact
None
Other end user impact
None
Performance Impact
None
Other deployer impact
A new config option called smtp_mode
is added. To keep
backward compatibility the default behavior is keeping use third part
tools to send email subscription. If you don't want to install the third
part email tools anymore, please change its value to
self_local
.
Developer impact
None
Implementation
Assignee(s)
changyufei<changyufei@unitedstack.com>
Work Items
- Add a new config option
smtp_mode
- Add the email template
- Add the logic to use
smtp
python lib - The test code should be added.
- Document.
Milestones
R-3
Dependencies
None
Testing
For functional test, here is no good way to test it in Upstream since OpenStack CI/CD environment doesn't has a email service. Or we may ask the community for help to give Zaqar team a test account within @openstack.org email system. Or any other third part company can provide one for us. Otherwise we could only test it locally to make sure it works well.
Documentation Impact
A new send email way will be added. It should be documented.
References
None