You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code to download an OS image does not verify that an image actually is returned. In the example below, the result status is 404. Should at least verify the result status is 2xx. Maybe also display the response body. In the case below it was "Error downloading application image".
$ ./takeover -d -c config.json --version 5.3.4+rev3 --log-level debug
...
17:08:52 INFO Downloading Balena OS image, selected version is: '5.3.4+rev3'
17:08:53 DEBUG [reqwest::connect] starting new connection: https://api.balena-cloud.com/
17:08:53 DEBUG [takeover::stage1::api_calls] dt_contract_request Result = Response { url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("api.balena-cloud.com")), port: None, path: "/v6/device_type", query: Some("$orderby=name%20asc&$top=1&$select=contract&$filter=device_type_alias/any(dta:dta/is_referenced_by__alias%20eq%20%27beaglebone-black%27)"), fragment: None }, status: 200, headers: {"date": "Sun, 30 Jun 2024 17:08:53 GMT", "content-type": "application/json; charset=utf-8", "transfer-encoding": "chunked", "connection": "keep-alive", "cache-control": "no-cache", "etag": "W/\"2a39-f9gfLUhNzd0N0jGbXz/ID/w/inE\"", "vary": "Accept-Encoding", "cf-cache-status": "DYNAMIC", "strict-transport-security": "max-age=15552000", "server": "cloudflare", "cf-ray": "89bfc2c86cc2904b-BOS", "alt-svc": "h3=\":443\"; ma=86400"} }
17:08:53 DEBUG [takeover::stage1::api_calls] Device contract for beaglebone-black is DeviceTypeContractInfo { contract: Contract { data: ContractData { media: Media { alt_boot: Some(["sdcard"]), default_boot: "internal" }, flash_protocol: None } } }
17:08:53 DEBUG [takeover::stage1::api_calls] Downloading raw image for device type beaglebone-black
17:08:53 DEBUG [takeover::stage1::api_calls] get_os_image: request_url: 'https://api.balena-cloud.com/download'
17:08:53 DEBUG [takeover::stage1::api_calls] get_os_image: data: 'ImageRequestData { device_type: "beaglebone-black", version: "5.3.4+rev3", file_type: ".gz", image_type: Some("raw") }'
17:08:53 DEBUG [reqwest::connect] starting new connection: https://api.balena-cloud.com/
17:08:53 DEBUG [takeover::stage1::api_calls] Result = Response { url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("api.balena-cloud.com")), port: None, path: "/download", query: None, fragment: None }, status: 404, headers: {"date": "Sun, 30 Jun 2024 17:08:53 GMT", "content-type": "application/json; charset=utf-8", "content-length": "37", "connection": "keep-alive", "vary": "X-HTTP-Method-Override, Accept-Encoding", "etag": "W/\"25-myxgCtuBvOanXmid4jQRrGznqms\"", "cf-cache-status": "DYNAMIC", "strict-transport-security": "max-age=15552000", "server": "cloudflare", "cf-ray": "89bfc2ca88338f6d-BOS", "alt-svc": "h3=\":443\"; ma=86400"} }
17:08:53 DEBUG [takeover::stage1::image_retrieval] Downloading file '/home/debian/migrate/balena-cloud-beaglebone-black-5.3.4+rev3.img.gz'
17:08:53 INFO 37 B read in 0 seconds @37 B/sec
17:08:53 INFO The balena OS image was successfully written to '/home/debian/migrate/balena-cloud-beaglebone-black-5.3.4+rev3.img.gz'
The text was updated successfully, but these errors were encountered:
The code to download an OS image does not verify that an image actually is returned. In the example below, the result status is 404. Should at least verify the result status is 2xx. Maybe also display the response body. In the case below it was "Error downloading application image".
The text was updated successfully, but these errors were encountered: