Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Auditbeat] fim(kprobes): enrich file events by coupling add_process_metadata processor #38716

Conversation

pkoutsovasilis
Copy link
Contributor

@pkoutsovasilis pkoutsovasilis commented Apr 3, 2024

Proposed commit message

This PR adds reporting of process.group.id, process.group.name and process.entity_id in add_process_metadata processor. Also it changes the factory of MetricSets to allow the latter to specify Processors after successful instantiation; this is required as FIM has 3 different available backends, namely fsnotify, kprobes, ebpf and only the kprobes one requires to have add_process_metadata processor. Utilising the former, kprobes backend always adds a properly configured add_process_metadata processor. As a result, enriching kprobes file events with process-related data exhibits the same robustness levels of the current add_process_metadata processor. However, the current design is aligned with @nick-alayil and the sec-linux-platform which plan to increase the robustness of add_process_metadata processor in a separate effort.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

Author's Checklist

How to test this PR locally

Related issues

Screenshots

image

@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Apr 3, 2024
@pkoutsovasilis pkoutsovasilis force-pushed the pkoutsovasilis/fim-kprobes-process-metadata branch from 50d3e2a to 805857d Compare April 3, 2024 14:49
@pkoutsovasilis pkoutsovasilis added the Team:Security-Linux Platform Linux Platform Team in Security Solution label Apr 3, 2024
@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Apr 3, 2024
@pkoutsovasilis pkoutsovasilis marked this pull request as ready for review April 3, 2024 14:53
@pkoutsovasilis pkoutsovasilis requested review from a team as code owners April 3, 2024 14:53
@pkoutsovasilis pkoutsovasilis requested review from belimawr and leehinman and removed request for a team April 3, 2024 14:53
@elasticmachine
Copy link
Collaborator

Pinging @elastic/sec-linux-platform (Team:Security-Linux Platform)

@pierrehilbert pierrehilbert added the Team:Elastic-Agent Label for the Agent team label Apr 3, 2024
@elasticmachine
Copy link
Collaborator

Pinging @elastic/elastic-agent (Team:Elastic-Agent)

Copy link
Contributor

mergify bot commented Apr 3, 2024

This pull request is now in conflicts. Could you fix it? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/

git fetch upstream
git checkout -b pkoutsovasilis/fim-kprobes-process-metadata upstream/pkoutsovasilis/fim-kprobes-process-metadata
git merge upstream/matt/fim-container-id
git push upstream pkoutsovasilis/fim-kprobes-process-metadata

@elasticmachine
Copy link
Collaborator

elasticmachine commented Apr 3, 2024

💔 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 preview

Expand to view the summary

Build stats

  • Start Time: 2024-04-04T10:05:14.257+0000

  • Duration: 128 min 14 sec

Test stats 🧪

Test Results
Failed 25
Passed 29238
Skipped 2060
Total 31323

Test errors 25

Expand to view the tests failures

> Show only the first 10 test failures

