Open dsgnr opened 6 years ago
Thanks for reporting this. I'm still working through Ansible 2.6 issues, and possibly this a new one. Have you tried on 2.5? I have personally never seen network_cli working due to the difficulty in getting a working gns3 config to test against
I will spin up a new VM and test with Ansible 2.5. This is the first issue I've encountered with 2.6.x so far. Will update this shortly.
On investigating the stack trace, it seems highly likely that it is broken on 2.5 too -- it is using a private method of the old SSH plugin that the Mitogen replacement lacks. Please leave this with me -- these will be easy to fix once I have a working GNS3 running somewhere to test against
Confirmed issue with 2.5.0 also:
OS info:
root@v-ansible-test:~# cat /etc/issue
Ubuntu 18.04 LTS \n \l
root@v-ansible-test:~# uname -msr
Linux 4.15.0-20-generic x86_64
Python info:
root@v-ansible-test:~# python -V
Python 2.7.15rc1
Ansible info:
root@v-ansible-test:~# ansible --version
ansible 2.5.0
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]
root@v-ansible-test:~# ansible-config dump --only-changed
ANSIBLE_PIPELINING(/etc/ansible/ansible.cfg) = True
DEFAULT_FILTER_PLUGIN_PATH(/etc/ansible/ansible.cfg) = [u'/etc/ansible/plugins/filter']
DEFAULT_FORKS(/etc/ansible/ansible.cfg) = 30
DEFAULT_HOST_LIST(/etc/ansible/ansible.cfg) = [u'/etc/ansible/hosts']
DEFAULT_INTERNAL_POLL_INTERVAL(/etc/ansible/ansible.cfg) = 0.001
DEFAULT_POLL_INTERVAL(/etc/ansible/ansible.cfg) = 15
DEFAULT_ROLES_PATH(/etc/ansible/ansible.cfg) = [u'/etc/ansible/roles', u'/usr/share/ansible/roles']
DEFAULT_STRATEGY(/etc/ansible/ansible.cfg) = mitogen_linear
DEFAULT_STRATEGY_PLUGIN_PATH(/etc/ansible/ansible.cfg) = [u'/etc/ansible/plugins/mitogen/ansible_mitogen/plugins/strategy']
HOST_KEY_CHECKING(/etc/ansible/ansible.cfg) = False
RETRY_FILES_ENABLED(/etc/ansible/ansible.cfg) = False
Error:
root@v-ansible-test:~# ansible -m ping cisco -vvvv
ansible 2.5.0
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]
Using /etc/ansible/ansible.cfg as config file
setting up inventory plugins
Parsed /etc/ansible/hosts inventory source with ini plugin
Loading callback plugin minimal of type stdout, v2.0 from /usr/local/lib/python2.7/dist-packages/ansible/plugins/callback/minimal.pyc
[pid 7901] 18:39:20.628783 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method IdAllocator.on_allocate_id of IdAllocator(Router(Broker(0x7fdcad1cae50)))>, 105, True)
[pid 7901] 18:39:20.630123 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method ModuleResponder._on_get_module of ModuleResponder(Router(Broker(0x7fdcad1cae50)))>, 100, True)
[pid 7901] 18:39:20.630357 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method LogForwarder._on_forward_log of LogForwarder(Router(Broker(0x7fdcad1cae50)))>, 102, True)
[pid 7901] 18:39:20.630598 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method RouteMonitor._on_add_route of <mitogen.parent.RouteMonitor object at 0x7fdcad1d6290>>, 103, True)
[pid 7901] 18:39:20.630766 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method RouteMonitor._on_del_route of <mitogen.parent.RouteMonitor object at 0x7fdcad1d6290>>, 104, True)
[pid 7901] 18:39:20.630934 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method Router._on_detaching of Router(Broker(0x7fdcad1cae50))>, 109, True)
[pid 7901] 18:39:20.631479 D mitogen.io: Broker(0x7fdcad1cae50).start_receive(<mitogen.unix.Listener object at 0x7fdcad1d62d0>)
[pid 7901] 18:39:20.631711 D mitogen.io: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).defer() [fd=10]
[pid 7901] 18:39:20.632227 D mitogen.io: Router(Broker(0x7fdcad1cae50)).add_handler(<bound method Receiver._on_receive of Receiver(Router(Broker(0x7fdcad1cae50)), 110)>, 110, True)
[pid 7901] 18:39:20.632326 D mitogen.io: EpollPoller(0x7fdcad1d60d0): POLLIN: 8
[pid 7901] 18:39:20.633179 D mitogen.io: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).on_receive()
[pid 7901] 18:39:20.634189 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-0').get(timeout=None, block=True)
[pid 7901] 18:39:20.634627 D mitogen.io: EpollPoller(0x7fdcad1d60d0).start_receive(14, (<Side of <mitogen.unix.Listener object at 0x7fdcad1d62d0> fd 14>, <bound method Listener.on_receive of <mitogen.unix.Listener object at 0x7fdcad1d62d0>>))
[pid 7901] 18:39:20.635092 D mitogen.io: EpollPoller(0x7fdcad1d60d0)._control(14)
[pid 7901] 18:39:20.635334 D mitogen.io: Broker(0x7fdcad1cae50)._loop_once(None, EpollPoller(0x7fdcad1d60d0))
[pid 7901] 18:39:20.635623 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-1').get(timeout=None, block=True)
[pid 7901] 18:39:20.635969 D mitogen.io: EpollPoller(0x7fdcad1d6dd0).start_receive(15, None)
[pid 7901] 18:39:20.636449 D mitogen.io: EpollPoller(0x7fdcad1d6850).start_receive(18, None)
[pid 7901] 18:39:20.636822 D mitogen.io: EpollPoller(0x7fdcad1d6850)._control(18)
[pid 7901] 18:39:20.637093 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-1')._get_sleep(timeout=None, block=True, rfd=18, wfd=19)
[pid 7901] 18:39:20.637388 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-2').get(timeout=None, block=True)
[pid 7901] 18:39:20.636577 D mitogen.io: EpollPoller(0x7fdcad1d6dd0)._control(15)
[pid 7901] 18:39:20.638011 D mitogen.io: EpollPoller(0x7fdcad1d6bd0).start_receive(21, None)
[pid 7901] 18:39:20.638146 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-0')._get_sleep(timeout=None, block=True, rfd=15, wfd=16)
[pid 7901] 18:39:20.638475 D mitogen.io: EpollPoller(0x7fdcad1d6bd0)._control(21)
[pid 7901] 18:39:20.639185 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-2')._get_sleep(timeout=None, block=True, rfd=21, wfd=22)
[pid 7901] 18:39:20.638572 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-3').get(timeout=None, block=True)
[pid 7901] 18:39:20.640009 D mitogen.io: EpollPoller(0x7fdcad1d6f10).start_receive(24, None)
[pid 7901] 18:39:20.640262 D mitogen.io: EpollPoller(0x7fdcad1d6f10)._control(24)
[pid 7901] 18:39:20.640546 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-3')._get_sleep(timeout=None, block=True, rfd=24, wfd=25)
[pid 7901] 18:39:20.640875 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-4').get(timeout=None, block=True)
[pid 7901] 18:39:20.641166 D mitogen.io: EpollPoller(0x7fdcad1e60d0).start_receive(27, None)
[pid 7901] 18:39:20.641352 D mitogen.io: EpollPoller(0x7fdcad1e60d0)._control(27)
[pid 7901] 18:39:20.641556 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-4')._get_sleep(timeout=None, block=True, rfd=27, wfd=28)
[pid 7901] 18:39:20.641870 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-5').get(timeout=None, block=True)
[pid 7901] 18:39:20.642148 D mitogen.io: EpollPoller(0x7fdcad1e6510).start_receive(30, None)
[pid 7901] 18:39:20.642341 D mitogen.io: EpollPoller(0x7fdcad1e6510)._control(30)
[pid 7901] 18:39:20.642541 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-5')._get_sleep(timeout=None, block=True, rfd=30, wfd=31)
[pid 7901] 18:39:20.642903 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-6').get(timeout=None, block=True)
[pid 7901] 18:39:20.643181 D mitogen.io: EpollPoller(0x7fdcad1e66d0).start_receive(33, None)
[pid 7901] 18:39:20.643364 D mitogen.io: EpollPoller(0x7fdcad1e66d0)._control(33)
[pid 7901] 18:39:20.643573 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-6')._get_sleep(timeout=None, block=True, rfd=33, wfd=34)
[pid 7901] 18:39:20.643843 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-7').get(timeout=None, block=True)
[pid 7901] 18:39:20.644370 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-8').get(timeout=None, block=True)
[pid 7901] 18:39:20.644578 D mitogen.io: EpollPoller(0x7fdcad1e6a50).start_receive(36, None)
[pid 7901] 18:39:20.644752 D mitogen.io: EpollPoller(0x7fdcad1e6a10).start_receive(39, None)
[pid 7901] 18:39:20.644913 D mitogen.io: EpollPoller(0x7fdcad1e6a50)._control(36)
[pid 7901] 18:39:20.645765 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-7')._get_sleep(timeout=None, block=True, rfd=36, wfd=37)
[pid 7901] 18:39:20.645379 D mitogen.io: EpollPoller(0x7fdcad1e6a10)._control(39)
[pid 7901] 18:39:20.646400 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-8')._get_sleep(timeout=None, block=True, rfd=39, wfd=40)
[pid 7901] 18:39:20.645192 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-10').get(timeout=None, block=True)
[pid 7901] 18:39:20.645962 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-11').get(timeout=None, block=True)
[pid 7901] 18:39:20.646089 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-12').get(timeout=None, block=True)
[pid 7901] 18:39:20.645428 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-9').get(timeout=None, block=True)
[pid 7901] 18:39:20.647217 D mitogen.io: EpollPoller(0x7fdcac77a3d0).start_receive(42, None)
[pid 7901] 18:39:20.648114 D mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='MainThread'): initialized
[pid 7901] 18:39:20.648459 D ansible_mitogen.process: Service pool configured: size=16
[pid 7901] 18:39:20.648677 D mitogen.io: EpollPoller(0x7fdcac77a3d0)._control(42)
META: ran handlers
[pid 7901] 18:39:20.652023 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-10')._get_sleep(timeout=None, block=True, rfd=42, wfd=43)
[pid 7901] 18:39:20.647579 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-14').get(timeout=None, block=True)
[pid 7901] 18:39:20.648927 D mitogen.io: EpollPoller(0x7fdcad1d6910).start_receive(45, None)
[pid 7901] 18:39:20.652698 D mitogen.io: EpollPoller(0x7fdcad1d6910)._control(45)
[pid 7901] 18:39:20.651852 D mitogen.io: EpollPoller(0x7fdcac77a810).start_receive(48, None)
[pid 7901] 18:39:20.652982 D mitogen.io: EpollPoller(0x7fdcac77a810)._control(48)
[pid 7901] 18:39:20.652482 D mitogen.io: EpollPoller(0x7fdcad1e6790).start_receive(54, None)
[pid 7901] 18:39:20.651956 D mitogen.io: EpollPoller(0x7fdcac77a910).start_receive(51, None)
[pid 7901] 18:39:20.653518 D mitogen.io: EpollPoller(0x7fdcac77a910)._control(51)
[pid 7901] 18:39:20.653655 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-9')._get_sleep(timeout=None, block=True, rfd=51, wfd=52)
[pid 7901] 18:39:20.653316 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-11')._get_sleep(timeout=None, block=True, rfd=45, wfd=46)
[pid 7901] 18:39:20.653376 D mitogen.io: EpollPoller(0x7fdcad1e6790)._control(54)
[pid 7901] 18:39:20.653114 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-12')._get_sleep(timeout=None, block=True, rfd=48, wfd=49)
[pid 7901] 18:39:20.646986 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-13').get(timeout=None, block=True)
[pid 7901] 18:39:20.654138 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-14')._get_sleep(timeout=None, block=True, rfd=54, wfd=55)
[pid 7901] 18:39:20.654719 D mitogen.io: EpollPoller(0x7fdcad1e6e50).start_receive(57, None)
[pid 7901] 18:39:20.655054 D mitogen.io: EpollPoller(0x7fdcad1e6e50)._control(57)
[pid 7901] 18:39:20.655241 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-13')._get_sleep(timeout=None, block=True, rfd=57, wfd=58)
[pid 7901] 18:39:20.647860 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-15').get(timeout=None, block=True)
[pid 7901] 18:39:20.655984 D mitogen.io: EpollPoller(0x7fdcac77a290).start_receive(60, None)
[pid 7901] 18:39:20.656165 D mitogen.io: EpollPoller(0x7fdcac77a290)._control(60)
[pid 7901] 18:39:20.656347 D mitogen.io: Latch(0x7fdcad1d6810, size=0, t='mitogen.service.Pool.7fdcad1d66d0.worker-15')._get_sleep(timeout=None, block=True, rfd=60, wfd=61)
The full traceback is:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 138, in run
res = self._execute()
File "/usr/local/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 512, in _execute
self._connection = self._get_connection(variables=variables, templar=templar)
File "/usr/local/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 775, in _get_connection
connection = self._shared_loader_obj.connection_loader.get(conn_type, self._play_context, self._new_stdin, ansible_playbook_pid=to_text(os.getppid()))
File "/etc/ansible/plugins/mitogen/ansible_mitogen/strategy.py", line 65, in wrap_connection_loader__get
return connection_loader__get(name, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ansible/plugins/loader.py", line 389, in get
obj = obj(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ansible/plugins/connection/network_cli.py", line 214, in __init__
self._update_connection_state()
File "/usr/local/lib/python2.7/dist-packages/ansible/plugins/connection/network_cli.py", line 340, in _update_connection_state
cp = ssh._create_control_path(self._play_context.remote_addr, self._play_context.port, self._play_context.remote_user, self._play_context.connection,
AttributeError: type object 'Connection' has no attribute '_create_control_path'
SW1 | FAILED! => {
"msg": "Unexpected failure during module execution.",
"stdout": ""
}
[pid 7901] 18:39:20.821479 D mitogen.io: io_op(<built-in method recv of _socket.socket object at 0x7fdcad230538>) -> OSError: [Errno 104] Connection reset by peer
[pid 7901] 18:39:20.822205 D mitogen.io: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).defer() [fd=10]
[pid 7901] 18:39:20.822483 D mitogen.io: EpollPoller(0x7fdcad1d60d0): POLLIN: 8
[pid 7901] 18:39:20.822619 D mitogen.io: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).on_receive()
[pid 7901] 18:39:20.822845 D mitogen.io: EpollPoller(0x7fdcad1d6dd0): POLLIN: 15
root@v-ubnttemplate002:~# [pid 7901] 18:39:20.823087 D mitogen.io: EpollPoller(0x7fdcad1d6850): POLLIN: 18
[pid 7901] 18:39:20.823299 D mitogen.io: EpollPoller(0x7fdcad1e6510): POLLIN: 30
[pid 7901] 18:39:20.823488 D mitogen.io: EpollPoller(0x7fdcad1d6bd0): POLLIN: 21
[pid 7901] 18:39:20.823547 D mitogen.io: EpollPoller(0x7fdcad1e66d0): POLLIN: 33
[pid 7901] 18:39:20.823440 D mitogen.io: EpollPoller(0x7fdcad1e60d0): POLLIN: 27
[pid 7901] 18:39:20.823627 D mitogen.io: EpollPoller(0x7fdcad1d6f10): POLLIN: 24
[pid 7901] 18:39:20.824038 D mitogen.io: EpollPoller(0x7fdcad1e6a10): POLLIN: 39
[pid 7901] 18:39:20.824097 D mitogen.io: EpollPoller(0x7fdcad1e6a50): POLLIN: 36
[pid 7901] 18:39:20.824216 D mitogen.io: EpollPoller(0x7fdcad1d6910): POLLIN: 45
[pid 7901] 18:39:20.825062 D mitogen: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).on_disconnect()
[pid 7901] 18:39:20.824602 D mitogen.io: EpollPoller(0x7fdcac77a810): POLLIN: 48
[pid 7901] 18:39:20.825341 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-5'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.824663 D mitogen.io: EpollPoller(0x7fdcac77a3d0): POLLIN: 42
[pid 7901] 18:39:20.824919 D mitogen.io: EpollPoller(0x7fdcad1e6e50): POLLIN: 57
[pid 7901] 18:39:20.825395 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-0'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.824985 D mitogen.io: EpollPoller(0x7fdcad1e6790): POLLIN: 54
[pid 7901] 18:39:20.825567 D mitogen.io: EpollPoller(0x7fdcac77a290): POLLIN: 60
[pid 7901] 18:39:20.825682 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-1'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.825620 D mitogen.io: EpollPoller(0x7fdcac77a910): POLLIN: 51
[pid 7901] 18:39:20.826039 D mitogen.io: Broker(0x7fdcad1cae50).stop_receive(Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10))
[pid 7901] 18:39:20.830968 D mitogen.io: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).defer() [immediate]
[pid 7901] 18:39:20.831195 D mitogen.io: EpollPoller(0x7fdcad1d60d0).stop_receive(8)
[pid 7901] 18:39:20.831386 D mitogen.io: EpollPoller(0x7fdcad1d60d0)._control(8)
[pid 7901] 18:39:20.825763 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-2'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.825976 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-6'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.826224 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-4'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.831585 D mitogen.io: <Side of Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10) fd 8>.close()
[pid 7901] 18:39:20.834386 D mitogen.io: Broker(0x7fdcad1cae50)._stop_transmit(Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10))
[pid 7901] 18:39:20.834524 D mitogen.io: EpollPoller(0x7fdcad1d60d0).stop_transmit(10)
[pid 7901] 18:39:20.834699 D mitogen.io: EpollPoller(0x7fdcad1d60d0)._control(10)
[pid 7901] 18:39:20.835247 D mitogen.io: <Side of Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10) fd 10>.close()
[pid 7901] 18:39:20.826829 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-3'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.827045 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-8'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.829404 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-7'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.829967 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-12'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.830106 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-9'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.830246 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-15'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.830678 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-10'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.830754 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-13'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.830809 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-11'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.832173 I mitogen: mitogen.service.Pool(0x7fdcad1d66d0, size=16, th='mitogen.service.Pool.7fdcad1d66d0.worker-14'): channel or latch closed, exitting: None
[pid 7901] 18:39:20.845955 D mitogen: <mitogen.unix.Listener object at 0x7fdcad1d62d0>.on_disconnect()
[pid 7901] 18:39:20.849688 D mitogen.io: Broker(0x7fdcad1cae50).stop_receive(<mitogen.unix.Listener object at 0x7fdcad1d62d0>)
[pid 7901] 18:39:20.849860 D mitogen.io: Waker(Broker(0x7fdcad1cae50) rfd=8, wfd=10).defer() [immediate]
[pid 7901] 18:39:20.859858 D mitogen.io: EpollPoller(0x7fdcad1d60d0).stop_receive(14)
[pid 7901] 18:39:20.862927 D mitogen.io: EpollPoller(0x7fdcad1d60d0)._control(14)
[pid 7901] 18:39:20.870714 D mitogen.io: <Side of <mitogen.unix.Listener object at 0x7fdcad1d62d0> fd 14>.close()
[pid 7901] 18:39:20.871162 D mitogen.io: Receiver(Router(Broker(0x7fdcad1cae50)), 110)._on_receive(Message(None, 0, 0, None, 999, ''..0))
[pid 7901] 18:39:20.872415 D mitogen.io: Latch(0x7fdcad1d6790, size=0, t='mitogen-broker').put(Message(None, 0, 0, None, 999, ''..0))
This should now be fixed on the master branch and will make it into the next release. To be updated when a new release is made, subscribe to https://www.freelists.org/list/mitogen-announce
If you are still experiencing the problem on the current master branch, please do not hesitate to reopen this issue.
Thanks for reporting this!
Hey, thanks for letting me know.
I've just downloaded the master branch again and gave it a go.
I'm afraid to say, I'm still getting a stack trace error:
The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 138, in run
res = self._execute()
File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 576, in _execute
result = self._handler.run(task_vars=variables)
File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/ios.py", line 99, in run
result = super(ActionModule, self).run(task_vars=task_vars)
File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/normal.py", line 46, in run
result = merge_hash(result, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/__init__.py", line 853, in _execute_module
res = self._low_level_execute_command(cmd, sudoable=sudoable, in_data=in_data)
File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/__init__.py", line 960, in _low_level_execute_command
rc, stdout, stderr = self._connection.exec_command(cmd, in_data=in_data, sudoable=sudoable)
File "/usr/lib/python2.7/dist-packages/ansible/plugins/connection/network_cli.py", line 256, in exec_command
return self._local.exec_command(cmd, in_data, sudoable)
File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 763, in exec_command
emulate_tty=emulate_tty,
File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 715, in call
return self.call_async(func, *args, **kwargs).get().unpickle()
File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 697, in call_async
self._connect()
File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 662, in _connect
stack = self._build_stack()
File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 608, in _build_stack
if self.delegate_to_hostname is not None:
AttributeError: 'Connection' object has no attribute 'delegate_to_hostname'
fatal: [SW1]: FAILED! => {
"msg": "Unexpected failure during module execution.",
"stdout": ""
}
Here's some info on my switch incase you were testing with a different IOS version:
sw1#show version
Cisco IOS Software, C3750 Software (C3750-IPSERVICESK9-M), Version 12.2(55)SE11, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2016 by Cisco Systems, Inc.
Compiled Wed 17-Aug-16 13:28 by prod_rel_team
Image text-base: 0x01000000, data-base: 0x02F00000
If you need any more info from -vvv then let me know
Thanks a ton for letting me know! I had a worked GNS3 setup not a week ago, and can't get the damn thing to connect today. Wil re-close the bug once I've absolutely confirmed it's working. Sorry for the hassle :)
Not at all. Bugs are meant to be squished! More than happy to test etc
The action monkey-patch shouldn't be active at all, zero clue how that code is even running!
More than happy to send over my playbook for you to experiment if necessary.
Hi, we are facing up the same problem in our project. Do you already know if that issue is solvable? As we are a Cisco partner with a large lab environment, we would be happy to help you solving that problem...
I have tested with the latest release of Mitogen and it seems to be fine for me. Thanks @dw!
Really, it's fixed? :) That's nice! I struggled to get a working GNS3 setup to test against.
Do any of you networking folk know how I can get an easy to maintain GNS3 up and running? I wasted hours messing around, and only managed to keep it working for a single night.
Really I want some kind of VM with the telnet server exposed. Any ideas?
Yeah running my Cisco backup script works fine with the last release!
I’ve not used GNS3 personally, but pretty sure they have an ESXi image that you can import, if you use that at all
Apologies for mail spam, just narrowly avoided a catastrophe!
Hi there,
I am using the Cisco module which works without Mitogen enabled. This is using the current master branch.
OS info:
Ansible info:
Python info:
Ansible group info:
Error: