5688d16057d34b770c070e2b4a27841092003a4e |
|
06-Jun-2017 |
Tao Bao <tbao@google.com> |
Revert "Add functions to allow update over cellular (including tethered connection)" This reverts commit 4b0d6032cbb86ce488c03b31936cda31283f97e3. Bug: 62366504 Test: GmsCore sees the old status code (i.e. UPDATED_NEED_REBOOT == 6). Change-Id: I9185614a41bd621ad85e7f773b0f96919b0f70d5
/system/update_engine/UpdateEngine.conf
|
4b0d6032cbb86ce488c03b31936cda31283f97e3 |
|
17-Apr-2017 |
Weidong Guo <weidongg@chromium.org> |
Add functions to allow update over cellular (including tethered connection) - Add an update state NEED_PERMISSION_TO_UPDATE which is broadcasted along with the update info (version and size) when |OmahaRequestAction| aborts update due to cellular connection. So the state transition will be: IDLE->CHECKING_FOR_UPDATE->NEED_PERMISSION_TO_UPDATE->REPORTING_ERROR_EVENT ->IDLE (The Chrome UI prompts an alert window showing update size and asks user whether to proceed upon receiving this state.) - Add a dbus interface to set update over cellular target (kPrefsUpdateOverCellularTargetVersion and kPrefsUpdateOverCellularTargetSize). The target is the one received by Chrome UI in NEED_PERMISSION_TO_UPDATE broadcast. By sending the target back with the dbus call, update engine can double check the target with the server to make sure there's no new server push after NEED_PERMISSION_TO_UPDATE is broadcasted to Chrome UI. (This dbus call is invoked when the user chooses to proceed to update at the alert window. The dbus call is followed by another dbus call |AttemptUpdate|) - So, the the decision tree as to whether to allow update over cellular connection has changed to: IF (device policy DeviceUpdateAllowedConnectionTypes set) follow device policy's decision ELSE IF (kPrefsUpdateOverCellularPermission set to true) allow update ELSE IF (Either kPrefsUpdateOverCellularTargetVersion or kPrefsUpdateOverCellularTargetSize is not set, or they are set but do not match the version and size in |OmahaResponse| retrieved by |OmahaRequestAction|) disallow update, and broadcast NEED_PERMISSION_TO_UPDATE ELSE allow update ENDIF - This decision making happens at |OmahaRequestAction| after |OmahaResponse| is retrieved. Since we want to separate the device policy check with the user preferences check which depends on |OmahaResponse| during checking for update, we modify ConnectionManager::IsUpdateAllowedOver by moving the user preferences check to |OmahaRequestAction|. Thus, the function by default returns true for cellular connection if device policy is not set. - Corner case: Adding kPrefsUpdateOverCellularPermission and kPrefsUpdateOverCellularTargetSize seems to complicate the logic here. But they could effectively solve a corner case where the target does not match |OmahaResponse| due to new server push after broadcasting NEED_PERMISSION_TO_UPDATE. In that case, we simply broadcast NEED_PERMISSION_TO_UPDATE again along with new update info. CQ-DEPEND=CL:481102 BUG=chromium:691108 TEST='FEATURES=test emerge-link update_engine' (cherry picked from commit 70063d9f7e229db8c5b42443ca96ac23a971a6dd) Cherry-pick updated to compile on Android. Reviewed-on: https://chromium-review.googlesource.com/479467 Commit-Ready: Weidong Guo <weidongg@chromium.org> Tested-by: Weidong Guo <weidongg@chromium.org> Reviewed-by: Weidong Guo <weidongg@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org>
/system/update_engine/UpdateEngine.conf
|
5b5fa8b412312a41cfd4d7ab475b54d4f730ed2a |
|
07-Oct-2016 |
Alex Deymo <deymo@google.com> |
Add {Get,Set}CohortHint interface. Export the "cohort hint" getter and setter in the client interfaces (D-Bus and Binder). The cohort hint is sent to Omaha on every update check request but can be ignored and/or reset by Omaha on every response. Other minor linter fixes to the affected files. Bug: 31740109 Test: Build with D-Bus and with Binder. Change-Id: I93214f6ffb8662c238b3351e52bf2bdf23e46a9c
/system/update_engine/UpdateEngine.conf
|
b3fa53bf760bd0a6fd1ef9df28cb425586d733f6 |
|
19-Apr-2016 |
Alex Deymo <deymo@google.com> |
Parse and expose end-of-life flag. Omaha update or noupdate response can include _key=value pairs with arbitrary data. One of those key can be "_eol" with the one of the values "supported", "security-only" or "eol" which notifies the device the end-of-life status of the device with respect to updates. This information is now exposed via GetEolStatus() to the client so it can be properly displayed in the UI. Bug: 27924505 TEST=Added unittest. Run `update_engine_client --eol_status` on link. Change-Id: Icc15f25b4d0b19cc894f5afc52ac7c43c7818982
/system/update_engine/UpdateEngine.conf
|
2997173235e88c5e4cb13d2844f74afc7b25d6e2 |
|
05-Feb-2016 |
Shuqian Zhao <shuqianz@google.com> |
Add a feature to get the last UpdateAttempt ErrorCode from update_engine For autotest, update_engine test failures are always hard to debug, since the error message is not clear. Add a new flag 'last_attempt_error' to get the last UpdateAttempt ErrorCode from update_engine. Bug:25598547 Test:emerge-peppy update_engine emerge-peppy update_engine_client cros flash a test image to DUT. (on the DUT):update_engine_client --last_attempt_error Compare the results with the update_engine logs, matched. Change-Id: Id12681097ed30b0826cad68809f17f934a07e5b2
/system/update_engine/UpdateEngine.conf
|
cbea78f22e1420f3cd2167b963acbf599941eb84 |
|
16-Sep-2015 |
Alex Deymo <deymo@google.com> |
Remove obsolete GetKernelDevices() method. update_engine daemon exposed a DBus method GetKernelDevices() returning the list of available kernel block devices and whether they were bootable or not. This method was a developer-only method, since it can't be called from chrome, and no other daemon uses it, besides the update_engine_client. The update_engine daemon moved from managing root and kernel partitions explicitly, to manage slots. So the notion of which block device is the "kernel" device is now unknown. The information about the available slots and their status, can be managed with the external tool bootctl instead. Therefore, this patch removes the GetKernelDevices() method. Bug: None Test: emerge-link update_engine; `mma` on AOSP. Change-Id: I715bdbb73ebbbca3dfb381b16043224a170a3832
/system/update_engine/UpdateEngine.conf
|
2bddadd17e31ca1341604f8652432a8619557688 |
|
27-Mar-2014 |
Alex Vakulenko <avakulenko@chromium.org> |
update_engine: Added more logging and debugging for rollback checking To help troubleshoot issues similar to http://crbug.com/356975 I added more logging in DBus methods of update_engine to trace various stages of determining available boot partitions, etc. Also added two more DBus methods - to get the suggested rollback partition name (and switched CanRollback to use this method) and the list of availavle kernel partitions along with the 'bootable' flag for each. Changed update_engine_client to show the name of avaiable rollback partition with --can_rollback and also added --show_kernels to output list of available kernel partitions and whether each partition is bootable or not. BUG=None TEST=Unit tests pass Change-Id: Ib7f92a6460c578953ea1ba9b23bd0669acb0e22f Reviewed-on: https://chromium-review.googlesource.com/191949 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Tested-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/update_engine/UpdateEngine.conf
|
dea2eac2c565ed5b587278b865e2c07b805a8333 |
|
14-Mar-2014 |
Alex Vakulenko <avakulenko@chromium.org> |
update_engine: Added ability to retrieve old version via DBus Now it is possible to retrieve an old OS version that was in use before the last reboot, provided that we are now booted into an updated version. This is to be used by crash reporter in case the reboot was caused by a crash in kernel while reboot was pending for an update. In such a scenario, the crash would be attributed to the current (updated) version, which is wrong. Also added additional parameter, --old_version, to update_engine_client to retrieve the old version number, if any, from the update engine. BUG=chrome-os-partner:26518 TEST=cros deploy and tested via update_engine_client Change-Id: I84e2322c5698b44b4c77f25c8f4211cdb367e5dc Reviewed-on: https://chromium-review.googlesource.com/190149 Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/update_engine/UpdateEngine.conf
|
59e253e555072d11f3646fc1286459cbc6aa5419 |
|
24-Feb-2014 |
Alex Vakulenko <avakulenko@chromium.org> |
update_engine: added CanRollback dbus method Added a method to the update engine to check if a rollback partition is available and can be booted from. update_engine_client is also updated to call the function when --can_rollback paramater is specified BUG=chromium:343301 TEST=Ran "update_engine_client --can_rollback" and unit tests Change-Id: If3fcb29a0067069a22812f60e9b67c6fdbbd18bd Reviewed-on: https://chromium-review.googlesource.com/187157 Tested-by: Alex Vakulenko <avakulenko@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/update_engine/UpdateEngine.conf
|
8c75ea9f2bc9c42d6ce30abb4b93a2930a5d4bce |
|
10-Jan-2014 |
Daniel Erat <derat@chromium.org> |
update_engine: Let "power" user query update status. Change update_engine's D-Bus configuration to allow the "power" user (used by powerd) to query the update status. powerd already listens for signals announcing update state changes, but it also ought to query the current status if it gets restarted for some reason. It also removes some "deny" directives that are apparently undesirable, as "deny" is already the default (see http://crbug.com/219054). BUG=none TEST=confirmed that powerd is able to query the update status after being restarted Change-Id: I60389a20409c2534e5e306bb7662b424f1d272c3 Reviewed-on: https://chromium-review.googlesource.com/182243 Tested-by: Daniel Erat <derat@chromium.org> Reviewed-by: David Zeuthen <zeuthen@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Daniel Erat <derat@chromium.org>
/system/update_engine/UpdateEngine.conf
|
3c55abd5fa1e3db40974b2e8d94f2ddce65fe40d |
|
14-Oct-2013 |
David Zeuthen <zeuthen@chromium.org> |
Add D-Bus method to get the duration since an update completed. This new API can be used by Chrome to automatically reboot the device at N hours after updating. This is implemented as a D-Bus method that returns the number of micro-seconds on the wall-clock since the update completed. If the device has not updated, the D-Bus method returns an error. For robustness, durations are measured using the CLOCK_BOOTTIME clock instead of the usual CLOCK_REALTIME clock. This avoids interference with NTP adjustments, the RTC clock being wrong and other things. BUG=chromium:218192 TEST=New unit test + unit tests pass + manual test on a device using the gdbus(1) command as the chronos user. Change-Id: I51d44d69afe2d3024bb0780916c3c4e3f8ebb19e Reviewed-on: https://chromium-review.googlesource.com/173032 Reviewed-by: David Zeuthen <zeuthen@chromium.org> Commit-Queue: David Zeuthen <zeuthen@chromium.org> Tested-by: David Zeuthen <zeuthen@chromium.org>
/system/update_engine/UpdateEngine.conf
|
75a4c3ee6d45c0892e33e46973816e2fec07e277 |
|
06-Sep-2013 |
David Zeuthen <zeuthen@chromium.org> |
update_engine_client: Add -interactive=true|false flag This makes it easier to test the update_engine codepaths dealing with non-interactive update attempts. BUG=chromium:273251 TEST=Manually tested with 'update_engine_client -update -interactive=X' + unit tests pass. Change-Id: Id3894261fd1c0dc2afdf2426484835f487924433 Reviewed-on: https://chromium-review.googlesource.com/168445 Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: David Zeuthen <zeuthen@chromium.org> Commit-Queue: David Zeuthen <zeuthen@chromium.org>
/system/update_engine/UpdateEngine.conf
|
5fdf776fe7eabb0492636ae52d4809ebdbe8a25e |
|
18-Jul-2013 |
Alex Deymo <deymo@chromium.org> |
New DBus methods to enable/disable P2P update sharing. This patch adds two new methods to enable/disable sharing updates over P2P in the local network. This allows a crosh command to set and get this flag to enable or disable this feature. BUG=chromium:260441 TEST=Manual test. See below. Manual test procedure. 1. Enable P2P: update_engine_client -p2p_update yes -show_p2p_update [0829/141039:INFO:update_engine_client.cc(433)] Current update using P2P setting: ENABLED [0829/141039:INFO:update_engine_client.cc(500)] Done. 2. Start the p2p server (this will be done by the p2p_manager as part of the update_engine procedure). 3. Run an update check update_engine_client -check_for_update The /var/log/update_engine.log shows the following line confirming p2p is enabled. [0829/141317:INFO:p2p_manager.cc(194)] Returning value 1 for whether p2p is enabled. 4. Disable p2p and verify the p2p server is not running. update_engine_client -p2p_update no -show_p2p_update [0829/141039:INFO:update_engine_client.cc(433)] Current update using P2P setting: ENABLED [0829/141039:INFO:update_engine_client.cc(500)] Done. 5. Verify p2p server is not running (ps aux | grep p2p doesn't show p2p-server) Change-Id: I3215e2961be440c491f669d4c580bbf87f7fec25 Reviewed-on: https://chromium-review.googlesource.com/62505 Reviewed-by: David Zeuthen <zeuthen@chromium.org> Commit-Queue: Alejandro Deymo <deymo@chromium.org> Tested-by: Alejandro Deymo <deymo@chromium.org>
/system/update_engine/UpdateEngine.conf
|
cb7fa886480e74440b41e94856cd3d12a6099e00 |
|
26-Jul-2013 |
Chris Sosa <sosa@chromium.org> |
Remove all mentions of Set/Get Track and hard-coding of canary-channel. This CL removes the deprecated functionality of Set/Get Track previously used to change channels. Now that the UI is using Set/Get Channel we no longer need these methods. I've also gone ahead and fixed the long standing bug of needed to do an update check before testing channel change. I've also added the testing of allow powerwash functionality to update_engine client to better test this feature. BUG=chromium:221850 TEST=unittests + update_engine_client with channel change and allowing powerwash and not allowing powerwash. Confirmed the versions were as expected ( when going more stable we send version 0.0.0.0 when we allow powerwash vs the actual version when not). Change-Id: I87297f7e7e103bb25e62f2d896e155e758030ead Reviewed-on: https://gerrit.chromium.org/gerrit/63674 Commit-Queue: Chris Sosa <sosa@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: Chris Sosa <sosa@chromium.org>
/system/update_engine/UpdateEngine.conf
|
f4867c4dab4d1ca566f1aa3f585bd16d87b911dd |
|
28-Jun-2013 |
Alex Deymo <deymo@chromium.org> |
Add DBus methods to allow/disallow updates over 3G This fix adds a new DBus pair of methods to allow/disallow the updates over cellular networks and get the current state of this setting. The setting is overridden by the device policy and the SetUpdateOverCellularPermission() method fails if called on an enrolled device that has the autoupdate settings in the device policy. BUG=chromium:213401 TEST=unittests for connection_manager changes. Manual test for the DBus service, see below. Manual test procedure. ====================== Run on a shell: 1. Test for the default setting. $ update_engine_client -show_update_over_cellular [0701/183633:INFO:update_engine_client.cc(371)] Current update over cellular network setting: DISABLED [0701/183633:INFO:update_engine_client.cc(443)] Done. 2. Test that enable works. $ update_engine_client -update_over_cellular=yes -show_update_over_cellular [0701/183655:INFO:update_engine_client.cc(371)] Current update over cellular network setting: ENABLED [0701/183655:INFO:update_engine_client.cc(443)] Done. 3. Test that disable works. $ update_engine_client -update_over_cellular=no -show_update_over_cellular [0701/183659:INFO:update_engine_client.cc(371)] Current update over cellular network setting: DISABLED [0701/183659:INFO:update_engine_client.cc(443)] Done. 4. Enable again the update over cellular, connect the chromebook to a 3G and perform an update check. Change-Id: Ic234a3ef8898b1e60e26277208276a958b7e0d94 Reviewed-on: https://gerrit.chromium.org/gerrit/60716 Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/UpdateEngine.conf
|
86dc54dc5ea1abf27eb49b08f4f7dd40f8184099 |
|
20-Jun-2013 |
Yuri Gorshenin <ygorshenin@chromium.org> |
Added permissions to call {Get|Set}Channel. Added permissions to call {Get|Set}Channel. BUG=chromium:219292 TEST=none Change-Id: Ie23109602d2981f05f9508cc147b3b47b3df13a3 Reviewed-on: https://gerrit.chromium.org/gerrit/59422 Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: Yuri Gorshenin <ygorshenin@chromium.org> Reviewed-by: Yuri Gorshenin <ygorshenin@chromium.org> Commit-Queue: Yuri Gorshenin <ygorshenin@chromium.org>
/system/update_engine/UpdateEngine.conf
|
d317e40be46e1b69f624a8165472c99fe6346a1e |
|
12-Jun-2013 |
Chris Sosa <sosa@chromium.org> |
Implement Rollback to previously booted partitions. This CL implements rollback to whatever partition we ran from before. We expose this functionality via dbus under AttemptRollback and expose a new command-line option to update_engine_client that a developer can use. BUG=chromium:242665 TEST=Unittests, full update, update + rollback and verified. Change-Id: Ie59f90b9a0b777dc1329592449090c70892236bf Reviewed-on: https://gerrit.chromium.org/gerrit/58427 Commit-Queue: Chris Sosa <sosa@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: Chris Sosa <sosa@chromium.org>
/system/update_engine/UpdateEngine.conf
|
c1ba09a8f4d3eda4654b34bf01d41fd9ad1d9f38 |
|
14-Aug-2012 |
Jay Srinivasan <jaysri@chromium.org> |
Support in update_engine for script for UI jank investigation. We need to update image_to_live.sh to run in a loop to help investigate the kernel behavior during AU. Since update_engine doesn't allow a new update to be applied unless the device is rebooted after the previous update, this CL adds an option to reset the state for testing purposes. This CL does not cause any change in product code, since update_engine_client will never be invoked with this option in product. BUG=chromium-os:27954 TEST=Tested on ZGB. Change-Id: I561e58893818a1b4990fdc131cd3bb64e473155e Reviewed-on: https://gerrit.chromium.org/gerrit/29907 Commit-Ready: Jay Srinivasan <jaysri@chromium.org> Reviewed-by: Jay Srinivasan <jaysri@chromium.org> Tested-by: Jay Srinivasan <jaysri@chromium.org>
/system/update_engine/UpdateEngine.conf
|
000d895da247697f4e4e0c67a3a847f71fca8eb9 |
|
03-Mar-2011 |
Andrew de los Reyes <adlr@chromium.org> |
AU: Full proxy support This CL Introduces a new proxy resolver that queries Chrome browser for all URLs. This means the updater now works with Proxy AutoConfiguration (PAC) files and automatic proxy detection. BUG=chromium-os:9478 TEST=performed update, unittests Review URL: http://codereview.chromium.org/6594025 Change-Id: I2c169aec06109e3eabc4011e0b536685dfd13f79
/system/update_engine/UpdateEngine.conf
|
583667b33cb62b97fbbd792d6c830c530d759ec1 |
|
27-Oct-2010 |
Satoru Takabayashi <satorux@chromium.org> |
AU: Implement getting of tracks through GetTrack. Add SetTrack and GetTrack to UpdateEngine.xml as well. BUG=chromium-os:8104 TEST=tested on device with update_engine_client Change-Id: I10ef2552e9280524b3a8d5f232d104a81a114e06 Review URL: http://codereview.chromium.org/4181001
/system/update_engine/UpdateEngine.conf
|
0aa39a6ac40e52d783e3d80abe59ffe30ec7c1dd |
|
13-Aug-2010 |
Darin Petkov <petkov@chromium.org> |
Remove obsolete CheckForUpdate/check_for_update D-Bus method. BUG=5402 TEST=unit tests, gmerged on device and tried updates, emerged libcros. Change-Id: I94ac031a33e6ca586a67974235496d245ded04bd Review URL: http://codereview.chromium.org/3179014
/system/update_engine/UpdateEngine.conf
|
296889c68c92b04d307035c5803681f8d2c8f9d3 |
|
24-Jul-2010 |
Darin Petkov <petkov@chromium.org> |
AU: Provide a reboot_if_needed D-Bus API. This will reboot if the current state is UPDATED_REBOOT_NEEDED. Also add -reboot option to the update_engine_client. BUG=4250 TEST=unit tests,gmerged on device and tried reboot requests Review URL: http://codereview.chromium.org/3034026
/system/update_engine/UpdateEngine.conf
|
5a7f565a542196f24eb87ddac96508f8a84e3329 |
|
23-Jul-2010 |
Darin Petkov <petkov@chromium.org> |
Add support to update_engine_client for -app_version and -omaha_url. These options prevent auto-detection of these parameters. Note that this CL makes the check_for_update DBus method obsolete from the client's point of view. BUG=4593 TEST=unit tests, gmerged on device and tried the client with different options. Review URL: http://codereview.chromium.org/3048008
/system/update_engine/UpdateEngine.conf
|
63b96d74b2ffe5999243ab5c33f588030bcb42ce |
|
10-May-2010 |
Andrew de los Reyes <adlr@chromium.org> |
AU: DBus support. A few changes to support dbus in the Update Engine daemon: - SConstruct: build marshaller for the dbus signal. - Update Attempter: respond to dbus calls and broadcast status on dbus signal. - Update Engine Client: flag to listen for status updates. - Also, cleanup outdated code in Omaha Response Handler. BUG=None TEST=attached unittests/on device tests Review URL: http://codereview.chromium.org/2037002
/system/update_engine/UpdateEngine.conf
|
4e9b9f4d57a0c95fb1b9281077f0eef5fdf5e345 |
|
27-Apr-2010 |
Andrew de los Reyes <adlr@chromium.org> |
AU: Beginnings of dbus support. The AU will be a daemon that runs as root. Non-root will communicate via dbus with the updater to do things such as: query status, request forced or full updates, etc. New files for dbus: UpdateEngine.conf - security configuration dbus_constants.h - common constants dbus_service.* - The object exposed over dbus org.chromium.UpdateEngine.service - the dbus service file udpate_attempter.* - Refactored this out of main.cc update_engine_client.cc - Simple command line utility to interact with Update Engine over dbus. Whereas Update Engine runs as root, this tool runs as non-root user. Review URL: http://codereview.chromium.org/1733013
/system/update_engine/UpdateEngine.conf
|