# Update multiple components via AirVantage

**URL:** <https://forum.legato.io/t/update-multiple-components-via-airvantage/4833>\
**Category:** Legato Application Framework\
**Created:** [November 13, 2019, 3:24pm UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833 "2019-11-13T15:24:22Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![fjanicki](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/fjanicki/32/320_2.png) [@fjanicki](https://forum.legato.io/u/fjanicki)\
**Post date:** [November 13, 2019, 3:24pm UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833/1 "2019-11-13T15:24:22Z")

</div>

We have an issue where if we want to update our software via OTA, and we changed something in the .api definition files, AirVantage would subsequentially update them, breaking the compatibility and if one of our component is set to `restartApp`, it could trigger a rollback. Is there any way around this other than flashing an entire legato system?

Our supplier made us an app that stops everything, updates, then starts everything again but it seems a bit hackish. We are looking to use only airvantage for our updates and not third party apps, if possible to handle our SOTA.

---

<div class="post-metadata">

**Author:** ![dbeckwith](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/dbeckwith/32/663_2.png) [@dbeckwith](https://forum.legato.io/u/dbeckwith)\
**Post date:** [November 13, 2019, 7:30pm UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833/2 "2019-11-13T19:30:21Z")

</div>

@fjanicki

What type of OTA are you doing is this just an app, an overlay or a bundle?

---

<div class="post-metadata">

**Author:** ![fjanicki](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/fjanicki/32/320_2.png) [@fjanicki](https://forum.legato.io/u/fjanicki)\
**Post date:** [November 13, 2019, 8:43pm UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833/3 "2019-11-13T20:43:37Z")

</div>

Our system is flashed via a legato system, then we add 3 of our own components. We would like to be able to flash those 3 apps OTA without issues when we update our api files definitions.

---

<div class="post-metadata">

**Author:** ![dbeckwith](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/dbeckwith/32/663_2.png) [@dbeckwith](https://forum.legato.io/u/dbeckwith)\
**Post date:** [November 13, 2019, 8:58pm UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833/4 "2019-11-13T20:58:30Z")

</div>

I’m not quite sure I fully understand how you are doing the OTA. If you are updating an API file then that is considered part of the app and the app needs to be updated as well., no?

---

<div class="post-metadata">

**Author:** ![fjanicki](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/fjanicki/32/320_2.png) [@fjanicki](https://forum.legato.io/u/fjanicki)\
**Post date:** [November 13, 2019, 10:04pm UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833/5 "2019-11-13T22:04:55Z")

</div>

Imagine you have to update 5 apps on the same system that all depend on api files for IPC.  
Let’s say that the dependencies are arranged like this

1 ← 2 ← 3 ← 4 ← 5

You upload the 5 .zip files to airvantage, and airvantage will update the app #1.  
Now #2,3,4,5 will all crash since the api definition won’t match anymore, and they will crash before updating app #2. In our case, we enabled `restartApp` whenever a component crashes. This might create a crash loop and reboot the system to a prior version.

One way to avoid this, is to stop all apps before trying to update, then update all 5 apps, then restart them.

Maybe I am not understanding the update process correctly, but this is what our vendor explained to us and we are trying to find a way around it.

---

<div class="post-metadata">

**Author:** ![rjacolin](https://avatars.discourse-cdn.com/v4/letter/r/e0b2c6/32.png) [@rjacolin](https://forum.legato.io/u/rjacolin)\
**Post date:** [November 14, 2019, 10:31am UTC](https://forum.legato.io/t/update-multiple-components-via-airvantage/4833/6 "2019-11-14T10:31:18Z")

</div>

Hello,

If I understand correctly, you want to update the 5 applications in the same update. You have to create a bundle with these 5 applications to update them. You can have more information about how to build such bundle in this documentation: [Airvantage\_fota\_sota\_guidelines](https://source.sierrawireless.com/resources/airprime/application_notes_and_code_samples/airprime_-_wp_series_-_airvantage_fota_sota_guidelines/#sthash.AI4q9nrP.dpbs)

Robert
