Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new module: cloudwatch_metric_alarm_info #988

Conversation

mandar242
Copy link
Contributor

@mandar242 mandar242 commented Aug 30, 2022

SUMMARY

Depends-On: #1066

Should be merged only after #1028 is merged.

Adding a new module for retrieving cloudwatch metric alarms info.

Currently supports following boto API(s)
describe_alarms()

ISSUE TYPE
  • New Module Pull Request
COMPONENT NAME

cloudwatch_metric_alarm_info

ADDITIONAL INFORMATION

Will be useful in moving these tasks from aws cli commands to amazon.aws module.
https://github.com/ansible-collections/community.aws/blob/main/tests/integration/targets/cloudwatch_metric_alarm/tasks/main.yml#L63-L70
ansible-collections/community.aws#1440

The integration tests for this info module will be added to above tests, after the cloudwatch_metric_alarm module is migrated from community.aws to amazon.aws.

Sample playbook

---
- name: Create a metric alarm & get info
  hosts: localhost
  gather_facts: false
  tasks:
    - name: create alarm
      community.aws.cloudwatch_metric_alarm:
        state: present
        region: us-east-2
        name: "cpu-low-test-metric-alarm-1234"
        metric: "CPUUtilization"
        namespace: "AWS/EC2"
        statistic: Average
        comparison: "LessThanOrEqualToThreshold"
        threshold: 50.0
        period: 180
        evaluation_periods: 3
        unit: "Percent"
        description: "This will alarm when a instance's CPU usage average is lower than 50%"
        dimensions: {'InstanceId':'i-00a8b34xxxxxxxxxx'}

    - name: describe the metric alarm based on metric name and namespace
      amazon.aws.cloudwatch_metric_alarm_info:
        alarm_names:
          - cpu-low-test-metric-alarm-1234
      register: alarm_info

    - debug:
        var: alarm_info

@github-actions

This comment was marked as outdated.

@ansibullbot
Copy link

@ansibullbot ansibullbot added WIP Work in progress module module needs_triage new_module New module new_plugin New plugin plugins plugin (any type) labels Aug 30, 2022
@softwarefactory-project-zuul

This comment was marked as outdated.

@mandar242 mandar242 changed the title [WIP]: new module: cloudwatch_metric_alarm_info new module: cloudwatch_metric_alarm_info Aug 31, 2022
@ansibullbot ansibullbot added community_review and removed WIP Work in progress labels Aug 31, 2022
@softwarefactory-project-zuul

This comment was marked as outdated.

@jillr
Copy link
Collaborator

jillr commented Sep 1, 2022

@mandar242 Can you please open a PR (tagged as DNM) in community.aws that tries using this module in the cloudwatch_metric_alarm tests? You'll need to put a Depends-On in the PR description to use this PR in the test pipeline.

@softwarefactory-project-zuul

This comment was marked as outdated.

@softwarefactory-project-zuul

This comment was marked as outdated.

@softwarefactory-project-zuul

This comment was marked as outdated.

@softwarefactory-project-zuul

This comment was marked as outdated.

@softwarefactory-project-zuul

This comment was marked as outdated.

@softwarefactory-project-zuul

This comment was marked as outdated.

@mandar242
Copy link
Contributor Author

@mandar242 Can you please open a PR (tagged as DNM) in community.aws that tries using this module in the cloudwatch_metric_alarm tests? You'll need to put a Depends-On in the PR description to use this PR in the test pipeline.

@jillr opened a PR as suggested, seem to work fine :)
ansible-collections/community.aws#1440

@ansibullbot ansibullbot added needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR and removed community_review labels Sep 12, 2022
@softwarefactory-project-zuul
Copy link
Contributor

Build failed.

