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

Cisco module not working at all #342

Open
dsgnr opened this issue Aug 11, 2018 · 17 comments
Open

Cisco module not working at all #342

dsgnr opened this issue Aug 11, 2018 · 17 comments
Labels
affects-0.2 Issues related to 0.2.X Mitogen releases ansible Issues relating to Mitogen for Ansible bug Code feature that hinders desired execution outcome user-reported

Comments

@dsgnr
Copy link

dsgnr commented Aug 11, 2018

Hi there,

I am using the Cisco module which works without Mitogen enabled. This is using the current master branch.

OS info:

root@v-ubnt004:~# cat /etc/issue
Ubuntu 18.04.1 LTS \n \l

root@v-ubnt004:~# uname -msr
Linux 4.15.0-30-generic x86_64

Ansible info:

root@v-ubnt004:~# ansible --version
ansible 2.6.2
    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/lib/python2.7/dist-packages/ansible
    executable location = /usr/bin/ansible
    python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]   

root@v-ubnt004:~# ansible-config dump --only-changed
ANSIBLE_PIPELINING(/etc/ansible/ansible.cfg) = True
CACHE_PLUGIN(/etc/ansible/ansible.cfg) = redis
CACHE_PLUGIN_CONNECTION(/etc/ansible/ansible.cfg) = localhost:6379:0
CACHE_PLUGIN_TIMEOUT(/etc/ansible/ansible.cfg) = 604800
DEFAULT_FILTER_PLUGIN_PATH(/etc/ansible/ansible.cfg) = [u'/etc/ansible/plugins/filter']
DEFAULT_FORKS(/etc/ansible/ansible.cfg) = 30
DEFAULT_GATHERING(/etc/ansible/ansible.cfg) = smart
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']
DEFAULT_VAULT_PASSWORD_FILE(/etc/ansible/ansible.cfg) = /etc/ansible/.vault_pass
HOST_KEY_CHECKING(/etc/ansible/ansible.cfg) = False
RETRY_FILES_ENABLED(/etc/ansible/ansible.cfg) = False

Python info:

root@v-ubnt004:~# python -V
Python 2.7.15rc1

Ansible group info:

[cisco:vars]
ansible_connection=network_cli
ansible_network_os=ios

Error:

