Skip to content

[lldp] Test fails due to Ansible module failure #2341

@theasianpianist

Description

@theasianpianist

Not sure if this is an image or test issue

Steps to reproduce the issue:

  1. Run nightly tests

Describe the results you received:

duthost = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>
localhost = <tests.common.devices.Localhost object at 0x7f0a24278c90>
collect_techsupport = None

    def test_lldp(duthost, localhost, collect_techsupport):
        """ verify the LLDP message on DUT """
    
        mg_facts  = duthost.minigraph_facts(host=duthost.hostname)['ansible_facts']
>       lldp_facts = duthost.lldp()['ansible_facts']

collect_techsupport = None
duthost    = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>
localhost  = <tests.common.devices.Localhost object at 0x7f0a24278c90>
mg_facts   = {'deployment_id': u'1', 'dhcp_servers': [u'192.0.0.1', u'192.0.0.2', u'192.0.0.3', u'192.0.0.4', u'192.0.0.5', u'192.0...16/28', u'10.3.149.170/31', u'40.122.216.24', u'13.91.48.226', ...], 'inventory_hostname': u'str2-7050cx3-acs-01', ...}

lldp/test_lldp.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>
module_args = (), complex_args = {}
previous_frame = <frame object at 0x7f0a236f2450>
filename = '/var/sonicbld/workspace/NewTests/TEMPLATE_PYTEST_T0_A7050CX3/tests/lldp/test_lldp.py'
line_number = 15, function_name = 'test_lldp'
lines = ["    lldp_facts = duthost.lldp()['ansible_facts']\n"], index = 0
module_ignore_errors = False, module_async = False

    def _run(self, *module_args, **complex_args):
    
        previous_frame = inspect.currentframe().f_back
        filename, line_number, function_name, lines, index = inspect.getframeinfo(previous_frame)
    
        logging.debug("{}::{}#{}: [{}] AnsibleModule::{}, args={}, kwargs={}"\
            .format(filename, function_name, line_number, self.hostname,
                    self.module_name, json.dumps(module_args), json.dumps(complex_args)))
    
        module_ignore_errors = complex_args.pop('module_ignore_errors', False)
        module_async = complex_args.pop('module_async', False)
    
        if module_async:
            def run_module(module_args, complex_args):
                return self.module(*module_args, **complex_args)[self.hostname]
            pool = ThreadPool()
            result = pool.apply_async(run_module, (module_args, complex_args))
            return pool, result
    
        res = self.module(*module_args, **complex_args)[self.hostname]
        logging.debug("{}::{}#{}: [{}] AnsibleModule::{} Result => {}"\
            .format(filename, function_name, line_number, self.hostname, self.module_name, json.dumps(res)))
    
        if (res.is_failed or 'exception' in res) and not module_ignore_errors:
>           raise RunAnsibleModuleFail("run module {} failed".format(self.module_name), res)
E           RunAnsibleModuleFail: run module lldp failed, Ansible Results =>
E           {
E               "changed": false, 
E               "failed": true, 
E               "module_stderr": "OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017\r\ndebug1: Reading configuration data /var/sonicbld/.ssh/config\r\ndebug1: /var/sonicbld/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 19: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 35446\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\nTraceback (most recent call last):\n  File \"<stdin>\", line 114, in <module>\n  File \"<stdin>\", line 106, in _ansiballz_main\n  File \"<stdin>\", line 49, in invoke_module\n  File \"/tmp/ansible_lldp_payload_CoBcqO/__main__.py\", line 85, in <module>\n  File \"/tmp/ansible_lldp_payload_CoBcqO/__main__.py\", line 76, in main\n  File \"/tmp/ansible_lldp_payload_CoBcqO/__main__.py\", line 69, in gather_lldp\nTypeError: 'str' object does not support item assignment\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 1\r\n", 
E               "module_stdout": "", 
E               "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", 
E               "rc": 1
E           }

complex_args = {}
filename   = '/var/sonicbld/workspace/NewTests/TEMPLATE_PYTEST_T0_A7050CX3/tests/lldp/test_lldp.py'
function_name = 'test_lldp'
index      = 0
line_number = 15
lines      = ["    lldp_facts = duthost.lldp()['ansible_facts']\n"]
module_args = ()
module_async = False
module_ignore_errors = False
previous_frame = <frame object at 0x7f0a236f2450>
res        = {'failed': True, '_ansible_no_log': False, 'rc': 1, 'msg': u'MODULE FAILURE\nS...eceived exit status from master 1\r\n', 'changed': False, 'module_stdout': u''}
self       = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>

common/devices.py:91: RunAnsibleModuleFail

Describe the results you expected:
Test passes

Additional information you deem important:

duthost = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>
localhost = <tests.common.devices.Localhost object at 0x7f0a24278c90>
collect_techsupport = None

    def test_lldp(duthost, localhost, collect_techsupport):
        """ verify the LLDP message on DUT """
    
        mg_facts  = duthost.minigraph_facts(host=duthost.hostname)['ansible_facts']
>       lldp_facts = duthost.lldp()['ansible_facts']

collect_techsupport = None
duthost    = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>
localhost  = <tests.common.devices.Localhost object at 0x7f0a24278c90>
mg_facts   = {'deployment_id': u'1', 'dhcp_servers': [u'192.0.0.1', u'192.0.0.2', u'192.0.0.3', u'192.0.0.4', u'192.0.0.5', u'192.0...16/28', u'10.3.149.170/31', u'40.122.216.24', u'13.91.48.226', ...], 'inventory_hostname': u'str2-7050cx3-acs-01', ...}

lldp/test_lldp.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>
module_args = (), complex_args = {}
previous_frame = <frame object at 0x7f0a236f2450>
filename = '/var/sonicbld/workspace/NewTests/TEMPLATE_PYTEST_T0_A7050CX3/tests/lldp/test_lldp.py'
line_number = 15, function_name = 'test_lldp'
lines = ["    lldp_facts = duthost.lldp()['ansible_facts']\n"], index = 0
module_ignore_errors = False, module_async = False

    def _run(self, *module_args, **complex_args):
    
        previous_frame = inspect.currentframe().f_back
        filename, line_number, function_name, lines, index = inspect.getframeinfo(previous_frame)
    
        logging.debug("{}::{}#{}: [{}] AnsibleModule::{}, args={}, kwargs={}"\
            .format(filename, function_name, line_number, self.hostname,
                    self.module_name, json.dumps(module_args), json.dumps(complex_args)))
    
        module_ignore_errors = complex_args.pop('module_ignore_errors', False)
        module_async = complex_args.pop('module_async', False)
    
        if module_async:
            def run_module(module_args, complex_args):
                return self.module(*module_args, **complex_args)[self.hostname]
            pool = ThreadPool()
            result = pool.apply_async(run_module, (module_args, complex_args))
            return pool, result
    
        res = self.module(*module_args, **complex_args)[self.hostname]
        logging.debug("{}::{}#{}: [{}] AnsibleModule::{} Result => {}"\
            .format(filename, function_name, line_number, self.hostname, self.module_name, json.dumps(res)))
    
        if (res.is_failed or 'exception' in res) and not module_ignore_errors:
>           raise RunAnsibleModuleFail("run module {} failed".format(self.module_name), res)
E           RunAnsibleModuleFail: run module lldp failed, Ansible Results =>
E           {
E               "changed": false, 
E               "failed": true, 
E               "module_stderr": "OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017\r\ndebug1: Reading configuration data /var/sonicbld/.ssh/config\r\ndebug1: /var/sonicbld/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 19: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 35446\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\nTraceback (most recent call last):\n  File \"<stdin>\", line 114, in <module>\n  File \"<stdin>\", line 106, in _ansiballz_main\n  File \"<stdin>\", line 49, in invoke_module\n  File \"/tmp/ansible_lldp_payload_CoBcqO/__main__.py\", line 85, in <module>\n  File \"/tmp/ansible_lldp_payload_CoBcqO/__main__.py\", line 76, in main\n  File \"/tmp/ansible_lldp_payload_CoBcqO/__main__.py\", line 69, in gather_lldp\nTypeError: 'str' object does not support item assignment\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 1\r\n", 
E               "module_stdout": "", 
E               "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", 
E               "rc": 1
E           }

complex_args = {}
filename   = '/var/sonicbld/workspace/NewTests/TEMPLATE_PYTEST_T0_A7050CX3/tests/lldp/test_lldp.py'
function_name = 'test_lldp'
index      = 0
line_number = 15
lines      = ["    lldp_facts = duthost.lldp()['ansible_facts']\n"]
module_args = ()
module_async = False
module_ignore_errors = False
previous_frame = <frame object at 0x7f0a236f2450>
res        = {'failed': True, '_ansible_no_log': False, 'rc': 1, 'msg': u'MODULE FAILURE\nS...eceived exit status from master 1\r\n', 'changed': False, 'module_stdout': u''}
self       = <tests.common.devices.SonicHost object at 0x7f0a24cb3810>

common/devices.py:91: RunAnsibleModuleFail

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions