Skip to content

Cherry-pick #24763 to 7.13: Add support for parsers in filestream input#25225

Merged
kvch merged 1 commit intoelastic:7.13from
kvch:backport_24763_7.13
Apr 22, 2021
Merged

Cherry-pick #24763 to 7.13: Add support for parsers in filestream input#25225
kvch merged 1 commit intoelastic:7.13from
kvch:backport_24763_7.13

Conversation

@kvch
Copy link
Copy Markdown
Contributor

@kvch kvch commented Apr 22, 2021

Cherry-pick of PR #24763 to 7.13 branch. Original message:

This PR adds support for pasers in the filestream input.

Example configuration that aggregates fives lines into a single event and parses the JSON contents:

- type: filestream
  enabled: true
  paths:
  - test.log
  parsers:
  - multiline:
      type: count
      count_lines: 5
      skip_newline: true
  - ndjson:
      fields_under_root: true

This PR adds support for pasers in the `filestream` input.

Example configuration that aggregates fives lines into a single event and parses the JSON contents:
```yaml
- type: filestream
  enabled: true
  paths:
  - test.log
  parsers:
  - multiline:
      type: count
      count_lines: 5
      skip_newline: true
  - ndjson:
      fields_under_root: true
```

(cherry picked from commit 30331bc)
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Apr 22, 2021
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/agent (Team:Agent)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Apr 22, 2021
@elasticmachine
Copy link
Copy Markdown
Contributor

💔 Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: Pull request #25225 opened

  • Start Time: 2021-04-22T08:35:35.276+0000

  • Duration: 186 min 14 sec

  • Commit: 02281f0

Test stats 🧪

Test Results
Failed 166
Passed 46113
Skipped 4983
Total 51262

Trends 🧪

Image of Build Times

Image of Tests

Test errors 166

Expand to view the tests failures

> Show only the first 10 test failures

Build&Test / filebeat-build / test_fileset_file_000_traefik – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object:    {'log.offset': 280, 'traefik.access.user_identifier': '-', 'traefik.access.frontend_name': 'Host-host1', 'traefik.access.backend_url': 'http://172.19.0.3:5601', 'traefik.access.request_count': 271, 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.original': '/ui/favicons/favicon.ico', 'input.type': 'log', '@timestamp': '2017-10-02T20:22:08.000Z', 'related.ip': ['85.181.35.98'], 'service.type': 'traefik', 'http.request.referrer': 'http://example.com/login', 'http.request.method': 'GET', 'http.response.status_code': 304, 'http.response.body.bytes': 0, 'http.version': '1.1', 'event.duration': 3000000, 'event.kind': 'event', 'event.module': 'traefik', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'traefik.access', 'event.outcome': 'success', 'user.name': '-', 'user_agent.original': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36', 'user_agent.os.name': 'Linux', 'user_agent.name': 'Chrome', 'user_agent.device.name': 'Other', 'user_agent.version': '61.0.3163.100'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_000_traefik>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_000_traefik>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/traefik/access/test/test.log'
    objects = [{'@timestamp': '2017-10-02T20:22:07.000Z', 'agent': {'ephemeral_id': '0511f168-3798-4d21-ade7-f4826d634970', 'hostnam...ry': ['web'], 'created': '2021-04-22T09:26:14.664Z', 'dataset': 'traefik.access', 'duration': 8000000, ...}, ...}, ...]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object: 
    E             {'log.offset': 280, 'traefik.access.user_identifier': '-', 'traefik.access.frontend_name': 'Host-host1', 'traefik.access.backend_url': 'http://172.19.0.3:5601', 'traefik.access.request_count': 271, 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.original': '/ui/favicons/favicon.ico', 'input.type': 'log', '@timestamp': '2017-10-02T20:22:08.000Z', 'related.ip': ['85.181.35.98'], 'service.type': 'traefik', 'http.request.referrer': 'http://example.com/login', 'http.request.method': 'GET', 'http.response.status_code': 304, 'http.response.body.bytes': 0, 'http.version': '1.1', 'event.duration': 3000000, 'event.kind': 'event', 'event.module': 'traefik', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'traefik.access', 'event.outcome': 'success', 'user.name': '-', 'user_agent.original': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36', 'user_agent.os.name': 'Linux', 'user_agent.name': 'Chrome', 'user_agent.device.name': 'Other', 'user_agent.version': '61.0.3163.100'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_007_iis – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object:    {'log.offset': 257, 'destination.address': '127.0.0.1', 'destination.port': 80, 'destination.ip': '127.0.0.1', 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.path': '/', 'url.query': 'q=100', 'input.type': 'log', 'iis.access.sub_status': 0, 'iis.access.win32_status': 0, '@timestamp': '2018-01-01T08:09:10.000Z', 'related.ip': ['85.181.35.98', '127.0.0.1'], 'service.type': 'iis', 'http.request.method': 'GET', 'http.response.status_code': 200, 'event.duration': 123000000, 'event.kind': 'event', 'event.module': 'iis', 'event.category': ['web', 'network'], 'event.type': ['connection'], 'event.dataset': 'iis.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0', 'user_agent.os.name': 'Windows', 'user_agent.os.version': '7', 'user_agent.os.full': 'Windows 7', 'user_agent.name': 'Firefox', 'user_agent.device.name': 'Other', 'user_agent.version': '57.0.'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_007_iis>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_007_iis>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/iis/access/test/test.log'
    objects = [{'@timestamp': '2018-01-01T08:09:10.000Z', 'agent': {'ephemeral_id': 'e7a0da4c-a246-456e-8b95-c39a10c70faa', 'hostnam..., ...}, 'destination': {'address': '10.44.0.136', 'ip': '10.44.0.136', 'port': 443}, 'ecs': {'version': '1.9.0'}, ...}]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object: 
    E             {'log.offset': 257, 'destination.address': '127.0.0.1', 'destination.port': 80, 'destination.ip': '127.0.0.1', 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.path': '/', 'url.query': 'q=100', 'input.type': 'log', 'iis.access.sub_status': 0, 'iis.access.win32_status': 0, '@timestamp': '2018-01-01T08:09:10.000Z', 'related.ip': ['85.181.35.98', '127.0.0.1'], 'service.type': 'iis', 'http.request.method': 'GET', 'http.response.status_code': 200, 'event.duration': 123000000, 'event.kind': 'event', 'event.module': 'iis', 'event.category': ['web', 'network'], 'event.type': ['connection'], 'event.dataset': 'iis.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0', 'user_agent.os.name': 'Windows', 'user_agent.os.version': '7', 'user_agent.os.full': 'Windows 7', 'user_agent.name': 'Firefox', 'user_agent.device.name': 'Other', 'user_agent.version': '57.0.'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_010_iis – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object:    {'log.offset': 286, 'destination.address': '127.0.0.1', 'destination.port': 80, 'destination.ip': '127.0.0.1', 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.port': 2780, 'source.ip': '85.181.35.98', 'fileset.name': 'error', 'url.original': '/ThisIsMyUrl.htm', 'input.type': 'log', 'iis.error.reason_phrase': 'Hostname', '@timestamp': '2018-01-01T09:10:11.000Z', 'related.ip': ['85.181.35.98', '127.0.0.1'], 'service.type': 'iis', 'http.request.method': 'GET', 'http.response.status_code': 400, 'http.version': '1.1', 'event.kind': 'event', 'event.module': 'iis', 'event.category': ['web', 'network'], 'event.type': ['connection'], 'event.dataset': 'iis.error', 'event.outcome': 'failure'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_010_iis>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_010_iis>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/iis/error/test/test.log'
    objects = [{'@timestamp': '2018-01-01T08:09:10.000Z', 'agent': {'ephemeral_id': 'bbf4d162-340e-4ecb-91cc-adac714aa838', 'hostnam...fdd0', ...}, 'destination': {'address': '127.0.0.1', 'ip': '127.0.0.1', 'port': 80}, 'ecs': {'version': '1.9.0'}, ...}]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object: 
    E             {'log.offset': 286, 'destination.address': '127.0.0.1', 'destination.port': 80, 'destination.ip': '127.0.0.1', 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.port': 2780, 'source.ip': '85.181.35.98', 'fileset.name': 'error', 'url.original': '/ThisIsMyUrl.htm', 'input.type': 'log', 'iis.error.reason_phrase': 'Hostname', '@timestamp': '2018-01-01T09:10:11.000Z', 'related.ip': ['85.181.35.98', '127.0.0.1'], 'service.type': 'iis', 'http.request.method': 'GET', 'http.response.status_code': 400, 'http.version': '1.1', 'event.kind': 'event', 'event.module': 'iis', 'event.category': ['web', 'network'], 'event.type': ['connection'], 'event.dataset': 'iis.error', 'event.outcome': 'failure'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_013_haproxy – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.continent_name']": {'new_value': 'Oceania', 'old_value': 'Europe'}, "root['source.geo.country_name']": {'new_value': 'Australia', 'old_value': 'Russia'}, "root['source.geo.location.lon']": {'new_value': 143.2104, 'old_value': 37.6172}, "root['source.geo.country_iso_code']": {'new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}}, full object:    {'process.name': 'haproxy', 'process.pid': 32450, 'log.offset': 0, 'source.geo.continent_name': 'Oceania', 'source.geo.country_iso_code': 'AU', 'source.geo.country_name': 'Australia', 'source.geo.location.lon': 143.2104, 'source.geo.location.lat': -33.494, 'source.address': '1.2.3.4', 'source.port': 38862, 'source.ip': '1.2.3.4', 'fileset.name': 'log', 'input.type': 'log', 'related.ip': ['1.2.3.4'], 'service.type': 'haproxy', 'haproxy.server_name': 'docs', 'haproxy.backend_queue': 0, 'haproxy.total_waiting_time_ms': 0, 'haproxy.termination_state': '----', 'haproxy.connection_wait_time_ms': 1, 'haproxy.backend_name': 'docs_microservice', 'haproxy.http.request.raw_request_line': 'GET /component---src-pages-index-js-4b15624544f97cf0bb8f.js HTTP/1.1', 'haproxy.http.request.captured_cookie': '-', 'haproxy.http.request.captured_headers': ['docs.example.internal'], 'haproxy.http.request.time_wait_ms': 0, 'haproxy.http.request.time_wait_without_data_ms': 0, 'haproxy.http.response.captured_cookie': '-', 'haproxy.http.response.captured_headers': [], 'haproxy.frontend_name': 'incoming~', 'haproxy.server_queue': 0, 'haproxy.bytes_read': 168, 'haproxy.connections.server': 0, 'haproxy.connections.retries': 0, 'haproxy.connections.active': 6, 'haproxy.connections.backend': 0, 'haproxy.connections.frontend': 6, 'http.response.status_code': 304, 'http.response.bytes': 168, 'event.duration': 2000000, 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'haproxy', 'event.category': ['web'], 'event.dataset': 'haproxy.log', 'event.outcome': 'success'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_013_haproxy>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_013_haproxy>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/haproxy/log/test/haproxy.log'
    objects = [{'@timestamp': '2018-07-30T09:03:52.726-02:00', 'agent': {'ephemeral_id': '5546066f-f5e7-4f58-9690-0eff56b52b39', 'ho...ory': ['web'], 'dataset': 'haproxy.log', 'duration': 2000000, 'ingested': '2021-04-22T09:26:40.606829407Z', ...}, ...}]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.continent_name']": {'new_value': 'Oceania', 'old_value': 'Europe'}, "root['source.geo.country_name']": {'new_value': 'Australia', 'old_value': 'Russia'}, "root['source.geo.location.lon']": {'new_value': 143.2104, 'old_value': 37.6172}, "root['source.geo.country_iso_code']": {'new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}}, full object: 
    E             {'process.name': 'haproxy', 'process.pid': 32450, 'log.offset': 0, 'source.geo.continent_name': 'Oceania', 'source.geo.country_iso_code': 'AU', 'source.geo.country_name': 'Australia', 'source.geo.location.lon': 143.2104, 'source.geo.location.lat': -33.494, 'source.address': '1.2.3.4', 'source.port': 38862, 'source.ip': '1.2.3.4', 'fileset.name': 'log', 'input.type': 'log', 'related.ip': ['1.2.3.4'], 'service.type': 'haproxy', 'haproxy.server_name': 'docs', 'haproxy.backend_queue': 0, 'haproxy.total_waiting_time_ms': 0, 'haproxy.termination_state': '----', 'haproxy.connection_wait_time_ms': 1, 'haproxy.backend_name': 'docs_microservice', 'haproxy.http.request.raw_request_line': 'GET /component---src-pages-index-js-4b15624544f97cf0bb8f.js HTTP/1.1', 'haproxy.http.request.captured_cookie': '-', 'haproxy.http.request.captured_headers': ['docs.example.internal'], 'haproxy.http.request.time_wait_ms': 0, 'haproxy.http.request.time_wait_without_data_ms': 0, 'haproxy.http.response.captured_cookie': '-', 'haproxy.http.response.captured_headers': [], 'haproxy.frontend_name': 'incoming~', 'haproxy.server_queue': 0, 'haproxy.bytes_read': 168, 'haproxy.connections.server': 0, 'haproxy.connections.retries': 0, 'haproxy.connections.active': 6, 'haproxy.connections.backend': 0, 'haproxy.connections.frontend': 6, 'http.response.status_code': 304, 'http.response.bytes': 168, 'event.duration': 2000000, 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'haproxy', 'event.category': ['web'], 'event.dataset': 'haproxy.log', 'event.outcome': 'success'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_014_haproxy – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.continent_name']": {'new_value': 'Oceania', 'old_value': 'Europe'}, "root['source.geo.country_name']": {'new_value': 'Australia', 'old_value': 'Russia'}, "root['source.geo.location.lon']": {'new_value': 143.2104, 'old_value': 37.6172}, "root['source.geo.country_iso_code']": {'new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}}, full object:    {'process.name': 'haproxy', 'process.pid': 24551, 'log.offset': 0, 'destination.port': 5000, 'destination.ip': '1.2.3.4', 'source.geo.continent_name': 'Oceania', 'source.geo.country_iso_code': 'AU', 'source.geo.country_name': 'Australia', 'source.geo.location.lon': 143.2104, 'source.geo.location.lat': -33.494, 'source.address': '1.2.3.4', 'source.port': 40780, 'source.ip': '1.2.3.4', 'fileset.name': 'log', 'input.type': 'log', 'related.ip': ['1.2.3.4', '1.2.3.4'], 'service.type': 'haproxy', 'haproxy.mode': 'HTTP', 'haproxy.frontend_name': 'main', 'haproxy.source': '1.2.3.4', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'haproxy', 'event.category': ['web', 'network'], 'event.type': ['connection'], 'event.dataset': 'haproxy.log'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_014_haproxy>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_014_haproxy>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/haproxy/log/test/default.log'
    objects = [{'@timestamp': '2021-09-20T15:42:59.000-02:00', 'agent': {'ephemeral_id': '4683e2e7-276d-446f-bafd-742e67f9edde', 'ho...ac83', 'name': 'c28a8efcfdd0', ...}, 'destination': {'ip': '1.2.3.4', 'port': 5000}, 'ecs': {'version': '1.9.0'}, ...}]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.continent_name']": {'new_value': 'Oceania', 'old_value': 'Europe'}, "root['source.geo.country_name']": {'new_value': 'Australia', 'old_value': 'Russia'}, "root['source.geo.location.lon']": {'new_value': 143.2104, 'old_value': 37.6172}, "root['source.geo.country_iso_code']": {'new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}}, full object: 
    E             {'process.name': 'haproxy', 'process.pid': 24551, 'log.offset': 0, 'destination.port': 5000, 'destination.ip': '1.2.3.4', 'source.geo.continent_name': 'Oceania', 'source.geo.country_iso_code': 'AU', 'source.geo.country_name': 'Australia', 'source.geo.location.lon': 143.2104, 'source.geo.location.lat': -33.494, 'source.address': '1.2.3.4', 'source.port': 40780, 'source.ip': '1.2.3.4', 'fileset.name': 'log', 'input.type': 'log', 'related.ip': ['1.2.3.4', '1.2.3.4'], 'service.type': 'haproxy', 'haproxy.mode': 'HTTP', 'haproxy.frontend_name': 'main', 'haproxy.source': '1.2.3.4', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'haproxy', 'event.category': ['web', 'network'], 'event.type': ['connection'], 'event.dataset': 'haproxy.log'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...new_value': 'AU', 'old_value': 'RU'}, "root['source.geo.location.lat']": {'new_value': -33.494, 'old_value': 55.7527}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_065_auditd – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo.location.lon']": {'new_value': -77.5342, 'old_value': -77.6099}, "root['source.geo.location.lat']": {'new_value': 39.0127, 'old_value': 38.9637}, "root['source.as.organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}}, full object:    {'process.pid': 28281, 'process.executable': '/usr/sbin/sshd', 'log.offset': 1640, 'source.geo.continent_name': 'North America', 'source.geo.region_iso_code': 'US-VA', 'source.geo.city_name': 'Ashburn', 'source.geo.country_iso_code': 'US', 'source.geo.country_name': 'United States', 'source.geo.region_name': 'Virginia', 'source.geo.location.lon': -77.5342, 'source.geo.location.lat': 39.0127, 'source.as.number': 701, 'source.as.organization.name': 'UUNET', 'source.address': '96.241.146.97', 'source.ip': '96.241.146.97', 'fileset.name': 'log', 'auditd.log.ses': '6793', 'auditd.log.op': 'destroy', 'auditd.log.laddr': '107.170.139.210', 'auditd.log.kind': 'session', 'auditd.log.rport': 58994, 'auditd.log.lport': 50022, 'auditd.log.spid': '28282', 'auditd.log.record_type': 'CRYPTO_KEY_USER', 'auditd.log.sequence': 19623788, 'auditd.log.direction': 'both', 'input.type': 'log', '@timestamp': '2017-03-16T04:02:40.070Z', 'service.type': 'auditd', 'event.original': 'type=CRYPTO_KEY_USER msg=audit(1489636960.070:19623788): user pid=28281 uid=0 auid=700 ses=6793 msg=\'op=destroy kind=session fp=? direction=both spid=28282 suid=74 rport=58994 laddr=107.170.139.210 lport=50022  exe="/usr/sbin/sshd" hostname=? addr=96.241.146.97 terminal=? res=success\'', 'event.kind': 'event', 'event.module': 'auditd', 'event.action': ['negotiated-crypto-key'], 'event.category': ['process'], 'event.type': ['info'], 'event.dataset': 'auditd.log', 'event.outcome': 'success', 'user.saved.id': '74', 'user.audit.id': '700', 'user.id': '0'} assert 1 == 0  +  where 1 = len({'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo....organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_065_auditd>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_065_auditd>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/auditd/log/test/audit-rhel6.log'
    objects = [{'@timestamp': '2017-03-14T19:20:30.178Z', 'agent': {'ephemeral_id': 'd01e76b1-4b21-4603-acef-b890cdf14e83', 'hostnam...'op': 'SPD-add', 'sequence': 19600354, 'ses': '4294967295', ...}}, 'destination': {'address': '10.100.4.0'}, ...}, ...]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo.location.lon']": {'new_value': -77.5342, 'old_value': -77.6099}, "root['source.geo.location.lat']": {'new_value': 39.0127, 'old_value': 38.9637}, "root['source.as.organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}}, full object: 
    E             {'process.pid': 28281, 'process.executable': '/usr/sbin/sshd', 'log.offset': 1640, 'source.geo.continent_name': 'North America', 'source.geo.region_iso_code': 'US-VA', 'source.geo.city_name': 'Ashburn', 'source.geo.country_iso_code': 'US', 'source.geo.country_name': 'United States', 'source.geo.region_name': 'Virginia', 'source.geo.location.lon': -77.5342, 'source.geo.location.lat': 39.0127, 'source.as.number': 701, 'source.as.organization.name': 'UUNET', 'source.address': '96.241.146.97', 'source.ip': '96.241.146.97', 'fileset.name': 'log', 'auditd.log.ses': '6793', 'auditd.log.op': 'destroy', 'auditd.log.laddr': '107.170.139.210', 'auditd.log.kind': 'session', 'auditd.log.rport': 58994, 'auditd.log.lport': 50022, 'auditd.log.spid': '28282', 'auditd.log.record_type': 'CRYPTO_KEY_USER', 'auditd.log.sequence': 19623788, 'auditd.log.direction': 'both', 'input.type': 'log', '@timestamp': '2017-03-16T04:02:40.070Z', 'service.type': 'auditd', 'event.original': 'type=CRYPTO_KEY_USER msg=audit(1489636960.070:19623788): user pid=28281 uid=0 auid=700 ses=6793 msg=\'op=destroy kind=session fp=? direction=both spid=28282 suid=74 rport=58994 laddr=107.170.139.210 lport=50022  exe="/usr/sbin/sshd" hostname=? addr=96.241.146.97 terminal=? res=success\'', 'event.kind': 'event', 'event.module': 'auditd', 'event.action': ['negotiated-crypto-key'], 'event.category': ['process'], 'event.type': ['info'], 'event.dataset': 'auditd.log', 'event.outcome': 'success', 'user.saved.id': '74', 'user.audit.id': '700', 'user.id': '0'}
    E           assert 1 == 0
    E            +  where 1 = len({'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo....organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_068_auditd – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo.location.lon']": {'new_value': -77.5342, 'old_value': -77.6099}, "root['source.geo.location.lat']": {'new_value': 39.0127, 'old_value': 38.9637}, "root['source.as.organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}}, full object:    {'process.pid': 1298, 'process.executable': '/usr/sbin/sshd', 'log.offset': 783, 'source.geo.continent_name': 'North America', 'source.geo.region_iso_code': 'US-VA', 'source.geo.city_name': 'Ashburn', 'source.geo.country_iso_code': 'US', 'source.geo.country_name': 'United States', 'source.geo.region_name': 'Virginia', 'source.geo.location.lon': -77.5342, 'source.geo.location.lat': 39.0127, 'source.as.number': 701, 'source.as.organization.name': 'UUNET', 'source.address': '96.241.146.97', 'source.ip': '96.241.146.97', 'fileset.name': 'log', 'auditd.log.laddr': '10.142.0.2', 'auditd.log.rport': 63927, 'auditd.log.lport': 22, 'auditd.log.spid': '1299', 'auditd.log.subj': 'system_u:system_r:sshd_t:s0-s0:c0.c1023', 'auditd.log.direction': 'from-server', 'auditd.log.ses': '4294967295', 'auditd.log.cipher': 'chacha20-poly1305@openssh.com', 'auditd.log.op': 'start', 'auditd.log.record_type': 'CRYPTO_SESSION', 'auditd.log.sequence': 406, 'auditd.log.ksize': 512, 'auditd.log.pfs': 'curve25519-sha256@libssh.org', 'input.type': 'log', '@timestamp': '2016-12-07T02:17:21.515Z', 'service.type': 'auditd', 'event.original': 'type=CRYPTO_SESSION msg=audit(1481077041.515:406): pid=1298 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg=\'op=start direction=from-server cipher=chacha20-poly1305@openssh.com ksize=512 mac= pfs=curve25519-sha256@libssh.org spid=1299 suid=74 rport=63927 laddr=10.142.0.2 lport=22  exe="/usr/sbin/sshd" hostname=? addr=96.241.146.97 terminal=? res=success\'', 'event.kind': 'event', 'event.module': 'auditd', 'event.action': ['started-crypto-session'], 'event.type': ['info'], 'event.category': ['process'], 'event.dataset': 'auditd.log', 'event.outcome': 'success', 'user.saved.id': '74', 'user.audit.id': '4294967295', 'user.id': '0'} assert 1 == 0  +  where 1 = len({'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo....organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_068_auditd>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_068_auditd>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/auditd/log/test/test.log'
    objects = [{'@timestamp': '2017-01-31T20:17:14.891Z', 'agent': {'ephemeral_id': 'a0fe6563-e34c-477f-8639-18be9f2ec4fe', 'hostnam...a8efcfdd0', ...}, 'auditd': {'log': {'proctitle': 'bash', 'sequence': 194438}}, 'ecs': {'version': '1.9.0'}, ...}, ...]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo.location.lon']": {'new_value': -77.5342, 'old_value': -77.6099}, "root['source.geo.location.lat']": {'new_value': 39.0127, 'old_value': 38.9637}, "root['source.as.organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}}, full object: 
    E             {'process.pid': 1298, 'process.executable': '/usr/sbin/sshd', 'log.offset': 783, 'source.geo.continent_name': 'North America', 'source.geo.region_iso_code': 'US-VA', 'source.geo.city_name': 'Ashburn', 'source.geo.country_iso_code': 'US', 'source.geo.country_name': 'United States', 'source.geo.region_name': 'Virginia', 'source.geo.location.lon': -77.5342, 'source.geo.location.lat': 39.0127, 'source.as.number': 701, 'source.as.organization.name': 'UUNET', 'source.address': '96.241.146.97', 'source.ip': '96.241.146.97', 'fileset.name': 'log', 'auditd.log.laddr': '10.142.0.2', 'auditd.log.rport': 63927, 'auditd.log.lport': 22, 'auditd.log.spid': '1299', 'auditd.log.subj': 'system_u:system_r:sshd_t:s0-s0:c0.c1023', 'auditd.log.direction': 'from-server', 'auditd.log.ses': '4294967295', 'auditd.log.cipher': 'chacha20-poly1305@openssh.com', 'auditd.log.op': 'start', 'auditd.log.record_type': 'CRYPTO_SESSION', 'auditd.log.sequence': 406, 'auditd.log.ksize': 512, 'auditd.log.pfs': 'curve25519-sha256@libssh.org', 'input.type': 'log', '@timestamp': '2016-12-07T02:17:21.515Z', 'service.type': 'auditd', 'event.original': 'type=CRYPTO_SESSION msg=audit(1481077041.515:406): pid=1298 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg=\'op=start direction=from-server cipher=chacha20-poly1305@openssh.com ksize=512 mac= pfs=curve25519-sha256@libssh.org spid=1299 suid=74 rport=63927 laddr=10.142.0.2 lport=22  exe="/usr/sbin/sshd" hostname=? addr=96.241.146.97 terminal=? res=success\'', 'event.kind': 'event', 'event.module': 'auditd', 'event.action': ['started-crypto-session'], 'event.type': ['info'], 'event.category': ['process'], 'event.dataset': 'auditd.log', 'event.outcome': 'success', 'user.saved.id': '74', 'user.audit.id': '4294967295', 'user.id': '0'}
    E           assert 1 == 0
    E            +  where 1 = len({'values_changed': {"root['source.geo.city_name']": {'new_value': 'Ashburn', 'old_value': 'Aldie'}, "root['source.geo....organization.name']": {'new_value': 'UUNET', 'old_value': 'MCI Communications Services, Inc. d/b/a Verizon Business'}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_072_nginx – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object:    {'nginx.access.remote_ip_list': ['10.0.0.2', '10.0.0.1', '85.181.35.98'], 'log.offset': 365, 'destination.domain': 'example.com', 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.original': '/ocelot', 'input.type': 'log', '@timestamp': '2016-12-07T10:05:07.000Z', 'related.ip': ['85.181.35.98'], 'service.type': 'nginx', 'http.request.method': 'GET', 'http.response.status_code': 200, 'http.response.body.bytes': 571, 'http.version': '1.1', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'nginx', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'nginx.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0', 'user_agent.os.name': 'Mac OS X', 'user_agent.os.version': '10.12', 'user_agent.os.full': 'Mac OS X 10.12', 'user_agent.name': 'Firefox', 'user_agent.device.name': 'Mac', 'user_agent.version': '49.0.'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_072_nginx>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_072_nginx>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/nginx/access/test/test-with-host.log'
    objects = [{'@timestamp': '2016-12-07T10:05:07.000Z', 'agent': {'ephemeral_id': 'a3cf0d90-e7b4-4a8f-bb9e-7131341958cd', 'hostnam...-465fc4deac83', 'name': 'c28a8efcfdd0', ...}, 'destination': {'ip': '1.2.3.4'}, 'ecs': {'version': '1.9.0'}, ...}, ...]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object: 
    E             {'nginx.access.remote_ip_list': ['10.0.0.2', '10.0.0.1', '85.181.35.98'], 'log.offset': 365, 'destination.domain': 'example.com', 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.original': '/ocelot', 'input.type': 'log', '@timestamp': '2016-12-07T10:05:07.000Z', 'related.ip': ['85.181.35.98'], 'service.type': 'nginx', 'http.request.method': 'GET', 'http.response.status_code': 200, 'http.response.body.bytes': 571, 'http.version': '1.1', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'nginx', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'nginx.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0', 'user_agent.os.name': 'Mac OS X', 'user_agent.os.version': '10.12', 'user_agent.os.full': 'Mac OS X 10.12', 'user_agent.name': 'Firefox', 'user_agent.device.name': 'Mac', 'user_agent.version': '49.0.'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_073_nginx – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'values_changed': {"root['source.geo.city_name']": {'new_value': 'Frankfurt am Main', 'old_value': 'Germersheim'}, "root['source.geo.region_iso_code']": {'new_value': 'DE-HE', 'old_value': 'DE-RP'}, "root['source.geo.location.lon']": {'new_value': 8.6119, 'old_value': 8.3639}, "root['source.geo.region_name']": {'new_value': 'Hesse', 'old_value': 'Rheinland-Pfalz'}, "root['source.geo.location.lat']": {'new_value': 50.1234, 'old_value': 49.2231}}}, full object:    {'nginx.access.remote_ip_list': ['77.179.66.156'], 'log.offset': 0, 'source.geo.continent_name': 'Europe', 'source.geo.region_iso_code': 'DE-HE', 'source.geo.city_name': 'Frankfurt am Main', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.region_name': 'Hesse', 'source.geo.location.lon': 8.6119, 'source.geo.location.lat': 50.1234, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '77.179.66.156', 'source.ip': '77.179.66.156', 'fileset.name': 'access', 'url.original': '/', 'input.type': 'log', '@timestamp': '2016-10-25T12:49:33.000Z', 'related.ip': ['77.179.66.156'], 'service.type': 'nginx', 'http.request.method': 'GET', 'http.response.status_code': 200, 'http.response.body.bytes': 612, 'http.version': '1.1', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'nginx', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'nginx.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36', 'user_agent.os.name': 'Mac OS X', 'user_agent.os.version': '10.12.0', 'user_agent.os.full': 'Mac OS X 10.12.0', 'user_agent.name': 'Chrome', 'user_agent.device.name': 'Mac', 'user_agent.version': '54.0.2840.59'} assert 1 == 0  +  where 1 = len({'values_changed': {"root['source.geo.city_name']": {'new_value': 'Frankfurt am Main', 'old_value': 'Germersheim'}, "r...se', 'old_value': 'Rheinland-Pfalz'}, "root['source.geo.location.lat']": {'new_value': 50.1234, 'old_value': 49.2231}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_073_nginx>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_073_nginx>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/nginx/access/test/access.log'
    objects = [{'@timestamp': '2016-10-25T12:49:33.000Z', 'agent': {'ephemeral_id': 'd60e0645-df79-4052-8732-83b161fb7d29', 'hostnam...: '2021-04-22T09:28:42.581Z', 'dataset': 'nginx.access', 'ingested': '2021-04-22T09:28:43.658378724Z', ...}, ...}, ...]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'values_changed': {"root['source.geo.city_name']": {'new_value': 'Frankfurt am Main', 'old_value': 'Germersheim'}, "root['source.geo.region_iso_code']": {'new_value': 'DE-HE', 'old_value': 'DE-RP'}, "root['source.geo.location.lon']": {'new_value': 8.6119, 'old_value': 8.3639}, "root['source.geo.region_name']": {'new_value': 'Hesse', 'old_value': 'Rheinland-Pfalz'}, "root['source.geo.location.lat']": {'new_value': 50.1234, 'old_value': 49.2231}}}, full object: 
    E             {'nginx.access.remote_ip_list': ['77.179.66.156'], 'log.offset': 0, 'source.geo.continent_name': 'Europe', 'source.geo.region_iso_code': 'DE-HE', 'source.geo.city_name': 'Frankfurt am Main', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.region_name': 'Hesse', 'source.geo.location.lon': 8.6119, 'source.geo.location.lat': 50.1234, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '77.179.66.156', 'source.ip': '77.179.66.156', 'fileset.name': 'access', 'url.original': '/', 'input.type': 'log', '@timestamp': '2016-10-25T12:49:33.000Z', 'related.ip': ['77.179.66.156'], 'service.type': 'nginx', 'http.request.method': 'GET', 'http.response.status_code': 200, 'http.response.body.bytes': 612, 'http.version': '1.1', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'nginx', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'nginx.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36', 'user_agent.os.name': 'Mac OS X', 'user_agent.os.version': '10.12.0', 'user_agent.os.full': 'Mac OS X 10.12.0', 'user_agent.name': 'Chrome', 'user_agent.device.name': 'Mac', 'user_agent.version': '54.0.2840.59'}
    E           assert 1 == 0
    E            +  where 1 = len({'values_changed': {"root['source.geo.city_name']": {'new_value': 'Frankfurt am Main', 'old_value': 'Germersheim'}, "r...se', 'old_value': 'Rheinland-Pfalz'}, "root['source.geo.location.lat']": {'new_value': 50.1234, 'old_value': 49.2231}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Build&Test / filebeat-build / test_fileset_file_074_nginx – filebeat.tests.system.test_modules.Test
    Expand to view the error details

     AssertionError: The following expected object doesn't match:    Diff:   {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object:    {'nginx.access.remote_ip_list': ['10.0.0.2', '10.0.0.1', '85.181.35.98'], 'log.offset': 341, 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.original': '/ocelot', 'input.type': 'log', '@timestamp': '2016-12-07T10:05:07.000Z', 'related.ip': ['85.181.35.98'], 'service.type': 'nginx', 'http.request.method': 'GET', 'http.response.status_code': 200, 'http.response.body.bytes': 571, 'http.version': '1.1', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'nginx', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'nginx.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0', 'user_agent.os.name': 'Mac OS X', 'user_agent.os.version': '10.12', 'user_agent.os.full': 'Mac OS X 10.12', 'user_agent.name': 'Firefox', 'user_agent.device.name': 'Mac', 'user_agent.version': '49.0.'} assert 2 == 0  +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}) 
    

    Expand to view the stacktrace

     a = (<test_modules.Test testMethod=test_fileset_file_074_nginx>,)
    
        @wraps(func)
        def standalone_func(*a):
    >       return func(*(a + p.args), **p.kwargs)
    
    ../build/ve/docker/lib/python3.7/site-packages/parameterized/parameterized.py:518: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    tests/system/test_modules.py:107: in test_fileset_file
        cfgfile=cfgfile)
    tests/system/test_modules.py:193: in run_on_file
        self._test_expected_events(test_file, objects)
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <test_modules.Test testMethod=test_fileset_file_074_nginx>
    test_file = '/go/src/github.com/elastic/beats/filebeat/module/nginx/access/test/test.log'
    objects = [{'@timestamp': '2016-12-07T10:05:07.000Z', 'agent': {'ephemeral_id': 'fa3ed5a3-9921-475a-ad25-ac1923805e20', 'hostnam...: '2021-04-22T09:28:44.332Z', 'dataset': 'nginx.access', 'ingested': '2021-04-22T09:28:45.385095835Z', ...}, ...}, ...]
    
        def _test_expected_events(self, test_file, objects):
        
            # Generate expected files if GENERATE env variable is set
            if os.getenv("GENERATE"):
                with open(test_file + "-expected.json", 'w') as f:
                    # Flatten an cleanup objects
                    # This makes sure when generated on different machines / version the expected.json stays the same.
                    for k, obj in enumerate(objects):
                        objects[k] = self.flatten_object(obj, {}, "")
                        clean_keys(objects[k])
        
                    json.dump(objects, f, indent=4, separators=(',', ': '), sort_keys=True)
        
            with open(test_file + "-expected.json", "r") as f:
                expected = json.load(f)
        
            assert len(expected) == len(objects), "expected {} events to compare but got {}".format(
                len(expected), len(objects))
        
            for idx in range(len(expected)):
                ev = expected[idx]
                obj = objects[idx]
        
                # Flatten objects for easier comparing
                obj = self.flatten_object(obj, {}, "")
                clean_keys(obj)
                clean_keys(ev)
        
                d = DeepDiff(ev, obj, ignore_order=True)
        
    >           assert len(d) == 0, "The following expected object doesn't match:\n Diff:\n{}, full object: \n{}".format(d, obj)
    E           AssertionError: The following expected object doesn't match:
    E              Diff:
    E             {'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso_code']], 'values_changed': {"root['source.geo.location.lon']": {'new_value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}}, full object: 
    E             {'nginx.access.remote_ip_list': ['10.0.0.2', '10.0.0.1', '85.181.35.98'], 'log.offset': 341, 'source.geo.continent_name': 'Europe', 'source.geo.country_iso_code': 'DE', 'source.geo.country_name': 'Germany', 'source.geo.location.lon': 9.491, 'source.geo.location.lat': 51.2993, 'source.as.number': 6805, 'source.as.organization.name': 'Telefonica Germany', 'source.address': '85.181.35.98', 'source.ip': '85.181.35.98', 'fileset.name': 'access', 'url.original': '/ocelot', 'input.type': 'log', '@timestamp': '2016-12-07T10:05:07.000Z', 'related.ip': ['85.181.35.98'], 'service.type': 'nginx', 'http.request.method': 'GET', 'http.response.status_code': 200, 'http.response.body.bytes': 571, 'http.version': '1.1', 'event.timezone': '-02:00', 'event.kind': 'event', 'event.module': 'nginx', 'event.category': ['web'], 'event.type': ['access'], 'event.dataset': 'nginx.access', 'event.outcome': 'success', 'user_agent.original': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0', 'user_agent.os.name': 'Mac OS X', 'user_agent.os.version': '10.12', 'user_agent.os.full': 'Mac OS X 10.12', 'user_agent.name': 'Firefox', 'user_agent.device.name': 'Mac', 'user_agent.version': '49.0.'}
    E           assert 2 == 0
    E            +  where 2 = len({'dictionary_item_removed': [root['source.geo.city_name'], root['source.geo.region_name'], root['source.geo.region_iso...value': 9.491, 'old_value': 13.4531}, "root['source.geo.location.lat']": {'new_value': 51.2993, 'old_value': 52.4473}}})
    
    tests/system/test_modules.py:225: AssertionError 
    

Steps errors 8

Expand to view the steps failures

untar gsutil
  • Took 0 min 3 sec . View more details on here
  • Description: tar -xpf gsutil.tar.gz --strip-components=1
filebeat-build - mage build test
  • Took 19 min 29 sec . View more details on here
  • Description: mage build test
generator-metricbeat-test - make -C generator/_templates/metricbeat test test-package
  • Took 5 min 55 sec . View more details on here
  • Description: make -C generator/_templates/metricbeat test test-package
generator-beat-test - make -C generator/_templates/beat test test-package
  • Took 5 min 21 sec . View more details on here
  • Description: make -C generator/_templates/beat test test-package
metricbeat-windows-2016-windows-2016 - mage build unitTest
  • Took 5 min 19 sec . View more details on here
  • Description: mage build unitTest
gsutil -m -q cp -a public-read test-build-artifacts-metricbeat-windows-2016-windows-2016-tgz gs://be
  • Took 0 min 16 sec . View more details on here
  • Description: @echo off gsutil -m -q cp -a public-read test-build-artifacts-metricbeat-windows-2016-windows-2016-tgz gs://beats-ci-temp/Beats/beats/PR-25225-1
x-pack/filebeat-build - mage build test
  • Took 41 min 41 sec . View more details on here
  • Description: mage build test
Error signal
  • Took 0 min 0 sec . View more details on here
  • Description: Error 'hudson.AbortException: script returned exit code 1'

Log output

Expand to view the last 100 lines of log output

[2021-04-22T10:21:46.802Z]  API version:       1.41
[2021-04-22T10:21:46.802Z]  Go version:        go1.13.15
[2021-04-22T10:21:46.802Z]  Git commit:        48d30b5
[2021-04-22T10:21:46.802Z]  Built:             Fri Jan 29 14:33:13 2021
[2021-04-22T10:21:46.802Z]  OS/Arch:           linux/amd64
[2021-04-22T10:21:46.802Z]  Context:           default
[2021-04-22T10:21:46.802Z]  Experimental:      true
[2021-04-22T10:21:46.802Z] 
[2021-04-22T10:21:46.802Z] Server: Docker Engine - Community
[2021-04-22T10:21:46.802Z]  Engine:
[2021-04-22T10:21:46.802Z]   Version:          20.10.3
[2021-04-22T10:21:46.802Z]   API version:      1.41 (minimum version 1.12)
[2021-04-22T10:21:46.802Z]   Go version:       go1.13.15
[2021-04-22T10:21:46.802Z]   Git commit:       46229ca
[2021-04-22T10:21:46.802Z]   Built:            Fri Jan 29 14:31:25 2021
[2021-04-22T10:21:46.802Z]   OS/Arch:          linux/amd64
[2021-04-22T10:21:46.802Z]   Experimental:     false
[2021-04-22T10:21:46.802Z]  containerd:
[2021-04-22T10:21:46.802Z]   Version:          1.4.4
[2021-04-22T10:21:46.802Z]   GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
[2021-04-22T10:21:46.802Z]  runc:
[2021-04-22T10:21:46.802Z]   Version:          1.0.0-rc93
[2021-04-22T10:21:46.802Z]   GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
[2021-04-22T10:21:46.802Z]  docker-init:
[2021-04-22T10:21:46.802Z]   Version:          0.19.0
[2021-04-22T10:21:46.802Z]   GitCommit:        de40ad0
[2021-04-22T10:21:46.802Z] Change ownership of all files inside the specific folder from root/root to current user/group
[2021-04-22T10:21:46.802Z] Unable to find image 'alpine:3.4' locally
[2021-04-22T10:21:47.531Z] Change permissions with write access of all files inside the specific folder
[2021-04-22T10:21:47.763Z] 3.4: Pulling from library/alpine
[2021-04-22T10:21:47.763Z] c1e54eec4b57: Pulling fs layer
[2021-04-22T10:21:48.025Z] c1e54eec4b57: Verifying Checksum
[2021-04-22T10:21:48.025Z] c1e54eec4b57: Download complete
[2021-04-22T10:21:48.287Z] c1e54eec4b57: Pull complete
[2021-04-22T10:21:48.287Z] Digest: sha256:b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c
[2021-04-22T10:21:48.287Z] Status: Downloaded newer image for alpine:3.4
[2021-04-22T10:21:48.289Z] Running in /var/lib/jenkins/workspace/PR-25225-1-0ca033bd-b50a-4db2-a766-c9dd4d08c593
[2021-04-22T10:21:50.229Z] Change permissions with write access of all files inside the specific folder
[2021-04-22T10:21:51.689Z] Running in /var/lib/jenkins/workspace/PR-25225-1-bfc9e55c-167c-462c-8e1e-a8f46eb34364/src/github.com/elastic/beats/build
[2021-04-22T10:21:52.068Z] + rm -rf ve
[2021-04-22T10:21:52.068Z] + find . -type d -name vendor -exec rm -r {} ;
[2021-04-22T10:21:52.783Z] + python .ci/scripts/pre_archive_test.py
[2021-04-22T10:21:53.736Z] Copy ./metricbeat/build into build/metricbeat/build
[2021-04-22T10:21:53.802Z] Running in /var/lib/jenkins/workspace/PR-25225-1-bfc9e55c-167c-462c-8e1e-a8f46eb34364/src/github.com/elastic/beats/build
[2021-04-22T10:21:53.876Z] Recording test results
[2021-04-22T10:21:56.886Z] [Checks API] No suitable checks publisher found.
[2021-04-22T10:21:57.274Z] + gsutil --version
[2021-04-22T10:21:57.500Z] + go clean -modcache
[2021-04-22T10:21:58.707Z] Masking supported pattern matches of $FILE_CREDENTIAL
[2021-04-22T10:21:59.082Z] + gcloud auth activate-service-account --key-file ****
[2021-04-22T10:21:59.650Z] Activated service account credentials for: [beats-ci-gcs-plugin@elastic-ci-prod.iam.gserviceaccount.com]
[2021-04-22T10:22:00.087Z] + gsutil -m -q cp -a public-read eC1wYWNrL2VsYXN0aWMtYWdlbnQtcGFja2FnaW5nLWFybS1hcm0wMjI4MWYwNDJiOGFiODMzYzE5MmEyYzFlMTdlMzg5MjQ4N2UxMDcz gs://beats-ci-temp/ci/cache/
[2021-04-22T10:22:01.116Z] Cleaning up /var/lib/jenkins/workspace/PR-25225-1-bfc9e55c-167c-462c-8e1e-a8f46eb34364
[2021-04-22T10:22:01.117Z] Client: Docker Engine - Community
[2021-04-22T10:22:01.117Z]  Version:           20.10.3
[2021-04-22T10:22:01.117Z]  API version:       1.41
[2021-04-22T10:22:01.117Z]  Go version:        go1.13.15
[2021-04-22T10:22:01.117Z]  Git commit:        48d30b5
[2021-04-22T10:22:01.117Z]  Built:             Fri Jan 29 14:33:13 2021
[2021-04-22T10:22:01.117Z]  OS/Arch:           linux/amd64
[2021-04-22T10:22:01.117Z]  Context:           default
[2021-04-22T10:22:01.117Z]  Experimental:      true
[2021-04-22T10:22:01.117Z] 
[2021-04-22T10:22:01.117Z] Server: Docker Engine - Community
[2021-04-22T10:22:01.117Z]  Engine:
[2021-04-22T10:22:01.117Z]   Version:          20.10.3
[2021-04-22T10:22:01.117Z]   API version:      1.41 (minimum version 1.12)
[2021-04-22T10:22:01.117Z]   Go version:       go1.13.15
[2021-04-22T10:22:01.117Z]   Git commit:       46229ca
[2021-04-22T10:22:01.117Z]   Built:            Fri Jan 29 14:31:25 2021
[2021-04-22T10:22:01.117Z]   OS/Arch:          linux/amd64
[2021-04-22T10:22:01.117Z]   Experimental:     false
[2021-04-22T10:22:01.117Z]  containerd:
[2021-04-22T10:22:01.117Z]   Version:          1.4.4
[2021-04-22T10:22:01.117Z]   GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
[2021-04-22T10:22:01.117Z]  runc:
[2021-04-22T10:22:01.117Z]   Version:          1.0.0-rc93
[2021-04-22T10:22:01.117Z]   GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
[2021-04-22T10:22:01.117Z]  docker-init:
[2021-04-22T10:22:01.117Z]   Version:          0.19.0
[2021-04-22T10:22:01.117Z]   GitCommit:        de40ad0
[2021-04-22T10:22:01.117Z] Change ownership of all files inside the specific folder from root/root to current user/group
[2021-04-22T10:22:04.408Z] Change permissions with write access of all files inside the specific folder
[2021-04-22T10:22:04.482Z] Running in /var/lib/jenkins/workspace/PR-25225-1-bfc9e55c-167c-462c-8e1e-a8f46eb34364
[2021-04-22T10:22:09.839Z] + gsutil --version
[2021-04-22T10:22:11.273Z] Masking supported pattern matches of $FILE_CREDENTIAL
[2021-04-22T10:22:11.652Z] + gcloud auth activate-service-account --key-file ****
[2021-04-22T10:22:12.220Z] Activated service account credentials for: [beats-ci-gcs-plugin@elastic-ci-prod.iam.gserviceaccount.com]
[2021-04-22T10:22:12.664Z] + gsutil -m -q cp -a public-read bWV0cmljYmVhdC1weXRob25JbnRlZ1Rlc3QwMjI4MWYwNDJiOGFiODMzYzE5MmEyYzFlMTdlMzg5MjQ4N2UxMDcz gs://beats-ci-temp/ci/cache/
[2021-04-22T11:41:41.975Z] Cancelling nested steps due to timeout
[2021-04-22T11:41:42.011Z] Failed in branch x-pack/elastic-agent-windows-2016-windows-2016
[2021-04-22T11:41:47.511Z] Stage "Packaging" skipped due to earlier failure(s)
[2021-04-22T11:41:47.683Z] Running in /var/lib/jenkins/workspace/Beats_beats_PR-25225/src/github.com/elastic/beats
[2021-04-22T11:41:48.482Z] Running on Jenkins in /var/lib/jenkins/workspace/Beats_beats_PR-25225
[2021-04-22T11:41:48.629Z] [INFO] getVaultSecret: Getting secrets
[2021-04-22T11:41:48.753Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2021-04-22T11:41:49.923Z] + chmod 755 generate-build-data.sh
[2021-04-22T11:41:49.923Z] + ./generate-build-data.sh https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-25225/ https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-25225/runs/1 FAILURE 11174367
[2021-04-22T11:41:50.173Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-25225/runs/1/steps/?limit=10000 -o steps-info.json
[2021-04-22T11:41:58.197Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats/PR-25225/runs/1/tests/?status=FAILED -o tests-errors.json

🐛 Flaky test report

❕ There are test failures but not known flaky tests.

Expand to view the summary

Test stats 🧪

Test Results
Failed 166
Passed 46113
Skipped 4983
Total 51262

Genuine test errors 100

💔 There are test failures but not known flaky tests, most likely a genuine test failure.

  • Name: Build&Test / filebeat-build / test_fileset_file_000_traefik – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_007_iis – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_010_iis – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_013_haproxy – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_014_haproxy – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_065_auditd – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_068_auditd – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_072_nginx – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_073_nginx – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_074_nginx – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_103_apache – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_105_apache – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_110_apache – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_134_system – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / filebeat-build / test_fileset_file_137_system – filebeat.tests.system.test_modules.Test
  • Name: Build&Test / metricbeat-windows-2016-windows-2016 / TestPdhSuccessfulCounterRetrieval – github.com/elastic/beats/v7/metricbeat/helper/windows/pdh
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_001_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_002_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_003_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_004_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_005_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_006_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_007_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_008_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_009_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_010_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_011_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_012_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_013_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_014_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_015_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_016_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_017_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_018_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_019_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_020_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_021_gsuite – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_024_azure – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_027_azure – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_032_fortinet – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_036_juniper – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_037_juniper – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_038_juniper – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_039_juniper – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_040_juniper – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_046_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_053_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_059_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_060_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_061_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_064_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_065_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_068_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_069_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_077_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_079_zeek – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_082_checkpoint – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_083_sonicwall – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_093_gcp – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_095_gcp – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_113_panw – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_114_panw – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_115_panw – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_116_panw – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_117_panw – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_119_squid – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_123_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_124_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_128_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_131_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_132_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_135_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_136_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_138_o365 – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_141_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_142_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_143_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_144_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_145_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_146_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_147_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_148_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_149_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_150_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_151_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_152_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_153_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_154_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_155_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_156_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_157_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_158_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_159_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_160_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_161_google_workspace – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_167_iptables – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_169_okta – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_172_cyberarkpas – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_173_cyberarkpas – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest
  • Name: Build&Test / x-pack/filebeat-build / test_fileset_file_176_cyberarkpas – x-pack.filebeat.tests.system.test_xpack_modules.XPackTest

@kvch kvch merged commit 006226f into elastic:7.13 Apr 22, 2021
@zube zube bot removed the [zube]: Done label Jul 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Team:Elastic-Agent Label for the Agent team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants