charm-masakari-monitors/src/lib/charm/openstack/masakari_monitors.py

62 lines
1.6 KiB
Python

import collections
import socket
import charms_openstack.adapters
import charms_openstack.charm
import charms.reactive.relations as relations
charms_openstack.charm.use_defaults('charm.default-select-release')
@charms_openstack.adapters.config_property
def hostname(config):
return socket.getfqdn()
class MasakariMonitorsCharm(charms_openstack.charm.OpenStackCharm):
# Internal name of charm
service_name = name = 'masakari'
# First release supported
release = 'rocky'
# List of packages to install for this charm
packages = ['masakari-host-monitor', 'masakari-instance-monitor']
services = ['masakari-host-monitor', 'masakari-instance-monitor']
required_relations = ['identity-credentials']
restart_map = {
'/etc/masakarimonitors/masakarimonitors.conf': services,
}
release_pkg = 'masakari-monitors-common'
group = 'masakarimonitors'
package_codenames = {
'masakari-common': collections.OrderedDict([
('2', 'mitaka'),
('3', 'newton'),
('4', 'ocata'),
('5', 'pike'),
('6', 'rocky'),
('7', 'stein'),
('8', 'train'),
('9', 'ussuri'),
('10', 'victoria'),
]),
}
def request_credentials(self):
keystone_relation = relations.endpoint_from_flag(
'identity-credentials.connected')
keystone_relation.request_credentials(
'masakari-monitors',
project='services')
def install(self):
super(MasakariMonitorsCharm, self).install()