Как Heat устанавливает конфигурацию сигнализации и возвращает сигнал тревоги с облакомера?
Мне действительно нужны твои помощь. В настоящее время я работаю над автоматическим масштабированием Heat. Я уже узнал некоторые документы об автоматическом масштабировании в Heat. Я знаю, что Heat использует Ceilometer API для настройки конфигурации тревоги и получения тревоги от Ceilometer через Webhook. Эти действия показаны в шаблоне HOT (OS::Heat::Ceilometer::Alarm). Я попытался взглянуть на код Heat, но все еще не могу найти, где (какие модули) обрабатывают действия по сигналу. В частности, какой модуль будет отвечать за создание URL-адреса аварийной сигнализации, а какой модуль будет принимать и обрабатывать URL-адрес аварийной сигнализации, сработавший с облакомера.
Спасибо
1 ответ
Для создания URL будильника:
вы должны увидеть метод _get_ec2_signed_url
URL тревоги сработал:
Это сингл в сервисе Heat-CFG. Вы можете найти больше кода (Liberty) в
heat/api/cfn/v1/__init__.py
mapper.connect('/signal/{arn:.*}',
controller=signal_controller,
action='signal',
conditions=dict(method=['POST']))
а также heat/api/cfn/v1/signal.py
def signal(self, req, arn, body=None):
con = req.context
identity = identifier.ResourceIdentifier.from_arn(arn)
try:
self.rpc_client.resource_signal(
con,
stack_identity=dict(identity.stack()),
resource_name=identity.resource_name,
details=body)
except Exception as ex:
return exception.map_remote_error(ex)
тогда вы можете следовать цепочке вызовов, чтобы найти то, что вы хотите