2f33d9afeb
The Masakari process monitor is explicitly outside the scope of what we chose to enable when the original charm development was done for Masakari. Drop installation of the process monitor package and related templates and configuration. Drive-by fixup of requirements for older Pythons. Related-Bug: 1941623 Change-Id: Id883c117e73e71842fbe7a96e0471b37e999020f
62 lines
1.6 KiB
Python
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()
|