mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-01-19 11:16:38 +00:00
Remove registered device resource in case of errors in quickstart
A device resource needs to be registered with the API before being able to create the `config.json` file that goes in a device. This means thats the device image is configured and written to an external drive (e.g: SDCard) *after* the device resource registered. If any of the above operations fail, there will be an unitialized orphan device living in the selected application that the user will have to remove himself.
This commit is contained in:
parent
999120e711
commit
add30b33a1
@ -226,6 +226,10 @@ limitations under the License.
|
||||
var message;
|
||||
message = 'Initializing a device requires administration permissions\ngiven that we need to access raw devices directly.\n';
|
||||
return helpers.sudo(['os', 'initialize', temporalPath, '--type', application.device_type], message);
|
||||
})["catch"](function(error) {
|
||||
return resin.models.device.remove(device.uuid)["finally"](function() {
|
||||
throw error;
|
||||
});
|
||||
});
|
||||
});
|
||||
}).then(function(device) {
|
||||
|
@ -299,6 +299,12 @@ exports.init =
|
||||
'''
|
||||
|
||||
helpers.sudo([ 'os', 'initialize', temporalPath, '--type', application.device_type ], message)
|
||||
|
||||
# Make sure the device resource is removed if there is an
|
||||
# error when configuring or initializing a device image
|
||||
.catch (error) ->
|
||||
resin.models.device.remove(device.uuid).finally ->
|
||||
throw error
|
||||
.then (device) ->
|
||||
console.log('Done')
|
||||
return device.uuid
|
||||
|
Loading…
Reference in New Issue
Block a user