[Service] Leverage automatic role names to configure a service
E.G
m = Monitoring.from_roles(roles)
m.deploy()
Would deploy
- the monitoring agent on the nodes tagged
monitoring.agent
(telegraf for the TIG, dstat binary for Dstat) - an aggregator on the nodes tagged
monitoring.aggregator
(influxdb for the TIG) - an ui on the nodes tagged
monitoruing.ui
(grafana for the TIG stack)
Currently we need to pass explicitly the list of host to consider:
E.G
m = Monitoring(collector=roles["control"], agent=roles["compute"], ui=roles["control"])
m.deploy()