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

bad trap error with aws/terraform example #323

Open
mbarretta opened this issue May 26, 2020 · 1 comment
Open

bad trap error with aws/terraform example #323

mbarretta opened this issue May 26, 2020 · 1 comment

Comments

@mbarretta
Copy link
Contributor

https://github.com/elastic/examples/tree/master/Cloud%20Enterprise/Getting%20Started%20Examples/aws/terraform

When running on OSX, all is well. When running on Ubuntu, the following error is displayed:

null_resource.run-ansible (local-exec): Executing: ["/bin/sh" "-c" "#!/usr/bin/env bash\n\n# Short form: set -u\nset -o nounset\n# Short form: set -e\nset -o errexit\n\n# Print a helpful message if a pipeline with non-zero exit code causes the\n# script to exit as described above.\ntrap 'echo \"Aborting due to errexit on line $LINENO. Exit code: $?\" >&2' ERR\n\n# Allow the above trap be inherited by all functions in the script.\n#\n# Short form: set -E\nset -o errtrace\n\n# Return value of a pipeline is the value of the last (rightmost) command to\n# exit with a non-zero status, or zero if all commands in the pipeline exit\n# successfully.\nset -o pipefail\n\n# Set $IFS to only newline and tab.\n#\n# http://www.dwheeler.com/essays/filenames-in-shell.html\nIFS=$'\\n\\t'\n\n###############################################################################\n# Program Functions\n###############################################################################\n\n_verify_ansible() {\nif [ -x \"$(command -v ansible-galaxy)\" ]; then\n\t# install role\n  ansible-galaxy install git+https://github.com/elastic/ansible-elastic-cloud-enterprise.git\nelse\n  echo \"ERROR: Ansible isn't installed on this machine, aborting ece installation\"\n  exit 1\nfi\n}\n\n_write_ansible_playbook() {\ncat << PLAYBOOK > ./ece.yml\n---\n- hosts: primary\n  gather_facts: true\n  roles:\n    - ansible-elastic-cloud-enterprise\n  vars:\n    ece_primary: true\n    ece_version: 2.5.0\n\n- hosts: secondary\n  gather_facts: true\n  roles:\n    - ansible-elastic-cloud-enterprise\n  vars:\n    ece_roles: [director, coordinator, proxy, allocator]\n    ece_version: 2.5.0\n\n- hosts: tertiary\n  gather_facts: true\n  roles:\n    - ansible-elastic-cloud-enterprise\n  vars:\n    ece_roles: [director, coordinator, proxy, allocator]\n    ece_version: 2.5.0\nPLAYBOOK\n}\n\n_write_ansible_hosts() {\ncat << HOSTS_FILE > ./hosts\n[primary]\nec2-52-90-75-186.compute-1.amazonaws.com\n\n[primary:vars]\navailability_zone=us-east-1a\n\n[secondary]\nec2-107-23-165-2.compute-1.amazonaws.com\n\n[secondary:vars]\navailability_zone=us-east-1b\n\n[tertiary]\nec2-35-175-229-42.compute-1.amazonaws.com\n\n[tertiary:vars]\navailability_zone=us-east-1c\n\n[aws:children]\nprimary\nsecondary\ntertiary\n\n[aws:vars]\nansible_ssh_private_key_file=~/.ssh/barretta-aws-east.pem\nansible_user=centos\nansible_become=yes\ndevice_name=nvme0n1\nHOSTS_FILE\n}\n\n_run_ansible() {\n  export ANSIBLE_HOST_KEY_CHECKING=False\n  ansible-playbook -i hosts ece.yml\n}\n\n###############################################################################\n# Main\n###############################################################################\n\n# _main()\n#\n# Usage:\n#   _main [<options>] [<arguments>]\n#\n# Description:\n#   Entry point for the program, handling basic option parsing and dispatching.\n_main() {\n    _verify_ansible\n    _write_ansible_playbook\n    _write_ansible_hosts\n    sleep 90\n    _run_ansible\n}\n\n# Call `_main` after everything has been defined.\n_main \"$@\"\n"] 
_main "$@"': exit status 1. Output: trap: ERR: bad trap

Is there something with linux and traps that require a different definition than is present in https://github.com/elastic/examples/blob/master/Cloud%20Enterprise/Getting%20Started%20Examples/aws/terraform/ansible-install.sh#L4-L10 ?

@mwessman
Copy link

mwessman commented Jun 4, 2020

I'm running into the same error but with the gcp/terraform version. Did you find a solution?

EDIT: The problem was me running terraform in a docker container that used Bourne sh instead of bash. All I needed to do was add bash as the interpreter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants