To install K2HR3 OpenStack Notification Listener, run this command in your terminal:
$ sudo pip install k2hr3_osnl
This is the preferred method to install K2HR3 OpenStack Notification Listener, as it will always install the most recent stable release.
There are two primary configurations in
The message queue server location with an username and a password.
The k2hr3 WebApi server location.
The following figure can help you to understand the transport_url and api_url:
k2hr3_osnl.conf path depends on the pip command shipped in your OS. You can get the path by two commands.
$ sudo pip3 show -f k2hr3_osnl Name: k2hr3-osnl ... Location: /usr/local/lib/python3.5/dist-packages Requires: oslo.messaging, oslo.config Files: ../../../bin/k2hr3_osnl ../../../etc/k2hr3/k2hr3_osnl.conf ... $ python -c " > import os; > print( > os.path.abspath( > '/usr/local/lib/python3.5/dist-packages/../../../etc/k2hr3/k2hr3_osnl.conf' > ) > ); > " /usr/local/etc/k2hr3/k2hr3_osnl.conf
/usr/local/etc/k2hr3/k2hr3_osnl.conf is it. You should change the
transport_url and the
api_url setting for your environment.
[DEFAULT] debug_level = error [oslo_messaging_notifications] event_type = ^port\.delete\.end$ publisher_id = ^network.*$ transport_url = rabbit://user:email@example.com:5672/ topic = notifications exchange = neutron [k2hr3] api_url = https://localhost/v1/role allow_self_signed_cert = False
FYI: The Usage page describes every setting parameters.
This chapter instructs how to install the listener.
$ sudo k2hr3_osnl -c /path/to/k2hr3_osnl.conf
No error means the listener successfully starts to listen to the next notification message.
While you have already successfully started the listener, you would like to prepare for following troubles.
The listener process is dead after the OS rebooted.
The listener is dead when you have stopped the terminal which started the listener.
Most of modern OSs provide the way to register a process as a service to the service management system which launches them at boot time and stops them at shutdown. systemd is one of such a service which is installed in Debian 9, Fedora 29, CentOS 7 and other recent Linux distributions.
An example of what systemd config file might look like is:
[Unit] Description=k2hr3_osnl After=network-online.target [Service] Type=simple WorkingDirectory=/tmp Environment=HOME=/tmp User=nobody Group=nobody ExecStart=/usr/local/bin/k2hr3_osnl -c /usr/local/etc/k2hr3/k2hr3_osnl.conf Restart=on-failure PIDFile=/var/run/k2hr3_osnl.pid [Install] WantedBy=multi-user.target
The syntax is the “.INI” style.
ExecStart specifies the absolute
The path depends on your OS. I found it in
/usr/local/bin/k2hr3_osnl in my environment.
$ which k2hr3_osnl /usr/local/bin/k2hr3_osnl
After update the
ExecStart, save the configuration to the
/lib/systemd/system/k2hr3_osnl.service and register it to systemd. Please note the systemd configuration path depends on you OS.
$ sudo systemctl daemon-reload $ sudo systemctl enable k2hr3_osnl.service
Then, you start the k2hr3_osnl as a service.
$ sudo systemctl start k2hr3_osnl.service
You can see the service status:
$ sudo systemctl status k2hr3_osnl.service
If you have got some errors, you should check logs put on stderr at first. Then please send a issue with it from issue.