Build&Test / metricbeat-pythonIntegTest / test_jolokia_jmx – metricbeat.tests.system.test_autodiscover_jolokia.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_autodiscover_jolokia.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 5bd7db120a43_metricbeat_7918a246f6f8_jolokia_1 (5bd7db)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_dashboards – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_export_config – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_export_ilm_policy – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_export_index_pattern – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_export_index_pattern_migration – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_export_template – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_index_management – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_start_stop – metricbeat.tests.system.test_base.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_base.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: 3ffce70bea84_metricbeat_7918a246f6f8_elasticsearch_1 (3ffce7)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Build&Test / metricbeat-pythonIntegTest / test_metricsets_0_stats – metricbeat.module.beat.test_beat.Test
    Expand to view the error details

     failed on setup with "KeyError: 'ContainerConfig'" 
    

    Expand to view the stacktrace

     cls = <class 'test_beat.Test'>
    
        @classmethod
        def setUpClass(cls):  # pylint: disable=invalid-name
            """
            initializes the Test class
            """
            if not hasattr(cls, 'beat_name'):
                cls.beat_name = "metricbeat"
        
            if not hasattr(cls, 'beat_path'):
                cls.beat_path = os.path.abspath(
                    os.path.join(os.path.dirname(__file__), "../../"))
        
    >       super().setUpClass()
    
    tests/system/metricbeat.py:42: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    ../libbeat/tests/system/beat/beat.py:204: in setUpClass
        cls.compose_up_with_retries()
    ../libbeat/tests/system/beat/beat.py:222: in compose_up_with_retries
        raise ex
    ../libbeat/tests/system/beat/beat.py:218: in compose_up_with_retries
        cls.compose_up()
    ../libbeat/tests/system/beat/compose.py:66: in compose_up
        project.up(
    /opt/venv/lib/python3.11/site-packages/compose/project.py:697: in up
        results, errors = parallel.parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/project.py:679: in do
        return service.execute_convergence_plan(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:579: in execute_convergence_plan
        return self._execute_convergence_recreate(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:499: in _execute_convergence_recreate
        containers, errors = parallel_execute(
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:108: in parallel_execute
        raise error_to_reraise
    /opt/venv/lib/python3.11/site-packages/compose/parallel.py:206: in producer
        result = func(obj)
    /opt/venv/lib/python3.11/site-packages/compose/service.py:494: in recreate
        return self.recreate_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:612: in recreate_container
        new_container = self.create_container(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:330: in create_container
        container_options = self._get_container_create_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:921: in _get_container_create_options
        container_options, override_options = self._build_container_volume_options(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:960: in _build_container_volume_options
        binds, affinity = merge_volume_bindings(
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1548: in merge_volume_bindings
        old_volumes, old_mounts = get_container_data_volumes(
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    container = <Container: ff12f529c216_metricbeat_7918a246f6f8_metricbeat_1 (ff12f5)>
    volumes_option = [], tmpfs_option = [], mounts_option = []
    
        def get_container_data_volumes(container, volumes_option, tmpfs_option, mounts_option):
            """
                Find the container data volumes that are in `volumes_option`, and return
                a mapping of volume bindings for those volumes.
                Anonymous volume mounts are updated in place instead.
            """
            volumes = []
            volumes_option = volumes_option or []
        
            container_mounts = {
                mount['Destination']: mount
                for mount in container.get('Mounts') or {}
            }
        
            image_volumes = [
                VolumeSpec.parse(volume)
                for volume in
    >           container.image_config['ContainerConfig'].get('Volumes') or {}
            ]
    E       KeyError: 'ContainerConfig'
    
    /opt/venv/lib/python3.11/site-packages/compose/service.py:1579: KeyError 
    

Steps errors 5

Expand to view the steps failures

filebeat-pythonIntegTest - mage pythonIntegTest
  • Took 42 min 15 sec . View more details here
  • Description: mage pythonIntegTest
metricbeat-pythonIntegTest - mage pythonIntegTest
  • Took 30 min 8 sec . View more details here
  • Description: mage pythonIntegTest
metricbeat-pythonIntegTest - mage pythonIntegTest
  • Took 20 min 51 sec . View more details here
  • Description: mage pythonIntegTest
metricbeat-pythonIntegTest - mage pythonIntegTest
  • Took 20 min 34 sec . View more details here
  • Description: mage pythonIntegTest
Error signal
  • Took 0 min 0 sec . View more details here
  • Description: Error 'hudson.AbortException: script returned exit code 1'

🐛 Flaky test report

❕ There are test failures but not known flaky tests.

Expand to view the summary

Genuine test errors 25

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

  • Name: Build&Test / metricbeat-pythonIntegTest / test_jolokia_jmx – metricbeat.tests.system.test_autodiscover_jolokia.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_dashboards – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_export_config – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_export_ilm_policy – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_export_index_pattern – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_export_index_pattern_migration – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_export_template – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_index_management – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_start_stop – metricbeat.tests.system.test_base.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_0_stats – metricbeat.module.beat.test_beat.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_1_state – metricbeat.module.beat.test_beat.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_xpack – metricbeat.module.beat.test_beat.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_0_ccr – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_1_enrich – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_2_index – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_3_index_summary – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_4_ml_job – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_5_index_recovery – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_6_node_stats – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_7_node – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_metricsets_8_shard – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_xpack – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_xpack_cluster_stats – metricbeat.module.elasticsearch.test_elasticsearch.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_status – metricbeat.module.kibana.test_kibana.Test
  • Name: Build&Test / metricbeat-pythonIntegTest / test_xpack – metricbeat.module.kibana.test_kibana.Test

🤖 GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /package : Generate the packages and run the E2E tests.

  • /beats-tester : Run the installation tests with beats-tester.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@pkoutsovasilis pkoutsovasilis force-pushed the pkoutsovasilis/fim-kprobes-process-metadata branch from 805857d to 026f848 Compare April 3, 2024 21:49
@pkoutsovasilis pkoutsovasilis force-pushed the pkoutsovasilis/fim-kprobes-process-metadata branch from 026f848 to aa7702e Compare April 4, 2024 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Elastic-Agent Label for the Agent team Team:Security-Linux Platform Linux Platform Team in Security Solution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants