summaryrefslogtreecommitdiff
path: root/common/utils.cc
diff options
context:
space:
mode:
authorJae Hoon Kim <kimjae@chromium.org>2020-06-01 14:24:08 -0700
committerCommit Bot <commit-bot@chromium.org>2020-06-12 09:07:32 +0000
commit694eeb0dece40f88e11ece3a776d995d855be79b (patch)
tree9daed0441e3454dec1f5b7f377b8b053a6f4bdf9 /common/utils.cc
parent3562a5da1ef2d7280320167e0bd56a77e02ed4ff (diff)
update_engine: Add PayloadState Exclusion Logic
|PayloadState| will exclude payloads based on specific update failures. This is to prevent critical platform updates from being blocked by less critical updates (e.g. DLCs). A layer of robustness is added in protecting CrOS devices from falling off the update train. Some important changes to mention: - Only during updates will update_engine exclude non-critical payloads - |OmahaRequestAction|, the current precursor |Action| to |OmahaResponseHandlerAction|, during a update will exclude faulty/excluded payloads prior to setting the |OmahaResponse| as an output object for suqsequent bonded |Action| to consume - When all payloads are excluded for an update, the |ErrorCode| will be indicated as |OmahaResponseInvalid| as this case is not a valid Omaha response update_engine should ever run into because non-critical updates must tag alongside a critical update BUG=chromium:928805 TEST=FEATURES=test emerge-$B update_engine update_engine-client Change-Id: I0551a228d0b84defb4d59966e8ed46a5d9278d60 Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2190237 Tested-by: Jae Hoon Kim <kimjae@chromium.org> Auto-Submit: Jae Hoon Kim <kimjae@chromium.org> Reviewed-by: Amin Hassani <ahassani@chromium.org> Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
Diffstat (limited to 'common/utils.cc')
-rw-r--r--common/utils.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/utils.cc b/common/utils.cc
index 3a234cb8..644493d5 100644
--- a/common/utils.cc
+++ b/common/utils.cc
@@ -959,6 +959,10 @@ void ParseRollbackKeyVersion(const string& raw_version,
}
}
+string GetExclusionName(const string& str_to_convert) {
+ return base::NumberToString(base::StringPieceHash()(str_to_convert));
+}
+
} // namespace utils
} // namespace chromeos_update_engine