root@v-ubnt004:~# ansible -m ping cisco -vvvv
ansible 2.6.2
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/lib/python2.7/dist-packages/ansible
executable location = /usr/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
Set default localhost to localhost
Parsed /etc/ansible/hosts inventory source with ini plugin
Loading callback plugin minimal of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/minimal.pyc
[pid 26312] 19:10:01.969096 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method IdAllocator.on_allocate_id of IdAllocator(Router(Broker(0x7fa8064a6f50)))>, 105, True)
[pid 26312] 19:10:01.970468 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method ModuleResponder._on_get_module of ModuleResponder(Router(Broker(0x7fa8064a6f50)))>, 100, True)
[pid 26312] 19:10:01.970652 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method LogForwarder._on_forward_log of LogForwarder(Router(Broker(0x7fa8064a6f50)))>, 102, True)
[pid 26312] 19:10:01.970851 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method RouteMonitor._on_add_route of <mitogen.parent.RouteMonitor object at 0x7fa805a2e390>>, 103, True)
[pid 26312] 19:10:01.971095 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method RouteMonitor._on_del_route of <mitogen.parent.RouteMonitor object at 0x7fa805a2e390>>, 104, True)
[pid 26312] 19:10:01.971260 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method Router._on_detaching of Router(Broker(0x7fa8064a6f50))>, 109, True)
[pid 26312] 19:10:01.971718 D mitogen.io: Broker(0x7fa8064a6f50).start_receive(<mitogen.unix.Listener object at 0x7fa805a2e3d0>)
[pid 26312] 19:10:01.971893 D mitogen.io: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).defer() [fd=10]
[pid 26312] 19:10:01.972385 D mitogen.io: Router(Broker(0x7fa8064a6f50)).add_handler(<bound method Receiver._on_receive of Receiver(Router(Broker(0x7fa8064a6f50)), 110)>, 110, True)
[pid 26312] 19:10:01.972691 D mitogen.io: EpollPoller(0x7fa805a2e1d0): POLLIN: 8
[pid 26312] 19:10:01.973422 D mitogen.io: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).on_receive()
[pid 26312] 19:10:01.974516 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-0').get(timeout=None, block=True)
[pid 26312] 19:10:01.975519 D mitogen.io: EpollPoller(0x7fa805a2e1d0).start_receive(13, (<Side of <mitogen.unix.Listener object at 0x7fa805a2e3d0> fd 13>, <bound method Listener.on_receive of <mitogen.unix.Listener object at 0x7fa805a2e3d0>>))
[pid 26312] 19:10:01.975846 D mitogen.io: EpollPoller(0x7fa805a2e1d0)._control(13)
[pid 26312] 19:10:01.976299 D mitogen.io: Broker(0x7fa8064a6f50)._loop_once(None, EpollPoller(0x7fa805a2e1d0))
[pid 26312] 19:10:01.976403 D mitogen.io: EpollPoller(0x7fa805a2ee10).start_receive(14, None)
[pid 26312] 19:10:01.976531 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-1').get(timeout=None, block=True)
[pid 26312] 19:10:01.977244 D mitogen.io: EpollPoller(0x7fa805a2ee10)._control(14)
[pid 26312] 19:10:01.977755 D mitogen.io: EpollPoller(0x7fa805a2eed0).start_receive(17, None)
[pid 26312] 19:10:01.977979 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-2').get(timeout=None, block=True)
[pid 26312] 19:10:01.978573 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-3').get(timeout=None, block=True)
[pid 26312] 19:10:01.978754 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-0')._get_sleep(timeout=None, block=True, rfd=14, wfd=15)
[pid 26312] 19:10:01.979300 D mitogen.io: EpollPoller(0x7fa805a2eed0)._control(17)
[pid 26312] 19:10:01.981924 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-1')._get_sleep(timeout=None, block=True, rfd=17, wfd=18)
[pid 26312] 19:10:01.979782 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-4').get(timeout=None, block=True)
[pid 26312] 19:10:01.980281 D mitogen.io: EpollPoller(0x7fa805a41190).start_receive(20, None)
[pid 26312] 19:10:01.983548 D mitogen.io: EpollPoller(0x7fa805a41190)._control(20)
[pid 26312] 19:10:01.981434 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-7').get(timeout=None, block=True)
[pid 26312] 19:10:01.981805 D mitogen.io: EpollPoller(0x7fa805a41990).start_receive(23, None)
[pid 26312] 19:10:01.979680 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-5').get(timeout=None, block=True)
[pid 26312] 19:10:01.982586 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-8').get(timeout=None, block=True)
[pid 26312] 19:10:01.983264 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-9').get(timeout=None, block=True)
[pid 26312] 19:10:01.983116 D mitogen.io: EpollPoller(0x7fa805a41a90).start_receive(26, None)
[pid 26312] 19:10:01.980644 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-6').get(timeout=None, block=True)
[pid 26312] 19:10:01.983789 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-10').get(timeout=None, block=True)
[pid 26312] 19:10:01.984136 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-2')._get_sleep(timeout=None, block=True, rfd=20, wfd=21)
[pid 26312] 19:10:01.984467 D mitogen.io: EpollPoller(0x7fa805a41f10).start_receive(29, None)
[pid 26312] 19:10:01.984698 D mitogen.io: EpollPoller(0x7fa805a41990)._control(23)
[pid 26312] 19:10:01.985095 D mitogen.io: EpollPoller(0x7fa805a41210).start_receive(32, None)
[pid 26312] 19:10:01.985396 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-11').get(timeout=None, block=True)
[pid 26312] 19:10:01.989448 D mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='MainThread'): initialized
[pid 26312] 19:10:01.986160 D mitogen.io: EpollPoller(0x7fa805a41a90)._control(26)
[pid 26312] 19:10:01.986551 D mitogen.io: EpollPoller(0x7fa805a41bd0).start_receive(35, None)
[pid 26312] 19:10:01.986771 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-12').get(timeout=None, block=True)
[pid 26312] 19:10:01.991020 D ansible_mitogen.process: Service pool configured: size=16
[pid 26312] 19:10:01.987418 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-13').get(timeout=None, block=True)
[pid 26312] 19:10:01.993184 D mitogen.io: EpollPoller(0x7fa805a58690).start_receive(53, None)
[pid 26312] 19:10:01.988727 D mitogen.io: EpollPoller(0x7fa805a41f10)._control(29)
[pid 26312] 19:10:01.993719 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-7')._get_sleep(timeout=None, block=True, rfd=29, wfd=30)
[pid 26312] 19:10:01.989316 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-3')._get_sleep(timeout=None, block=True, rfd=23, wfd=24)
[pid 26312] 19:10:01.989851 D mitogen.io: EpollPoller(0x7fa805a41210)._control(32)
[pid 26312] 19:10:01.990170 D mitogen.io: EpollPoller(0x7fa805a58b10).start_receive(44, None)
[pid 26312] 19:10:01.990270 D mitogen.io: EpollPoller(0x7fa805a41690).start_receive(41, None)
META: ran handlers
[pid 26312] 19:10:01.991375 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-4')._get_sleep(timeout=None, block=True, rfd=26, wfd=27)
[pid 26312] 19:10:01.989226 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-15').get(timeout=None, block=True)
[pid 26312] 19:10:01.991808 D mitogen.io: EpollPoller(0x7fa805a58d50).start_receive(47, None)
[pid 26312] 19:10:01.991903 D mitogen.io: EpollPoller(0x7fa805a41bd0)._control(35)
[pid 26312] 19:10:01.992870 D mitogen.io: EpollPoller(0x7fa805a2e9d0).start_receive(50, None)
[pid 26312] 19:10:01.987953 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-14').get(timeout=None, block=True)
[pid 26312] 19:10:01.993408 D mitogen.io: EpollPoller(0x7fa805a58690)._control(53)
[pid 26312] 19:10:01.988641 D mitogen.io: EpollPoller(0x7fa805a41550).start_receive(38, None)
[pid 26312] 19:10:01.994409 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-5')._get_sleep(timeout=None, block=True, rfd=32, wfd=33)
[pid 26312] 19:10:01.994639 D mitogen.io: EpollPoller(0x7fa805a58b10)._control(44)
[pid 26312] 19:10:01.995247 D mitogen.io: EpollPoller(0x7fa805a41690)._control(41)
[pid 26312] 19:10:01.996150 D mitogen.io: EpollPoller(0x7fa805a58a90).start_receive(56, None)
[pid 26312] 19:10:01.996270 D mitogen.io: EpollPoller(0x7fa805a58d50)._control(47)
[pid 26312] 19:10:01.996523 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-8')._get_sleep(timeout=None, block=True, rfd=35, wfd=36)
[pid 26312] 19:10:01.996969 D mitogen.io: EpollPoller(0x7fa805a2e9d0)._control(50)
[pid 26312] 19:10:01.997637 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-13')._get_sleep(timeout=None, block=True, rfd=53, wfd=54)
[pid 26312] 19:10:01.997925 D mitogen.io: EpollPoller(0x7fa805a41550)._control(38)
[pid 26312] 19:10:02.000851 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-9')._get_sleep(timeout=None, block=True, rfd=38, wfd=39)
[pid 26312] 19:10:01.998443 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-10')._get_sleep(timeout=None, block=True, rfd=44, wfd=45)
[pid 26312] 19:10:01.998924 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-6')._get_sleep(timeout=None, block=True, rfd=41, wfd=42)
[pid 26312] 19:10:01.999208 D mitogen.io: EpollPoller(0x7fa805a58a90)._control(56)
[pid 26312] 19:10:01.999758 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-11')._get_sleep(timeout=None, block=True, rfd=47, wfd=48)
[pid 26312] 19:10:02.000540 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-12')._get_sleep(timeout=None, block=True, rfd=50, wfd=51)
[pid 26312] 19:10:01.998204 D mitogen.io: EpollPoller(0x7fa805a58710).start_receive(59, None)
[pid 26312] 19:10:02.001989 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-15')._get_sleep(timeout=None, block=True, rfd=56, wfd=57)
[pid 26312] 19:10:02.002756 D mitogen.io: EpollPoller(0x7fa805a58710)._control(59)
[pid 26312] 19:10:02.003233 D mitogen.io: Latch(0x7fa805a2e8d0, size=0, t='mitogen.service.Pool.7fa805a2e7d0.worker-14')._get_sleep(timeout=None, block=True, rfd=59, wfd=60)
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 522, in _execute
    self._connection = self._get_connection(variables=variables, templar=templar)
File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 808, in _get_connection
    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/lib/python2.7/dist-packages/ansible/plugins/loader.py", line 397, in get
    obj = obj(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/ansible/plugins/connection/network_cli.py", line 217, in __init__
    self._update_connection_state()
File "/usr/lib/python2.7/dist-packages/ansible/plugins/connection/network_cli.py", line 350, 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": ""
}
root@v-ubnt004:/etc/ansible/plugins# [pid 26312] 19:10:02.087861 D mitogen.io: io_op(<built-in method recv of _socket.socket object at 0x7fa806492148>) -> OSError: [Errno 104] Connection reset by peer
[pid 26312] 19:10:02.088668 D mitogen.io: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).defer() [fd=10]
[pid 26312] 19:10:02.089118 D mitogen.io: EpollPoller(0x7fa805a2e1d0): POLLIN: 8
[pid 26312] 19:10:02.089337 D mitogen.io: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).on_receive()
[pid 26312] 19:10:02.089804 D mitogen.io: EpollPoller(0x7fa805a2ee10): POLLIN: 14
[pid 26312] 19:10:02.089934 D mitogen.io: EpollPoller(0x7fa805a41990): POLLIN: 23
[pid 26312] 19:10:02.090018 D mitogen.io: EpollPoller(0x7fa805a41190): POLLIN: 20
[pid 26312] 19:10:02.090369 D mitogen.io: EpollPoller(0x7fa805a41a90): POLLIN: 26
[pid 26312] 19:10:02.092310 D mitogen: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).on_disconnect()
[pid 26312] 19:10:02.092757 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-0'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.090542 D mitogen.io: EpollPoller(0x7fa805a41f10): POLLIN: 29
[pid 26312] 19:10:02.093214 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-3'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.090798 D mitogen.io: EpollPoller(0x7fa805a41210): POLLIN: 32
[pid 26312] 19:10:02.090894 D mitogen.io: EpollPoller(0x7fa805a2eed0): POLLIN: 17
[pid 26312] 19:10:02.091363 D mitogen.io: EpollPoller(0x7fa805a41bd0): POLLIN: 35
[pid 26312] 19:10:02.093642 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-4'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.094978 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-7'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.093434 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-2'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.096038 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-5'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.091489 D mitogen.io: EpollPoller(0x7fa805a2e9d0): POLLIN: 50
[pid 26312] 19:10:02.091648 D mitogen.io: EpollPoller(0x7fa805a58a90): POLLIN: 56
[pid 26312] 19:10:02.096594 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-1'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.098380 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-8'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.100948 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-12'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.103551 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-15'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.091730 D mitogen.io: EpollPoller(0x7fa805a58b10): POLLIN: 44
[pid 26312] 19:10:02.091822 D mitogen.io: EpollPoller(0x7fa805a41550): POLLIN: 38
[pid 26312] 19:10:02.091940 D mitogen.io: EpollPoller(0x7fa805a41690): POLLIN: 41
[pid 26312] 19:10:02.108363 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-10'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.109556 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-9'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.092027 D mitogen.io: EpollPoller(0x7fa805a58690): POLLIN: 53
[pid 26312] 19:10:02.114409 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-6'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.116921 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-13'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.092358 D mitogen.io: EpollPoller(0x7fa805a58d50): POLLIN: 47
[pid 26312] 19:10:02.092884 D mitogen.io: Broker(0x7fa8064a6f50).stop_receive(Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10))
[pid 26312] 19:10:02.127111 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-11'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.093324 D mitogen.io: EpollPoller(0x7fa805a58710): POLLIN: 59
[pid 26312] 19:10:02.127948 D mitogen.io: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).defer() [immediate]
[pid 26312] 19:10:02.133503 D mitogen.io: EpollPoller(0x7fa805a2e1d0).stop_receive(8)
[pid 26312] 19:10:02.135278 I mitogen: mitogen.service.Pool(0x7fa805a2e7d0, size=16, th='mitogen.service.Pool.7fa805a2e7d0.worker-14'): channel or latch closed, exitting: None
[pid 26312] 19:10:02.139165 D mitogen.io: EpollPoller(0x7fa805a2e1d0)._control(8)
[pid 26312] 19:10:02.139419 D mitogen.io: <Side of Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10) fd 8>.close()
[pid 26312] 19:10:02.142452 D mitogen.io: Broker(0x7fa8064a6f50)._stop_transmit(Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10))
[pid 26312] 19:10:02.143151 D mitogen.io: EpollPoller(0x7fa805a2e1d0).stop_transmit(10)
[pid 26312] 19:10:02.143546 D mitogen.io: EpollPoller(0x7fa805a2e1d0)._control(10)
[pid 26312] 19:10:02.144672 D mitogen.io: <Side of Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10) fd 10>.close()
[pid 26312] 19:10:02.144924 D mitogen: <mitogen.unix.Listener object at 0x7fa805a2e3d0>.on_disconnect()
[pid 26312] 19:10:02.149601 D mitogen.io: Broker(0x7fa8064a6f50).stop_receive(<mitogen.unix.Listener object at 0x7fa805a2e3d0>)
[pid 26312] 19:10:02.150661 D mitogen.io: Waker(Broker(0x7fa8064a6f50) rfd=8, wfd=10).defer() [immediate]
[pid 26312] 19:10:02.151288 D mitogen.io: EpollPoller(0x7fa805a2e1d0).stop_receive(13)
[pid 26312] 19:10:02.151583 D mitogen.io: EpollPoller(0x7fa805a2e1d0)._control(13)
[pid 26312] 19:10:02.152616 D mitogen.io: <Side of <mitogen.unix.Listener object at 0x7fa805a2e3d0> fd 13>.close()
[pid 26312] 19:10:02.154989 D mitogen.io: Receiver(Router(Broker(0x7fa8064a6f50)), 110)._on_receive(Message(None, 0, 0, None, 999, ''..0))
[pid 26312] 19:10:02.157840 D mitogen.io: Latch(0x7fa805a2e890, size=0, t='mitogen-broker').put(Message(None, 0, 0, None, 999, ''..0))
@dw
Copy link
Member

