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

[Cherry 4.0.x]: Proper cleanup of HTTP leftovers #1716

Open
wants to merge 2 commits into
base: 4.0.x
Choose a base branch
from

Conversation

mender-test-bot
Copy link

Cherry pick of PR: #1712
For you :)

…chine

To make sure we always cancel the update download in case of an
error. We need to be able to handle HTTPS/network/... errors as
well as artifact parsing errors (incl. checksum
mismatches,...). Instead of adding `download_client->Cancel()`
calls to many places and risking missing some more, we introduce
a new state the UpdateDownload state transitions into on failure
and then things continue to the `download_error` state that
handles the related state scripts, etc.

Ticket: MEN-7810
Changelog: Fix download failure to always do a proper
cancellation and cleanup of internal HTTP stuctures to avoid
breaking future HTTP requests. Fixes `bad_version` error.

Signed-off-by: Vratislav Podzimek <[email protected]>
(cherry picked from commit f637498)
…resumer

The `http::Client()` class is designed to always have only one
HTTP request in progress. Thus, before scheduling a new request
using the same `http::Client` instance, cancel the previous
request to make sure everything is properly reset for the new
one.

Ticket: MEN-7810
Changelog: Fix download resuming to reset the HTTP state and
avoid repeatedly hitting the same error in case of a bad state

Signed-off-by: Vratislav Podzimek <[email protected]>
(cherry picked from commit 6a0c890)
@mender-test-bot
Copy link
Author

mender-test-bot commented Dec 12, 2024

Merging these commits will result in the following changelog entries:

Changelogs

mender (cherry-4.0.x-http_resumer_leftovers)

New changes in mender since 4.0.x:

Bug Fixes
  • Fix download failure to always do a proper
    cancellation and cleanup of internal HTTP stuctures to avoid
    breaking future HTTP requests. Fixes bad_version error.
    (MEN-7810)
  • Fix download resuming to reset the HTTP state and
    avoid repeatedly hitting the same error in case of a bad state
    (MEN-7810)

@mender-test-bot
Copy link
Author

@mender-test-bot, Let me know if you want to start the integration pipeline by mentioning me and the command "start pipeline".


my commands and options

You can trigger a pipeline on multiple prs with:

  • mentioning me and start pipeline --pr mender/127 --pr mender-connect/255

You can start a fast pipeline, disabling full integration tests with:

  • mentioning me and start pipeline --fast

You can trigger GitHub->GitLab branch sync with:

  • mentioning me and sync

You can cherry pick to a given branch or branches with:

  • mentioning me and:
 cherry-pick to:
 * 1.0.x
 * 2.0.x

@lluiscampos lluiscampos self-assigned this Dec 12, 2024
@lluiscampos
Copy link
Contributor

@mender-test-bot start pipeline

@mender-test-bot
Copy link
Author

Hello 😺 I created a pipeline for you here: Pipeline-1586086638

Build Configuration Matrix

Key Value
AUDITLOGS_REV 3.2.x
BUILD_BEAGLEBONEBLACK true
BUILD_CLIENT true
BUILD_QEMUX86_64_BIOS_GRUB true
BUILD_QEMUX86_64_BIOS_GRUB_GPT true
BUILD_QEMUX86_64_UEFI_GRUB true
BUILD_VEXPRESS_QEMU true
BUILD_VEXPRESS_QEMU_FLASH true
BUILD_VEXPRESS_QEMU_UBOOT_UEFI_GRUB true
CREATE_ARTIFACT_WORKER_REV 1.4.x
DEPLOYMENTS_ENTERPRISE_REV 4.6.x
DEPLOYMENTS_REV 4.6.x
DEVICEAUTH_ENTERPRISE_REV 3.6.x
DEVICEAUTH_REV 3.6.x
DEVICECONFIG_REV 1.4.x
DEVICECONNECT_REV 1.5.x
DEVICEMONITOR_REV 1.5.x
GENERATE_DELTA_WORKER_REV 1.1.x
GUI_REV 3.7.x
INTEGRATION_REV 3.7.x
INVENTORY_ENTERPRISE_REV 4.4.x
INVENTORY_REV 4.4.x
IOT_MANAGER_REV 1.3.x
MENDER_ARTIFACT_REV 3.11.x
MENDER_BINARY_DELTA_REV 1.4.x
MENDER_CLI_REV 1.12.x
MENDER_CONFIGURE_MODULE_REV 1.1.x
MENDER_CONNECT_REV 2.2.x
MENDER_CONVERT_REV 4.2.x
MENDER_GATEWAY_REV 1.2.x
MENDER_REV pull/1716/head
MENDER_SETUP_REV 1.0.x
MENDER_SNAPSHOT_REV 1.0.x
META_MENDER_REV kirkstone
META_OPENEMBEDDED_REV kirkstone
META_RASPBERRYPI_REV kirkstone
MONITOR_CLIENT_REV 1.3.x
MTLS_AMBASSADOR_REV 1.3.x
POKY_REV kirkstone
RUN_BACKEND_INTEGRATION_TESTS true
RUN_INTEGRATION_TESTS true
TENANTADM_REV 4.1.x
TEST_QEMUX86_64_BIOS_GRUB true
TEST_QEMUX86_64_BIOS_GRUB_GPT true
TEST_QEMUX86_64_UEFI_GRUB true
TEST_VEXPRESS_QEMU true
TEST_VEXPRESS_QEMU_FLASH true
TEST_VEXPRESS_QEMU_UBOOT_UEFI_GRUB true
USERADM_ENTERPRISE_REV 1.22.x
USERADM_REV 1.22.x
WORKFLOWS_ENTERPRISE_REV 2.6.x
WORKFLOWS_REV 2.6.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants