Skip to content

STF 1.5.7 release ops#162

Merged
vkmc merged 13 commits intostable-1.5from
release-prep-1.5.7
Jan 23, 2026
Merged

STF 1.5.7 release ops#162
vkmc merged 13 commits intostable-1.5from
release-prep-1.5.7

Conversation

@vkmc
Copy link
Contributor

@vkmc vkmc commented Jan 21, 2026

  • Pin Ceilometer to stable/2024.2
  • Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1
  • Protect the expiryProc list with a mutex
  • Fix long message handling with dynamic buffer growth
  • Update to Golang 1.24.11
  • Update coveralls-badge workflow to be non-blocking

vkmc and others added 6 commits September 12, 2025 14:24
* Pin Ceilometer to stable/2024.2

Even though we are pinning to the stable/2024.2
when cloning Devstack, we are pulling Ceilometer
requirements from the master branch and this is
generating dependencies conflict.

Explicitily set stable/2024.2 branch when cloning
Ceilometer to fix this.

Closes-Bug: OSPRH-19908
Bumps gopkg.in/yaml.v3 from 3.0.0 to 3.0.1.

---
updated-dependencies:
- dependency-name: gopkg.in/yaml.v3
  dependency-version: 3.0.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Victoria Martinez de la Cruz <victoria@redhat.com>
The container/list data structure used in expiry.go is not safe for concurrent use.
See golang/go#25105

Serialize the access to the shared list to avoid having check() on empty lists.

Closes-Bug: OSPRH-18979
* Fix long message handling with dynamic buffer growth

The socket transport plugin used a fixed 64KB buffer size
which caused messages surpassing that size to be truncated

For UDP/Unix datagram sockets, this resulted in parsing errors
like "unexpected end of input"

This change allows the buffer to grow (up to a limit depending on the
protocol) to accommodate larger messages.

* Create helper functions for TCP connection handling

* Add helper sendUDPSocketMessage

* Update TestUnixSocketTransport large message test

This test verifies the dynamic buffer growth by sending
three messages

In each iteration the buffer grows from the initial size
of 65535 bytes to 3 times the initial size.

Also verifies the content of the received message

Closes: OSPRH-23826
* Update to golang 1.24.11

* Fix non-constant format string in call

Go 1.24.11 has stricter checking for format strings
in printf-style functions to prevent format string
vulnerabilities.

* Bump golangci-lint version to 1.64.2

* Replace exportloopref for copyloopvar

The linter 'exportloopref' is deprecated (since v1.60.2)
Added "continue-on-error: true" to prevent badge failures from blocking PRs.

Explicitly defined pull-requests: write permissions for GITHUB_TOKEN.

Added try-catch safety logic and async/await to the script.
@github-actions
Copy link

Coverage Status

@vkmc vkmc force-pushed the release-prep-1.5.7 branch from 393708e to 9220851 Compare January 21, 2026 12:38
@vkmc vkmc requested a review from vyzigold January 21, 2026 12:39
@vkmc
Copy link
Contributor Author

vkmc commented Jan 21, 2026

We should fix the test coverage before moving forward with the release.

Add tests for check() edge cases, run() function, and concurrent access.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/9e97e572abf1472e82c3891ff37827db

✔️ stf-crc-ocp_416-local_build SUCCESS in 1h 26m 09s
✔️ stf-crc-ocp_418-local_build SUCCESS in 1h 23m 46s
stf-crc-ocp_416-local_build-index_deploy RETRY_LIMIT in 19m 52s
✔️ stf-crc-ocp_418-local_build-index_deploy SUCCESS in 1h 28m 26s
stf-crc-ocp_416-nightly_bundles-index_deploy FAILURE in 21m 59s
✔️ stf-crc-ocp_418-nightly_bundles-index_deploy SUCCESS in 1h 12m 48s

@elfiesmelfie
Copy link
Contributor

recheck

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/fbdf08c1953944018432880977a27cec

stf-crc-ocp_416-local_build RETRY_LIMIT in 19m 21s
✔️ stf-crc-ocp_418-local_build SUCCESS in 43m 16s
✔️ stf-crc-ocp_416-local_build-index_deploy SUCCESS in 47m 24s
✔️ stf-crc-ocp_418-local_build-index_deploy SUCCESS in 49m 00s
✔️ stf-crc-ocp_416-nightly_bundles-index_deploy SUCCESS in 35m 36s
✔️ stf-crc-ocp_418-nightly_bundles-index_deploy SUCCESS in 52m 38s

vkmc and others added 3 commits January 22, 2026 19:37
* Improve test coverage for prometheus application plugin

Add tests for New, Config, PromCollector methods, metricExpiry,
collectorExpiry, ReceiveMetric, UpdateMetrics, Describe, and Collect.
Omit logging and HTTP server tests.

* Fix golangci-lint empty-block error in prometheus tests

Replace empty for-range loop with explicit assignment to satisfy revive linter.

* Add timestamp verification assertions to prometheus collector tests

Enhance test coverage by adding assertions that verify the presence or
absence of timestamps in collected metrics. The "collect with timestamp"
test now verifies that metrics include the expected timestamp value,
while the "collect with zero timestamp" test confirms that metrics with
zero timestamps are sent without timestamp metadata.

Also fixes default port assertion and cleans up empty-block lint issue.

* Fix golangci-lint empty-block error in channel drain loop

Replace empty for-range loop with explicit variable usage to resolve
the revive empty-block linting error.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* Improve test coverage for socket transport plugin

Add tests for Config, New, Listen, init errors, dump messages, and TCP parsing edge cases.

* Fix golangci-lint errors in socket transport tests

- Check error returns from binary.Write calls
- Reduce file permissions from 0644 to 0600

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Pin Ceilometer to stable/2024.2
- Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1
- Protect the expiryProc list with a mutex
- Fix long message handling with dynamic buffer growth
- Update to Golang 1.24.11
- Update coveralls-badge workflow to be non-blocking
- Improve test coverage for expiry.go
- Improve test coverage for prometheus application plugin
- Improve test coverage for socket transport plugin
@vkmc vkmc force-pushed the release-prep-1.5.7 branch from bbac015 to 37e3b7a Compare January 23, 2026 09:19
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/05180cb8547d4a799dc3386cacc9516b

stf-crc-ocp_416-local_build RETRY_LIMIT in 19m 52s
✔️ stf-crc-ocp_418-local_build SUCCESS in 43m 02s
✔️ stf-crc-ocp_416-local_build-index_deploy SUCCESS in 47m 18s
✔️ stf-crc-ocp_418-local_build-index_deploy SUCCESS in 51m 48s
✔️ stf-crc-ocp_416-nightly_bundles-index_deploy SUCCESS in 35m 16s
✔️ stf-crc-ocp_418-nightly_bundles-index_deploy SUCCESS in 34m 50s

vkmc and others added 3 commits January 23, 2026 11:20
* Add comprehensive test coverage for parser libraries

Ceilometer:
- ParseInputJSON with various message formats
- ParseInputMsgPack for msgpack parsing
- sanitize function with escaped quotes and payload formatting
- Error handling for invalid JSON and malformed data
- Edge cases: empty payloads, multiple metrics, user metadata

Collectd:
- ParseInputByte for all metric variations
- Multi-dimensional metrics with multiple values
- Optional fields (plugin_instance, type_instance)
- Error handling for invalid JSON and non-array data
- Edge cases: empty arrays, zero values, negative values, large values
- Real-world virt plugin data formats

* Add comprehensive test coverage for sensu parser library

Create test file for sensubility-metrics sensu parser library with
complete coverage of all validation and error building functions.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Create manager_test.go test cases covering setter functions, plugin initialization error paths, and edge cases.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/a68fb99ffada4312994114868e276e9d

✔️ stf-crc-ocp_416-local_build SUCCESS in 47m 07s
stf-crc-ocp_418-local_build FAILURE in 25m 22s
✔️ stf-crc-ocp_416-local_build-index_deploy SUCCESS in 46m 18s
✔️ stf-crc-ocp_418-local_build-index_deploy SUCCESS in 44m 09s
✔️ stf-crc-ocp_416-nightly_bundles-index_deploy SUCCESS in 38m 45s
✔️ stf-crc-ocp_418-nightly_bundles-index_deploy SUCCESS in 35m 50s

@vkmc vkmc removed the Do Not Merge label Jan 23, 2026
@vkmc
Copy link
Contributor Author

vkmc commented Jan 23, 2026

Test coverage was improved, still the reported coverage is lower than before

It is worth noting that the test coverage was dropped once we updated the Golang version from 1.21 to 1.24.11. There might be some differences on how the coverage reports are done.

Added tests for components that were recently updated (expiration mechanism for Prometheus metrics, socket transport). Also added some tests for components that are in use and lacked coverage (parsers for Ceilometer, collectd and Sensubility, and the manager code)

I think we are good to go with the current coverage and, if relevant test coverage is missing, we can add it in a follow up effort.

@vkmc
Copy link
Contributor Author

vkmc commented Jan 23, 2026

recheck

@vyzigold
Copy link
Contributor

Test coverage was improved, still the reported coverage is lower than before

It is worth noting that the test coverage was dropped once we updated the Golang version from 1.21 to 1.24.11. There might be some differences on how the coverage reports are done.

Added tests for components that were recently updated (expiration mechanism for Prometheus metrics, socket transport). Also added some tests for components that are in use and lacked coverage (parsers for Ceilometer, collectd and Sensubility, and the manager code)

I think we are good to go with the current coverage and, if relevant test coverage is missing, we can add it in a follow up effort.

Agreed. Fine with me. Big thanks for the new tests!

@vkmc vkmc merged commit 3b4e5c4 into stable-1.5 Jan 23, 2026
19 of 21 checks passed
@vkmc vkmc deleted the release-prep-1.5.7 branch January 23, 2026 13:38
@vkmc vkmc restored the release-prep-1.5.7 branch January 23, 2026 13:41
@vkmc vkmc deleted the release-prep-1.5.7 branch January 23, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants