0

私は本当にあなたの助けが必要です。現在、Heat 自動スケーリングに取り組んでいます。Heat での自動スケーリングに関するいくつかのドキュメントを既に学習しました。Heat が Ceilometer API を使用してアラーム構成を設定し、Webhook を介して Ceilometer からアラームを取得していることは知っています。これらのアクションは、HOT テンプレート (OS::Heat::Ceilometer::Alarm) に示されています。Heat コードを調べようとしましたが、アラーム アクションを処理する場所 (モジュール) が見つかりません。具体的には、アラーム URL の作成を担当するモジュールと、Ceilometer からトリガーされたアラーム URL を受信して​​処理するモジュールを指定します。

ありがとう

4

1 に答える 1

0

アラーム 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)

次に、呼び出しチェーンをたどって、必要なものを見つけることができます

于 2016-09-07T10:21:37.470 に答える