FluentBit 4.2.2 Release#228
Conversation
2531f97 to
a385651
Compare
|
@copilot:review |
012146a to
1ba3b24
Compare
| packages: | ||
| - arch: x86_64 | ||
| ami: ami-054bba390120adf1d | ||
| ami: ami-0c00d482c766145ab |
There was a problem hiding this comment.
you were able to find an AMI for this?
There was a problem hiding this comment.
it is available in us-east-2
Name: suse-sles-15-sp4-sapcal-v20260124-hvm-ssd-x86_64
Description: SUSE Linux Enterprise Server 15 SP4 for SAP CAL (HVM, 64-bit, SSD Backed)
State: available
Architecture: x86_64
Platform: SUSE Linux
Owner: amazon (013907871322)
Public: Yes
Created: 2026-01-27
Deprecation Date: 2028-01-27
Root Volume: 10 GB gp3 EBS
Boot Mode: uefi-preferred
…t-output-3.3.1-beta-rhel8-test triggering E2E tests with fluentbit output plugin: newrelic-fluent-bit-output-3.3.1-beta-rhel8-test Update common.yml update amis for sles amis removing tag as code already handled plugin version in case of missing tag
af87109 to
d287d6e
Compare
f1ac538 to
11eb62e
Compare
5fb2d62 to
b41c0f0
Compare
41316b1 to
3e63082
Compare
3e63082 to
59efbc4
Compare
| # Parallel provisioning by OS family - all 3 run simultaneously | ||
| provision_linux_apt: | ||
| name: Provision APT distros (debian, ubuntu) | ||
| needs: [ spin_up_test_executor_instances, sign_suse_packages ] |
There was a problem hiding this comment.
You may not need sign_suse_packages here.
There was a problem hiding this comment.
One more improvement we can do is to also branch out spinning test instances for distro. e.g. spin_up_test_executor_instances for apt, yum but don't have to do it as part of this PR.
|
|
||
| provision_linux_yum: | ||
| name: Provision YUM distros (amazonlinux, centos, rocky) | ||
| needs: [ spin_up_test_executor_instances, sign_suse_packages ] |
There was a problem hiding this comment.
You may not need sign_suse_packages here.
| contents: write | ||
| pull-requests: read |
| chdir: "{{ fluent_bit_path }}/build" | ||
| async: 1200 # timeout 20m | ||
| poll: 60 # poll every 60s | ||
| async: 1800 # timeout 30m |
There was a problem hiding this comment.
does it take more than 20 minutes?
There was a problem hiding this comment.
sometimes it is timing out and breaking the entire pipeline. increasing helped.
| ansible.builtin.get_url: | ||
| url: "{{ nr_fb_output_plugin_url }}" | ||
| dest: "{{ nr_fb_output_plugin_download_file_path }}" | ||
| register: download_fluentbit_output_plugin |
There was a problem hiding this comment.
Should we rename and put yum in the name if its for yum?
There was a problem hiding this comment.
This linux.yml task file is used by ALL Linux distros:
APT-based (Debian, Ubuntu)
YUM-based (CentOS, RHEL, Rocky, Amazon Linux)
Zypper-based (SLES, openSUSE)
| # strategy: free | ||
| # Using free strategy for parallel execution across hosts | ||
| # Note: any_errors_fatal is incompatible with free strategy | ||
| strategy: free |
There was a problem hiding this comment.
Will it continue to run even if there are failures?
There was a problem hiding this comment.
With strategy: free:
Parallel execution - Each host executes tasks independently without waiting for others
Failure isolation - If a host fails, it's removed from the play, but other hosts continue
No global halt - Unlike the default linear strategy, one host's failure doesn't block others
Incompatible with any_errors_fatal - As noted in line 4, you cannot use any_errors_fatal: true with strategy: free
|
|
||
| merge_linux_test_results: | ||
| name: Merge all test results (Linux + Windows) | ||
| needs: [ test_linux_apt_distros, test_linux_yum_distros, test_linux_sles_distros, provision_and_execute_tests_windows ] |
There was a problem hiding this comment.
May be better to report windows results separately like earlier.
| container_make_target: "ansible/provision-and-execute-tests/${{ inputs.infra_agent_env }}-linux-test-sles PRE_RELEASE_NAME=${{ inputs.gh_release_name }} TEST_REPORT_NAME=${{ inputs.linux_test_report_name }}" | ||
| secrets: inherit | ||
|
|
||
| merge_linux_test_results: |
There was a problem hiding this comment.
still says merge linux only.
45ca27e to
60ab01d
Compare
| - name: Upload signed asset | ||
| run: | ||
| gh release upload ${{ inputs.pre_release_name }} packages/* --clobber | ||
| uses: nick-fields/retry@v3 |
There was a problem hiding this comment.
can we use commit sha here like we did for fluent bit output?
| reporter: jest-junit | ||
|
|
||
| - name: Windows Tests Report Summary | ||
| uses: EnricoMi/publish-unit-test-result-action@v2 |
32f3951 to
5c48ab3
Compare
addressing review comments
1f10891 to
2e6a2f1
Compare
PR Summary: E2E Test Optimization & Fluent Bit 4.2.2 Upgrade
🎯 Overview
This PR optimizes E2E test execution by parallelizing tests across OS families and upgrades Fluent Bit to version 4.2.2. The changes significantly improve test performance and reliability while adding support for newer SLES versions and fixing critical issues with Amazon Linux 2023.
📦 Key Changes
1. E2E Test Performance Optimization
Files:
.github/workflows/run_e2e_tests.yml,.github/workflows/run_prerelease.yml,ansible/provision-and-execute-tests/Makefileprerelease-linux-provision-{apt,yum,sles}prerelease-linux-test-{apt,yum,sles}prerelease-linux-merge-all2. Fluent Bit Version Upgrade
File:
versions/common.yml4.2.0→4.2.2nrFbOutputPluginVersion: 3.4.0nrFbOutputPluginTagfor custom/beta release tags3. New SLES Distribution Support
Files:
versions/sles_15.6.yml,versions/sles_15.7.yml,versions/sles_15.4.yml,versions/sles_15.5.yml.ymlx→.ymlextension4. Amazon Linux 2023 Critical Fixes
File:
ansible/provision-and-execute-tests/playbook-run-tests.ymlMultiple fixes specific to AL2023's stricter security policies:
setenforce 0to prevent blocking Fluent Bit's journal accessfluent-bituser tosystemd-journalgroup (mandatory on AL2023)/var/log/journalto02755with recursionsystemd-journaldandfluent-bitto apply permissions5. Port Conflict Prevention
File:
ansible/provision-and-execute-tests/playbook-run-tests.yml:146-192Added critical cleanup block to prevent "bind: Address already in use" errors:
fluent-bitprocesses6. Integration Test Improvements
Files:
integration-tests/test-suite/tcp.test.js,integration-tests/test-suite/syslog.test.jsparseInt(port)to prevent connection issuesawaitsocket operations before checking logs7. Results Processor Enhancements
File:
integration-tests/controller-scripts/resultsProcessor.js8. New Playbook for Merging Partial Results
File:
ansible/provision-and-execute-tests/playbook-merge-partial-results.yml9. GitHub Workflow Improvements
Files:
.github/workflows/pull_request.yml,.github/workflows/merge_to_main.yml,.github/workflows/new_relic.ymlcontents: writeandpull-requests: readnrFbOutputPluginVersionandnrFbOutputPluginTagfrom matrixv{version}if custom tag not specifiedsles_matrix != '[]'10. AWS Configuration
File:
ansible/provision-and-execute-tests/Makefile:4-5AWS_RETRY_MODE=adaptiveAWS_MAX_ATTEMPTS=10🔧 Technical Details
Parallel Execution Flow
AL2023 Permission Requirements
Amazon Linux 2023 enforces stricter security policies compared to AL2:
Without these fixes, Fluent Bit cannot read systemd logs on AL2023.
📝 Migration Notes
If you need to run tests manually: