- I am trying to create an ec2 instance using the ansible playbook, by running the playbook from my local machine (mac)
- ansible --version
ansible [core 2.18.5]
config file = None
configured module search path = [‘/Users/von/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’]
ansible python module location = /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/ansible
ansible collection location = /Users/von/.ansible/collections:/usr/share/ansible/collections
executable location = /Library/Frameworks/Python.framework/Versions/3.13/bin/ansible
python version = 3.13.3 (v3.13.3:6280bb54784, Apr 8 2025, 10:47:54) [Clang 15.0.0 (clang-1500.3.9.4)] (/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13)
jinja version = 3.1.6
libyaml = True - Include relevant logs from the issue
- Use backticks (```) to help format your logs and code (easy-to-read posts are easier to answer too!), like this:
- my code!
---
# tasks file for ec2
- name: start an instance with a public IP address
amazon.aws.ec2_instance:
name: "ansible-instance"
# key_name: "prod-ssh-key"
# vpc_subnet_id: subnet-013744e41e8088axx
instance_type: t2.micro
security_group: default
region: us-east-1
aws_access_key: "{{ec2_access_key}}" # From vault as defined
aws_secret_key: "{{ec2_secret_key}}" # From vault as defined
network:
assign_public_ip: true
image_id: ami-04b70fa74e45c3917
ERROR:
ansible-playbook -i inventory.ini ec2_create.yaml --vault-password-file vault.pass -vvv
ansible-playbook [core 2.18.5]
config file = None
configured module search path = [‘/Users/von/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’]
ansible python module location = /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/ansible
ansible collection location = /Users/von/.ansible/collections:/usr/share/ansible/collections
executable location = /Library/Frameworks/Python.framework/Versions/3.13/bin/ansible-playbook
python version = 3.13.3 (v3.13.3:6280bb54784, Apr 8 2025, 10:47:54) [Clang 15.0.0 (clang-1500.3.9.4)] (/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13)
jinja version = 3.1.6
libyaml = True
No config file found; using defaults
host_list declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify_file() method
script declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify_file() method
auto declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify_file() method
yaml declined parsing /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini as it did not pass its verify_file() method
Parsed /Users/von/Downloads/devopspractise/ansible/ec2/inventory.ini inventory source with ini plugin
Skipping callback ‘default’, as we already have a stdout callback.
Skipping callback ‘minimal’, as we already have a stdout callback.
Skipping callback ‘oneline’, as we already have a stdout callback.
PLAYBOOK: ec2_create.yaml ****************************************************************************************************************************************************************************************************************************************************
1 plays in ec2_create.yaml
PLAY [localhost] *************************************************************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************************************************
task path: /Users/von/Downloads/devopspractise/ansible/ec2/ec2_create.yaml:2
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: von
<127.0.0.1> EXEC /bin/sh -c ‘echo ~von && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “echo /Users/von/.ansible/tmp
”&& mkdir “echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698
” && echo ansible-tmp-1745514372.303872-2215-118248513378698=“echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698
” ) && sleep 0’
Using module file /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/ansible/modules/setup.py
<127.0.0.1> PUT /Users/von/.ansible/tmp/ansible-local-22149jbyf33g/tmpb1jy5rm9 TO /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/AnsiballZ_setup.py
<127.0.0.1> EXEC /bin/sh -c ‘chmod u+x /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/ /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/AnsiballZ_setup.py && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13 /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/AnsiballZ_setup.py && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘rm -f -r /Users/von/.ansible/tmp/ansible-tmp-1745514372.303872-2215-118248513378698/ > /dev/null 2>&1 && sleep 0’
ok: [localhost]
TASK [ec2 : start an instance with a public IP address] **********************************************************************************************************************************************************************************************************************
task path: /Users/von/Downloads/devopspractise/ansible/ec2/ec2/tasks/main.yml:3
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: von
<127.0.0.1> EXEC /bin/sh -c ‘echo ~von && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “echo /Users/von/.ansible/tmp
”&& mkdir “echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019
” && echo ansible-tmp-1745514372.6376588-2247-242935107075019=“echo /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019
” ) && sleep 0’
Using module file /Users/von/.ansible/collections/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py
<127.0.0.1> PUT /Users/von/.ansible/tmp/ansible-local-22149jbyf33g/tmp55krfkzi TO /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py
<127.0.0.1> EXEC /bin/sh -c ‘chmod u+x /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/ /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13 /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘rm -f -r /Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/ > /dev/null 2>&1 && sleep 0’
The full traceback is:
Traceback (most recent call last):
File “/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py”, line 107, in
_ansiballz_main()
~~~~~~~~~~~~~~~^^
File “/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py”, line 99, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py”, line 47, in invoke_module
runpy.run_module(mod_name=‘ansible_collections.amazon.aws.plugins.modules.ec2_instance’, init_globals=dict(_module_fqn=‘ansible_collections.amazon.aws.plugins.modules.ec2_instance’, _modlib_path=modlib_path),
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
run_name=‘main’, alter_sys=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 226, in run_module
File “”, line 98, in _run_module_code
File “”, line 88, in _run_code
File “/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py”, line 2897, in
File “/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py”, line 2864, in main
File “/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py”, line 2644, in build_filters
File “/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py”, line 2628, in build_network_filters
File “/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py”, line 2608, in describe_default_subnet
TypeError: ‘NoneType’ object is not subscriptable
fatal: [localhost]: FAILED! => {
“changed”: false,
“module_stderr”: “Traceback (most recent call last):\n File "/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py", line 107, in \n _ansiballz_main()\n ~~~~~~~~~~~~~~~^^\n File "/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/Users/von/.ansible/tmp/ansible-tmp-1745514372.6376588-2247-242935107075019/AnsiballZ_ec2_instance.py", line 47, in invoke_module\n runpy.run_module(mod_name=‘ansible_collections.amazon.aws.plugins.modules.ec2_instance’, init_globals=dict(_module_fqn=‘ansible_collections.amazon.aws.plugins.modules.ec2_instance’, _modlib_path=modlib_path),\n ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n run_name=‘main’, alter_sys=True)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "", line 226, in run_module\n File "", line 98, in _run_module_code\n File "", line 88, in _run_code\n File "/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py", line 2897, in \n File "/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py", line 2864, in main\n File "/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py", line 2644, in build_filters\n File "/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py", line 2628, in build_network_filters\n File "/var/folders/6y/ylm_dbyx0nndcv1h93qssdy40000gn/T/ansible_amazon.aws.ec2_instance_payload_63yedp12/ansible_amazon.aws.ec2_instance_payload.zip/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py", line 2608, in describe_default_subnet\nTypeError: ‘NoneType’ object is not subscriptable\n”,
“module_stdout”: “”,
“msg”: “MODULE FAILURE: No start of json char found\nSee stdout/stderr for the exact error”,
“rc”: 1
}
PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Thank You in advance for the suggestions