✔️ ansible-galaxy-importer SUCCESS in 3m 40s
✔️ build-ansible-collection SUCCESS in 5m 27s
ansible-test-sanity-aws-ansible-python38 FAILURE in 8m 40s
ansible-test-sanity-aws-ansible-2.12-python38 FAILURE in 9m 04s
ansible-test-sanity-aws-ansible-2.13-python38 FAILURE in 8m 59s
✔️ ansible-test-units-amazon-aws-python38 SUCCESS in 6m 21s
✔️ ansible-test-units-amazon-aws-python39 SUCCESS in 6m 11s
✔️ ansible-test-splitter SUCCESS in 2m 35s
integration-amazon.aws-1 FAILURE in 8m 29s
⚠️ integration-amazon.aws-2 SKIPPED
⚠️ integration-amazon.aws-3 SKIPPED
⚠️ integration-amazon.aws-4 SKIPPED
⚠️ integration-amazon.aws-5 SKIPPED
⚠️ integration-amazon.aws-6 SKIPPED
⚠️ integration-amazon.aws-7 SKIPPED
⚠️ integration-amazon.aws-8 SKIPPED
⚠️ integration-amazon.aws-9 SKIPPED
⚠️ integration-amazon.aws-10 SKIPPED
⚠️ integration-amazon.aws-11 SKIPPED
⚠️ integration-amazon.aws-12 SKIPPED
⚠️ integration-amazon.aws-13 SKIPPED
⚠️ integration-amazon.aws-14 SKIPPED
⚠️ integration-amazon.aws-15 SKIPPED
⚠️ integration-amazon.aws-16 SKIPPED
⚠️ integration-amazon.aws-17 SKIPPED
⚠️ integration-amazon.aws-18 SKIPPED
⚠️ integration-community.aws-1 SKIPPED
⚠️ integration-community.aws-2 SKIPPED
⚠️ integration-community.aws-3 SKIPPED
⚠️ integration-community.aws-4 SKIPPED
⚠️ integration-community.aws-5 SKIPPED
⚠️ integration-community.aws-6 SKIPPED
⚠️ integration-community.aws-7 SKIPPED
⚠️ integration-community.aws-8 SKIPPED
⚠️ integration-community.aws-9 SKIPPED
⚠️ integration-community.aws-10 SKIPPED
⚠️ integration-community.aws-11 SKIPPED
⚠️ integration-community.aws-12 SKIPPED
⚠️ integration-community.aws-13 SKIPPED
⚠️ integration-community.aws-14 SKIPPED
⚠️ integration-community.aws-15 SKIPPED
⚠️ integration-community.aws-16 SKIPPED
⚠️ integration-community.aws-17 SKIPPED
⚠️ integration-community.aws-18 SKIPPED
✔️ ansible-test-changelog SUCCESS in 2m 15s

@alinabuzachis
Copy link
Contributor

recheck

@softwarefactory-project-zuul

This comment was marked as outdated.

@alinabuzachis
Copy link
Contributor

recheck

@softwarefactory-project-zuul
Copy link
Contributor

Build failed.

