Open
Description
Summary
When creating an Elasticache Redis instance, AWS requires you to specify what version of Redis to use. AWS supports a notation like 6.x
and the module is currently happy to accept that. However, due to the mismatch between the requested version (6.x) and the actual version reported by AWS (6.0.5), the module attempts to request noop changes, and marks the run as changed=true
.
Issue Type
Bug Report
Component Name
elasticache
Ansible Version
$ ansible --version
ansible [core 2.11.2]
config file = /home/tyler/Repos/adserving/ansible.cfg
configured module search path = ['/home/tyler/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/tyler/.local/lib/python3.9/site-packages/ansible
ansible collection location = /home/tyler/.ansible/collections:/usr/share/ansible/collections
executable location = /home/tyler/.local/bin/ansible
python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
jinja version = 3.0.1
libyaml = True
Collection Versions
$ ansible-galaxy collection list
# /home/tyler/.local/lib/python3.9/site-packages/ansible_collections
Collection Version
----------------------------- -------
amazon.aws 1.5.0
ansible.netcommon 2.2.0
ansible.posix 1.2.0
ansible.utils 2.3.0
ansible.windows 1.7.0
arista.eos 2.2.0
awx.awx 19.2.2
azure.azcollection 1.7.0
check_point.mgmt 2.0.0
chocolatey.chocolatey 1.1.0
cisco.aci 2.0.0
cisco.asa 2.0.2
cisco.intersight 1.0.15
cisco.ios 2.3.0
cisco.iosxr 2.3.0
cisco.meraki 2.4.2
cisco.mso 1.2.0
cisco.nso 1.0.3
cisco.nxos 2.4.0
cisco.ucs 1.6.0
cloudscale_ch.cloud 2.2.0
community.aws 1.5.0
community.azure 1.0.0
community.crypto 1.7.1
community.digitalocean 1.7.0
community.docker 1.8.0
community.fortios 1.0.0
community.general 3.3.0
community.google 1.0.0
community.grafana 1.2.1
community.hashi_vault 1.3.0
community.hrobot 1.1.1
community.kubernetes 1.2.1
community.kubevirt 1.0.0
community.libvirt 1.0.1
community.mongodb 1.2.1
community.mysql 2.1.0
community.network 3.0.0
community.okd 1.1.2
community.postgresql 1.3.0
community.proxysql 1.0.0
community.rabbitmq 1.0.3
community.routeros 1.2.0
community.skydive 1.0.0
community.sops 1.1.0
community.vmware 1.11.0
community.windows 1.5.0
community.zabbix 1.3.0
containers.podman 1.6.1
cyberark.conjur 1.1.0
cyberark.pas 1.0.7
dellemc.enterprise_sonic 1.1.0
dellemc.openmanage 3.5.0
dellemc.os10 1.1.1
dellemc.os6 1.0.7
dellemc.os9 1.0.4
f5networks.f5_modules 1.10.1
fortinet.fortimanager 2.1.2
fortinet.fortios 2.1.1
frr.frr 1.0.3
gluster.gluster 1.0.1
google.cloud 1.0.2
hetzner.hcloud 1.4.3
hpe.nimble 1.1.3
ibm.qradar 1.0.3
infinidat.infinibox 1.2.4
inspur.sm 1.2.0
junipernetworks.junos 2.3.0
kubernetes.core 1.2.1
mellanox.onyx 1.0.0
netapp.aws 21.2.0
netapp.azure 21.7.0
netapp.cloudmanager 21.7.0
netapp.elementsw 21.6.1
netapp.ontap 21.7.0
netapp.um_info 21.6.0
netapp_eseries.santricity 1.2.13
netbox.netbox 3.1.1
ngine_io.cloudstack 2.1.0
ngine_io.exoscale 1.0.0
ngine_io.vultr 1.1.0
openstack.cloud 1.5.0
openvswitch.openvswitch 2.0.0
ovirt.ovirt 1.5.3
purestorage.flasharray 1.8.0
purestorage.flashblade 1.6.0
sensu.sensu_go 1.11.1
servicenow.servicenow 1.0.6
splunk.es 1.0.2
t_systems_mms.icinga_director 1.18.0
theforeman.foreman 2.1.1
vyos.vyos 2.3.1
wti.remote 1.0.1
AWS SDK versions
$ pip show boto boto3 botocore
Name: boto
Version: 2.49.0
Summary: Amazon Web Services Library
Home-page: https://github.com/boto/boto/
Author: Mitch Garnaat
Author-email: [email protected]
License: MIT
Location: /home/tyler/.local/lib/python3.9/site-packages
Requires:
Required-by:
---
Name: boto3
Version: 1.17.112
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email: None
License: Apache License 2.0
Location: /home/tyler/.local/lib/python3.9/site-packages
Requires: botocore, s3transfer, jmespath
Required-by:
---
Name: botocore
Version: 1.20.112
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services
Author-email: None
License: Apache License 2.0
Location: /home/tyler/.local/lib/python3.9/site-packages
Requires: jmespath, urllib3, python-dateutil
Required-by: s3transfer, boto3
Configuration
$ ansible-config dump --only-changed
OS / Environment
No response
Steps to Reproduce
- name: create elasticache redis cluster
community.aws.elasticache:
name: "testcache"
state: present
engine: redis
cache_engine_version: 6.x
node_type: cache.t2.micro
Expected Results
changed=false
after first run
Actual Results
changed: [localhost] => {"changed": true, "debug": "EngineVersion:6.x != 6.0.5", "elasticache": {"data": {"ARN": "arn:aws:elasticache:us-east-1:545438178252:cluster:px-adserving-dev-cache", "AtRestEncryptionEnabled": false, "AuthTokenEnabled": false, "AutoMinorVersionUpgrade": true, "CacheClusterCreateTime": "2021-07-23T13:06:33.216000+00:00", "CacheClusterId": "px-adserving-dev-cache", "CacheClusterStatus": "available", "CacheNodeType": "cache.t2.micro", "CacheNodes": [{"CacheNodeCreateTime": "2021-07-23T13:06:33.216000+00:00", "CacheNodeId": "0001", "CacheNodeStatus": "available", "CustomerAvailabilityZone": "us-east-1e", "Endpoint": {"Address": "px-adserving-dev-cache.1jiqc2.0001.use1.cache.amazonaws.com", "Port": 6379}, "ParameterGroupStatus": "in-sync"}], "CacheParameterGroup": {"CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.redis6.x", "ParameterApplyStatus": "in-sync"}, "CacheSecurityGroups": [], "CacheSubnetGroupName": "default", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "Engine": "redis", "EngineVersion": "6.0.5", "LogDeliveryConfigurations": [], "NumCacheNodes": 1, "PendingModifiedValues": {}, "PreferredAvailabilityZone": "us-east-1e", "PreferredMaintenanceWindow": "tue:05:30-tue:06:30", "ReplicationGroupLogDeliveryEnabled": false, "SnapshotRetentionLimit": 0, "SnapshotWindow": "03:00-04:00", "TransitEncryptionEnabled": false}, "name": "px-adserving-dev-cache", "status": "available"}}
Code of Conduct
- I agree to follow the Ansible Code of Conduct