St2 apikey create - connection aborted

Running Ansible to install StackStorm on an AWS instance. Suddenly having trouble.
Original command:

ansible-playbook stackstorm.yml -i 'localhost,' --connection=local

which results in

TASK [StackStorm.st2chatops : Generate "st2_api_key" if not provided with the "role" or in "defaults/main.yml"] ***
fatal: [ec2-<ip>.***.compute.amazonaws.com]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}```

changed no_log: false and got a complain about not reaching port 9101 to create the key. Added 9101 to my security group and now still getting connection issues. Ports open to all, 80/443/9100-9103

fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["st2", "apikey", "create", "-k"], "delta": "0:00:04.156206", "end": "2021-07-01 21:21:20.928591", "msg": "non-zero return code", "rc": 2, "start": "2021-07-01 21:21:16.772385", "stderr": "", "stderr_lines": [], "stdout": "ERROR: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))", "stdout_lines": ["ERROR: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))"]}

even running by hand:

$ st2 apikey create -k
ERROR: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

What am I missing?

Got some help via slack. The ansible playbooks are not up to date to match the 3.5 release, but pulls the 3.5 release.

Check your /var/log/st2/st2api.log and if you see lots of
tooz.coordination.ToozConnectionError: Error 111 connecting to 127.0.0.1:6379. ECONNREFUSED. means its looking for redis, that doesnt exist.

They are working on updating the galaxy bits and 3.5 compatibilities. You can point galaxy to master to get the latest
ansible-galaxy install git+https://github.com/StackStorm/ansible-st2

if you use latest master then:

  • you can specify 3.4.1 version and install that
  • OR if you go for 3.5.0 then I think the only things you don’t get are:
  • a) it will still use node.js 10 instead of 14
  • b) it won’t have Focal support`

so it was suggested to use specific versions in the playbook:

So to use a specific version you need to set: st2_Version, st2web_version, and st2chatops_version

so your ansible command would be something like:

ansible-playbook stackstorm.yml --extra-vars='st_version=3.4.1-1 st2web_version=3.4.1-1 st2chatops_version=3.4.1-1'

if you are running ubuntu. if not ubuntu, you can drop the -1

Testing the pointing directly to master branch, but might end up doing the 3.4.1-1 option until the ansible bits are updated.

Thanks for updating the forum - that’s really useful for others in future.

little tweak to the actual commands I used:

ansible-galaxy install git+https://github.com/StackStorm/ansible-st2.git

and then cd into ansible-st2

ansible-playbook stackstorm.yml --extra-vars='st2_auth_username=st2admin st2_auth_password=CHANGEME st2_version=3.4.1-2 st2web_version=latest st2chatops_version=3.4.1-1' -i 'localhost,' --connection=local

using 3.4.1-1 for st2web_version caused the error:

fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'st2web_package_name' is undefined\n\nThe error appears to have been in '/home/ubuntu/ansible-st2/roles/StackStorm.st2web/tasks/main.yml': line 26, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Install pinned st2web package\n  ^ here\n"}```