✔️ ansible-galaxy-importer SUCCESS in 5m 01s
✔️ build-ansible-collection SUCCESS in 6m 40s
✔️ ansible-test-sanity-aws-ansible-python38 SUCCESS in 10m 51s
✔️ ansible-test-sanity-aws-ansible-2.12-python38 SUCCESS in 9m 35s
✔️ ansible-test-sanity-aws-ansible-2.13-python38 SUCCESS in 13m 05s
✔️ ansible-test-units-amazon-aws-python38 SUCCESS in 6m 40s
✔️ ansible-test-units-amazon-aws-python39 SUCCESS in 6m 45s
✔️ ansible-test-splitter SUCCESS in 3m 17s
integration-amazon.aws-1 FAILURE in 7m 30s
⚠️ integration-amazon.aws-2 SKIPPED
⚠️ integration-amazon.aws-3 SKIPPED
⚠️ integration-amazon.aws-4 SKIPPED
⚠️ integration-amazon.aws-5 SKIPPED
⚠️ integration-amazon.aws-6 SKIPPED
⚠️ integration-amazon.aws-7 SKIPPED
⚠️ integration-amazon.aws-8 SKIPPED
⚠️ integration-amazon.aws-9 SKIPPED
⚠️ integration-amazon.aws-10 SKIPPED
⚠️ integration-amazon.aws-11 SKIPPED
⚠️ integration-amazon.aws-12 SKIPPED
⚠️ integration-amazon.aws-13 SKIPPED
⚠️ integration-amazon.aws-14 SKIPPED
⚠️ integration-amazon.aws-15 SKIPPED
⚠️ integration-amazon.aws-16 SKIPPED
⚠️ integration-amazon.aws-17 SKIPPED
⚠️ integration-amazon.aws-18 SKIPPED
⚠️ integration-community.aws-1 SKIPPED
⚠️ integration-community.aws-2 SKIPPED
⚠️ integration-community.aws-3 SKIPPED
⚠️ integration-community.aws-4 SKIPPED
⚠️ integration-community.aws-5 SKIPPED
⚠️ integration-community.aws-6 SKIPPED
⚠️ integration-community.aws-7 SKIPPED
⚠️ integration-community.aws-8 SKIPPED
⚠️ integration-community.aws-9 SKIPPED
⚠️ integration-community.aws-10 SKIPPED
⚠️ integration-community.aws-11 SKIPPED
⚠️ integration-community.aws-12 SKIPPED
⚠️ integration-community.aws-13 SKIPPED
⚠️ integration-community.aws-14 SKIPPED
⚠️ integration-community.aws-15 SKIPPED
⚠️ integration-community.aws-16 SKIPPED
⚠️ integration-community.aws-17 SKIPPED
⚠️ integration-community.aws-18 SKIPPED
✔️ ansible-test-changelog SUCCESS in 2m 58s

@alinabuzachis
Copy link
Contributor

@mandar242

2022-09-27 10:47:20.816227 \| controller \| TASK [cloudwatch_metric_alarm : get info on alarms] ****************************
--
2260 | 2022-09-27 10:47:20.816233 \| controller \| task path: /home/zuul/.ansible/collections/ansible_collections/amazon/aws/tests/integration/targets/cloudwatch_metric_alarm/tasks/main.yml:15
2261 | 2022-09-27 10:47:21.736500 \| controller \| Using module file /home/zuul/.ansible/collections/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py
2262 | 2022-09-27 10:47:21.736529 \| controller \| Pipelining is enabled.
2263 | 2022-09-27 10:47:21.736533 \| controller \| <testhost> ESTABLISH LOCAL CONNECTION FOR USER: zuul
2264 | 2022-09-27 10:47:21.736537 \| controller \| <testhost> EXEC /bin/sh -c 'ANSIBLE_DEBUG_BOTOCORE_LOGS=True /home/zuul/venv/bin/python && sleep 0'
2265 | 2022-09-27 10:47:21.736545 \| controller \| The full traceback is:
2266 | 2022-09-27 10:47:21.736548 \| controller \| Traceback (most recent call last):
2267 | 2022-09-27 10:47:21.736552 \| controller \|   File "<stdin>", line 121, in <module>
2268 | 2022-09-27 10:47:21.736556 \| controller \|   File "<stdin>", line 113, in _ansiballz_main
2269 | 2022-09-27 10:47:21.736559 \| controller \|   File "<stdin>", line 61, in invoke_module
2270 | 2022-09-27 10:47:21.736563 \| controller \|   File "/usr/lib64/python3.9/runpy.py", line 225, in run_module
2271 | 2022-09-27 10:47:21.736566 \| controller \|     return _run_module_code(code, init_globals, run_name, mod_spec)
2272 | 2022-09-27 10:47:21.736570 \| controller \|   File "/usr/lib64/python3.9/runpy.py", line 97, in _run_module_code
2273 | 2022-09-27 10:47:21.736573 \| controller \|     _run_code(code, mod_globals, init_globals,
2274 | 2022-09-27 10:47:21.736579 \| controller \|   File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
2275 | 2022-09-27 10:47:21.736583 \| controller \|     exec(code, run_globals)
2276 | 2022-09-27 10:47:21.736587 \| controller \|   File "/tmp/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload_v0f9h2rj/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload.zip/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py", line 318, in <module>
2277 | 2022-09-27 10:47:21.736591 \| controller \|   File "/tmp/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload_v0f9h2rj/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload.zip/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py", line 314, in main
2278 | 2022-09-27 10:47:21.736595 \| controller \|   File "/tmp/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload_v0f9h2rj/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload.zip/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py", line 252, in describe_metric_alarms_info
2279 | 2022-09-27 10:47:21.736598 \| controller \| KeyError: 'MetricAlarm'
2280 | 2022-09-27 10:47:21.736602 \| controller \| fatal: [testhost]: FAILED! => {
2281 | 2022-09-27 10:47:21.736605 \| controller \|     "changed": false,
2282 | 2022-09-27 10:47:21.736609 \| controller \|     "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 121, in <module>\n  File \"<stdin>\", line 113, in _ansiballz_main\n  File \"<stdin>\", line 61, in invoke_module\n  File \"/usr/lib64/python3.9/runpy.py\", line 225, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib64/python3.9/runpy.py\", line 97, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/usr/lib64/python3.9/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload_v0f9h2rj/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload.zip/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py\", line 318, in <module>\n  File \"/tmp/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload_v0f9h2rj/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload.zip/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py\", line 314, in main\n  File \"/tmp/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload_v0f9h2rj/ansible_amazon.aws.cloudwatch_metric_alarm_info_payload.zip/ansible_collections/amazon/aws/plugins/modules/cloudwatch_metric_alarm_info.py\", line 252, in describe_metric_alarms_info\nKeyError: 'MetricAlarm'\n",
2283 | 2022-09-27 10:47:21.736617 \| controller \|     "module_stdout": "",
2284 | 2022-09-27 10:47:21.736622 \| controller \|     "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
2285 | 2022-09-27 10:47:21.736626 \| controller \|     "rc": 1
2286 | 2022-09-27 10:47:21.736639 \| controller \| }


@softwarefactory-project-zuul
Copy link
Contributor

Build succeeded.

✔️ ansible-galaxy-importer SUCCESS in 4m 17s
✔️ build-ansible-collection SUCCESS in 5m 41s
✔️ ansible-test-sanity-aws-ansible-python38 SUCCESS in 13m 02s
✔️ ansible-test-sanity-aws-ansible-2.12-python38 SUCCESS in 10m 27s
✔️ ansible-test-sanity-aws-ansible-2.13-python38 SUCCESS in 9m 26s
✔️ ansible-test-units-amazon-aws-python38 SUCCESS in 6m 08s
✔️ ansible-test-units-amazon-aws-python39 SUCCESS in 6m 27s
✔️ ansible-test-splitter SUCCESS in 2m 47s
✔️ integration-amazon.aws-1 SUCCESS in 7m 29s
⚠️ integration-amazon.aws-2 SKIPPED
⚠️ integration-amazon.aws-3 SKIPPED
⚠️ integration-amazon.aws-4 SKIPPED
⚠️ integration-amazon.aws-5 SKIPPED
⚠️ integration-amazon.aws-6 SKIPPED
⚠️ integration-amazon.aws-7 SKIPPED
⚠️ integration-amazon.aws-8 SKIPPED
⚠️ integration-amazon.aws-9 SKIPPED
⚠️ integration-amazon.aws-10 SKIPPED
⚠️ integration-amazon.aws-11 SKIPPED
⚠️ integration-amazon.aws-12 SKIPPED
⚠️ integration-amazon.aws-13 SKIPPED
⚠️ integration-amazon.aws-14 SKIPPED
⚠️ integration-amazon.aws-15 SKIPPED
⚠️ integration-amazon.aws-16 SKIPPED
⚠️ integration-amazon.aws-17 SKIPPED
⚠️ integration-amazon.aws-18 SKIPPED
⚠️ integration-community.aws-1 SKIPPED
⚠️ integration-community.aws-2 SKIPPED
⚠️ integration-community.aws-3 SKIPPED
⚠️ integration-community.aws-4 SKIPPED
⚠️ integration-community.aws-5 SKIPPED
⚠️ integration-community.aws-6 SKIPPED
⚠️ integration-community.aws-7 SKIPPED
⚠️ integration-community.aws-8 SKIPPED
⚠️ integration-community.aws-9 SKIPPED
⚠️ integration-community.aws-10 SKIPPED
⚠️ integration-community.aws-11 SKIPPED
⚠️ integration-community.aws-12 SKIPPED
⚠️ integration-community.aws-13 SKIPPED
⚠️ integration-community.aws-14 SKIPPED
⚠️ integration-community.aws-15 SKIPPED
⚠️ integration-community.aws-16 SKIPPED
⚠️ integration-community.aws-17 SKIPPED
⚠️ integration-community.aws-18 SKIPPED
✔️ ansible-test-changelog SUCCESS in 2m 16s

@softwarefactory-project-zuul
Copy link
Contributor

Build succeeded.

✔️ ansible-galaxy-importer SUCCESS in 4m 03s
✔️ build-ansible-collection SUCCESS in 4m 53s
✔️ ansible-test-sanity-aws-ansible-python38 SUCCESS in 9m 06s
✔️ ansible-test-sanity-aws-ansible-2.12-python38 SUCCESS in 10m 09s
✔️ ansible-test-sanity-aws-ansible-2.13-python38 SUCCESS in 9m 10s
✔️ ansible-test-units-amazon-aws-python38 SUCCESS in 5m 23s
✔️ ansible-test-units-amazon-aws-python39 SUCCESS in 6m 07s
✔️ ansible-test-splitter SUCCESS in 2m 52s
✔️ integration-amazon.aws-1 SUCCESS in 9m 22s
⚠️ integration-amazon.aws-2 SKIPPED
⚠️ integration-amazon.aws-3 SKIPPED
⚠️ integration-amazon.aws-4 SKIPPED
⚠️ integration-amazon.aws-5 SKIPPED
⚠️ integration-amazon.aws-6 SKIPPED
⚠️ integration-amazon.aws-7 SKIPPED
⚠️ integration-amazon.aws-8 SKIPPED
⚠️ integration-amazon.aws-9 SKIPPED
⚠️ integration-amazon.aws-10 SKIPPED
⚠️ integration-amazon.aws-11 SKIPPED
⚠️ integration-amazon.aws-12 SKIPPED
⚠️ integration-amazon.aws-13 SKIPPED
⚠️ integration-amazon.aws-14 SKIPPED
⚠️ integration-amazon.aws-15 SKIPPED
⚠️ integration-amazon.aws-16 SKIPPED
⚠️ integration-amazon.aws-17 SKIPPED
⚠️ integration-amazon.aws-18 SKIPPED
⚠️ integration-community.aws-1 SKIPPED
⚠️ integration-community.aws-2 SKIPPED
⚠️ integration-community.aws-3 SKIPPED
⚠️ integration-community.aws-4 SKIPPED
⚠️ integration-community.aws-5 SKIPPED
⚠️ integration-community.aws-6 SKIPPED
⚠️ integration-community.aws-7 SKIPPED
⚠️ integration-community.aws-8 SKIPPED
⚠️ integration-community.aws-9 SKIPPED
⚠️ integration-community.aws-10 SKIPPED
⚠️ integration-community.aws-11 SKIPPED
⚠️ integration-community.aws-12 SKIPPED
⚠️ integration-community.aws-13 SKIPPED
⚠️ integration-community.aws-14 SKIPPED
⚠️ integration-community.aws-15 SKIPPED
⚠️ integration-community.aws-16 SKIPPED
⚠️ integration-community.aws-17 SKIPPED
⚠️ integration-community.aws-18 SKIPPED
✔️ ansible-test-changelog SUCCESS in 2m 19s

@mandar242 mandar242 added the mergeit Merge the PR (SoftwareFactory) label Sep 27, 2022
@softwarefactory-project-zuul
Copy link
Contributor

Build succeeded (gate pipeline).

✔️ ansible-galaxy-importer SUCCESS in 4m 27s
✔️ build-ansible-collection SUCCESS in 5m 31s
✔️ ansible-test-sanity-aws-ansible-python38 SUCCESS in 12m 00s
✔️ ansible-test-sanity-aws-ansible-2.12-python38 SUCCESS in 10m 15s
✔️ ansible-test-sanity-aws-ansible-2.13-python38 SUCCESS in 8m 25s
✔️ ansible-test-units-amazon-aws-python38 SUCCESS in 6m 04s
✔️ ansible-test-units-amazon-aws-python39 SUCCESS in 6m 17s
✔️ ansible-test-splitter SUCCESS in 2m 59s
✔️ integration-amazon.aws-1 SUCCESS in 7m 24s
⚠️ integration-amazon.aws-2 SKIPPED
⚠️ integration-amazon.aws-3 SKIPPED
⚠️ integration-amazon.aws-4 SKIPPED
⚠️ integration-amazon.aws-5 SKIPPED
⚠️ integration-amazon.aws-6 SKIPPED
⚠️ integration-amazon.aws-7 SKIPPED
⚠️ integration-amazon.aws-8 SKIPPED
⚠️ integration-amazon.aws-9 SKIPPED
⚠️ integration-amazon.aws-10 SKIPPED
⚠️ integration-amazon.aws-11 SKIPPED
⚠️ integration-amazon.aws-12 SKIPPED
⚠️ integration-amazon.aws-13 SKIPPED
⚠️ integration-amazon.aws-14 SKIPPED
⚠️ integration-amazon.aws-15 SKIPPED
⚠️ integration-amazon.aws-16 SKIPPED
⚠️ integration-amazon.aws-17 SKIPPED
⚠️ integration-amazon.aws-18 SKIPPED
⚠️ integration-community.aws-1 SKIPPED
⚠️ integration-community.aws-2 SKIPPED
⚠️ integration-community.aws-3 SKIPPED
⚠️ integration-community.aws-4 SKIPPED
⚠️ integration-community.aws-5 SKIPPED
⚠️ integration-community.aws-6 SKIPPED
⚠️ integration-community.aws-7 SKIPPED
⚠️ integration-community.aws-8 SKIPPED
⚠️ integration-community.aws-9 SKIPPED
⚠️ integration-community.aws-10 SKIPPED
⚠️ integration-community.aws-11 SKIPPED
⚠️ integration-community.aws-12 SKIPPED
⚠️ integration-community.aws-13 SKIPPED
⚠️ integration-community.aws-14 SKIPPED
⚠️ integration-community.aws-15 SKIPPED
⚠️ integration-community.aws-16 SKIPPED
⚠️ integration-community.aws-17 SKIPPED
⚠️ integration-community.aws-18 SKIPPED
✔️ ansible-test-changelog SUCCESS in 2m 29s

@softwarefactory-project-zuul softwarefactory-project-zuul bot merged commit d78a0e9 into ansible-collections:main Sep 27, 2022
@mandar242 mandar242 deleted the cloudwatch_metric_alarm_info branch March 17, 2023 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community_review integration tests/integration mergeit Merge the PR (SoftwareFactory) module module new_module New module new_plugin New plugin plugins plugin (any type) tests tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants