# Differential update not selected for deployment

**URL:** <https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284>\
**Category:** General Discussions\
**Created:** [November 5, 2021, 1:18pm UTC](https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284 "2021-11-05T13:18:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![bender](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/bender/32/847_2.png) [@bender](https://hub.mender.io/u/bender)\
**Post date:** [November 5, 2021, 1:18pm UTC](https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284/1 "2021-11-05T13:18:16Z")

</div>

This may be something that changed today on the hosted mender cloud…  
For Release xyz, we have uploaded rootfs-image AND mender-binary-delta artifacts.  
Delta has smaller filesize and should always be picked up but today the rootfs-image is selected for download.  
The target device is newly flashed so `mender show-provides` returns nothing and if the delta were to be automatically selected the deployment would fail as the depends of the delta would not match with `<nil>`, so in theory this today’s change is good but still I would like some official confirmation.  
Will send a rootfs to see if the delta will be chosen afterwards to confirm my theory…

---

<div class="post-metadata">

**Author:** ![bender](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/bender/32/847_2.png) [@bender](https://hub.mender.io/u/bender)\
**Post date:** [November 5, 2021, 3:25pm UTC](https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284/2 "2021-11-05T15:25:22Z")

</div>

Indeed, after the full install, the expected diff is chosen for download.

---

<div class="post-metadata">

**Author:** ![oleorhagen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/oleorhagen/32/297_2.png) [@oleorhagen](https://hub.mender.io/u/oleorhagen)\
**Post date:** [November 9, 2021, 7:45am UTC](https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284/3 "2021-11-09T07:45:29Z")

</div>

Hi @bender

You are right in your observations. A delta cannot be applied unless the device has already populated it’s provides, and in order to do this a full rootfs update is unfortunately needed (we have an epic for handling this [here](https://tracker.mender.io/browse/MEN-2582?jql=text%20~%20%22bootstrap%20artifact%22)), but for now, the initial full rootfs is indeed required.

---

<div class="post-metadata">

**Author:** ![bender](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/bender/32/847_2.png) [@bender](https://hub.mender.io/u/bender)\
**Post date:** [November 9, 2021, 9:10am UTC](https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284/4 "2021-11-09T09:10:09Z")

</div>

How is this change possible? I thought all actions were triggered by the device and not the cloud but now the cloud knows that this device has no `provides` and chooses to skip and delta artifacts.

---

<div class="post-metadata">

**Author:** ![oleorhagen](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/oleorhagen/32/297_2.png) [@oleorhagen](https://hub.mender.io/u/oleorhagen)\
**Post date:** [November 9, 2021, 11:52am UTC](https://hub.mender.io/t/differential-update-not-selected-for-deployment/4284/5 "2021-11-09T11:52:21Z")

</div>

You are right, it is only triggered from the device.

But the device side provides are sent as a part of the update request: [Mender API docs](https://docs.mender.io/api/#device-api-deployments-v2-check-update-parameters)

😃
