Comments (7)
BTW, is there any way to roll back this playbook?
from ansible-consul.
Thanks for the report; this is an odd issue and I'll look into it. There is no rollback mechanism in this role.
from ansible-consul.
Hi,
Can you try this again with the latest version (1.9.0) and let me know if you still see the error?
Thanks!
from ansible-consul.
@brianshumate ok, I will try it later.
from ansible-consul.
@brianshumate
It may be not correct but I download 1.9.0 from release tab in this repo, and substitute content in /etc/ansible/role/brianshumate.consul/*, rerun playbook, error still occurs:
TASK [brianshumate.consul : Save encryption key] *******************************
skipping: [adcb-zk-2.vm.elenet.me]
skipping: [adcb-zk-3.vm.elenet.me]
skipping: [adcb-zk-1.vm.elenet.me]
fatal: [adcb-mesos-19.vm.elenet.me]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'dict object' has no attribute 'stdout'\n\nThe error appears to have been in '/etc/ansible/roles/brianshumate.consul/tasks/main.yml': line 90, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: Save encryption key\n ^ here\n"}
fatal: [adcb-mesos-18.vm.elenet.me]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'dict object' has no attribute 'stdout'\n\nThe error appears to have been in '/etc/ansible/roles/brianshumate.consul/tasks/main.yml': line 90, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: Save encryption key\n ^ here\n"}
fatal: [adcb-mesos-20.vm.elenet.me]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'dict object' has no attribute 'stdout'\n\nThe error appears to have been in '/etc/ansible/roles/brianshumate.consul/tasks/main.yml': line 90, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: Save encryption key\n ^ here\n"}
In the meantime, I found something weird that may be some help.
all error hosts share common network config with "ip a" like below:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master dockermesos state UP qlen 1000
link/ether 00:16:3e:1a:2a:9b brd ff:ff:ff:ff:ff:ff
3: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN
link/ether 26:6f:de:f1:4a:d5 brd ff:ff:ff:ff:ff:ff
inet 10.2.137.32/15 scope global flannel.1
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:0d:b3:f5:0e brd ff:ff:ff:ff:ff:ff
inet 10.2.137.33/28 scope global docker0
valid_lft forever preferred_lft forever
5: dockermesos: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:16:3e:1a:2a:9b brd ff:ff:ff:ff:ff:ff
inet 10.101.117.212/19 brd 10.101.127.255 scope global dockermesos
valid_lft forever preferred_lft forever
In a quick review, we create a bridge named dockermesos using eth0's IP, and eth0 as a interface binding to bridge dockermesos. Maybe interface name isn't eth0 would cause problem in this role, I don't know, but just a clue for u.
from ansible-consul.
I just tried again with several new provisioned servers, there is no error. It seems related to our network cfgs. Even so, this role's error msg confused me :(
from ansible-consul.
That's quite odd indeed since the error indicates a part of the play that is calling consul keygen
and attempting to save the resulting gossip encryption key; it should not involve network interfaces.
There is a consul_iface
variable that you can set to control the interface name. It's also settable by an environment variable CONSUL_IFACE
. I need to document the variables a little better.
Glad you got it working. I'll go ahead and close this now since I can't reproduce it in my test environments.
from ansible-consul.
Related Issues (20)
- No filter named 'ipaddr' found HOT 1
- Minimum supported Consul version HOT 2
- consul_client_address is ignored HOT 1
- Task "Write gossip encryption key locally for use with new servers" is flakey
- What is the purpose of the consul_iface variable
- Role fails to install on Rocky 8.6 HOT 1
- Molecule outdated HOT 1
- Add RHSM Install Option
- Is enabling TLS for windows supported with this role?
- Support for consul validate HOT 1
- Create Dnsmasq configuration fails with `...({{ item.when }}): 'item' is undefined`
- Maintainers wanted HOT 2
- Fix and re-enable suppressed ansible-lint warnings
- Add grpc_tls address and port for consul >= 1.14.0
- Update to Molecule 5.x
- [BUG] Cannot fetch "gossip encryption key" HOT 1
- Debian Installation HOT 1
- Configuration files are not in json format HOT 3
- Check mode missing in one task HOT 1
- ACL Master Token not generated automatically
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ansible-consul.