Как 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)

тогда вы можете следовать цепочке вызовов, чтобы найти то, что вы хотите

Другие вопросы по тегам