Backward-compatibilty for forecasting/ingestion endpoints, QA workflow works with older clients - #2432
Open
nhoening wants to merge 19 commits into
Open
Backward-compatibilty for forecasting/ingestion endpoints, QA workflow works with older clients#2432nhoening wants to merge 19 commits into
nhoening wants to merge 19 commits into
Conversation
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Documentation build overview
10 files changed ·
|
…rsion as ENV variable (for HEMS script to pick up) and in the new backward-compatibility config setting Signed-off-by: Nicolas Höning <nicolas@seita.nl>
…e, which the ingestion tutorial uses; add a config setting to assume a client version which the HEMS script uses Signed-off-by: Nicolas Höning <nicolas@seita.nl>
…h we do by not having an ingestion queue Signed-off-by: Nicolas Höning <nicolas@seita.nl>
…o do not understand the FLEXMEASURES_CLI_CMD setting yet Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Context: - Release QA skipped the ingestion tutorial for clients older than v0.9.4 even though earlier clients expose compatible ingestion methods. Change: - Install pinned releases from PyPI, adapt v0.7 post_measurements calls, skip only its unsupported file upload, and configure legacy responses before ingestion.
Context: - Client v0.7.0 exposes post_measurements while later clients expose post_sensor_data. Change: - Verify current methods remain untouched and legacy clients receive a working alias.
Move the v0.8.0 HEMS fixtures to the next calendar year so uploaded prices remain visible at the simulation prior, and permit its play-mode loop to replace overlapping measurements. Fail QA when older HEMS scripts catch scheduling errors or do not confirm that power and SoC schedules were retrieved.
Use standard find and grep commands to locate v0.8.0 HEMS fixture dates because ripgrep is not available on every Actions runner.
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
We want to ensure backward-compatibility with older clients also for forecasting and data ingestion endoints which went to the 202 route. Their function would still work as normal, but fm-clients expect not just 2xx but specifically 200 and could break flows on the client side.
This PR dos that, and also improves the ability to signal legancy clients on assets or per QA run, and works on the QA/Release workflow to let us test legacy clients there.
documentation/changelog.rstHere is an overview over the features we are now testing with legacy clients:
mainv0.9.4v0.9.0v0.8.0v0.7.0post_measurements(); file ingestion is unavailable.v0.7.0has no HEMS example, so scheduling is not exercised.The server CLI tutorials run in every workflow, but they are not counted as client backward-compatibility coverage.
How to test
Run the QA/release workflow with this branch, and try various client versions or branches
I ran these fm-clients:
Note: 0.7.0 has no HEMS script yet, as mentioned above.
Here is example output (from the
Determine client QA capabilities):