dw commented Aug 11, 2018

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

@dw dw added ansible Issues relating to Mitogen for Ansible bug Code feature that hinders desired execution outcome labels Aug 11, 2018
@dsgnr
Copy link
Author

dsgnr commented Aug 11, 2018

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.

@dw
Copy link
Member

dw commented Aug 11, 2018

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

@dsgnr
Copy link
Author

dsgnr commented Aug 11, 2018

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))

dw added a commit that referenced this issue Aug 19, 2018
network_cli connection type loads the "ssh" (mitogen_ssh) plugin and
expects a private method to exist.
@dw
Copy link
Member

dw commented Aug 19, 2018

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!

@dw dw closed this as completed Aug 19, 2018
@dsgnr
Copy link
Author

dsgnr commented Aug 19, 2018

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

@dw dw reopened this Aug 19, 2018
@dw
Copy link
Member

dw commented Aug 19, 2018

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 :)

@dsgnr
Copy link
Author

dsgnr commented Aug 19, 2018

Not at all. Bugs are meant to be squished! More than happy to test etc

@dw
Copy link
Member

dw commented Aug 19, 2018

The action monkey-patch shouldn't be active at all, zero clue how that code is even running!

@dsgnr
Copy link
Author

dsgnr commented Aug 20, 2018

More than happy to send over my playbook for you to experiment if necessary.

@maxrainer
Copy link

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...

@dsgnr
Copy link
Author

dsgnr commented Nov 1, 2018

I have tested with the latest release of Mitogen and it seems to be fine for me. Thanks @dw!

@dw
Copy link
Member

dw commented Nov 1, 2018

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?

@dsgnr
Copy link
Author

dsgnr commented Nov 1, 2018

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

@dw dw changed the title Cisco module not working at all 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://networkgenomics.com/mail/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! Aug 1, 2019
@dw dw changed the title 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://networkgenomics.com/mail/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! Cisco module not working at all Aug 1, 2019
@dw
Copy link
Member

dw commented Aug 1, 2019

Apologies for mail spam, just narrowly avoided a catastrophe!

@moreati
Copy link
Member

moreati commented Jan 16, 2025

AttributeError: type object 'Connection' has no attribute '_create_control_path'

Error in the initial report. Ansible 2.6.2, Python 2.7.15, Mitogen unclear.

AttributeError: 'Connection' object has no attribute 'delegate_to_hostname'

Error reported in #342 (comment). Ansible, Python, and Mitogen versions unclear.

GNS3

I think this is https://en.wikipedia.org/wiki/Graphical_Network_Simulator-3

Graphical Network Simulator-3 (shortened to GNS3) is a network software emulator first released in 2008.[2][3][4] It allows the combination of virtual and real devices, used to simulate complex networks. It uses Dynamips emulation software to simulate Cisco IOS.

@moreati
Copy link
Member

moreati commented Jan 20, 2025

This may be fixed by v0.3.21, which includes #1215.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-0.2 Issues related to 0.2.X Mitogen releases ansible Issues relating to Mitogen for Ansible bug Code feature that hinders desired execution outcome user-reported
Projects
None yet
Development

No branches or pull requests

4 participants