Currently, the factory server has only command line interface. In order to make partners, non-eng Googlers to manage the server easily. We need a user-friendly front end.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/15262e50e89d9244dd70068340932a6b349a2094 commit 15262e50e89d9244dd70068340932a6b349a2094 Author: Mao Huang <littlecvr@chromium.org> Date: Mon Jun 06 04:08:17 2016 dome: add skeleton code for RESTful API of bundle management BUG= chromium:617496 TEST=None Change-Id: I9a08b312be9392882472090dc8ed6cc3f85ea2e8 Reviewed-on: https://chromium-review.googlesource.com/349860 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> [add] https://crrev.com/15262e50e89d9244dd70068340932a6b349a2094/py/dome/bundles/urls.py [modify] https://crrev.com/15262e50e89d9244dd70068340932a6b349a2094/py/dome/dome/urls.py [modify] https://crrev.com/15262e50e89d9244dd70068340932a6b349a2094/py/dome/bundles/models.py [add] https://crrev.com/15262e50e89d9244dd70068340932a6b349a2094/py/dome/bundles/serializers.py [modify] https://crrev.com/15262e50e89d9244dd70068340932a6b349a2094/py/dome/bundles/views.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/d667ba80e297cabd224813fdbe1a9e27d6f3ec5c commit d667ba80e297cabd224813fdbe1a9e27d6f3ec5c Author: Mao Huang <littlecvr@chromium.org> Date: Fri Jun 03 06:37:26 2016 dome: bundles: implement Bundle class This class provides methods to manipulate bundles in umpire config. BUG= chromium:617496 TEST=Manually tested Change-Id: I22cec7ea78425b8187a59af709fff716e8cc8597 Reviewed-on: https://chromium-review.googlesource.com/350623 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> [modify] https://crrev.com/d667ba80e297cabd224813fdbe1a9e27d6f3ec5c/py/dome/bundles/models.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/68f627f951b3d098c71176698d25b80b1854e92c commit 68f627f951b3d098c71176698d25b80b1854e92c Author: Mao Huang <littlecvr@chromium.org> Date: Wed Jun 01 06:46:36 2016 dome: add /{board}/bundles API The bundles app now provides two RESTful API: 1. "GET /{board}/bundles/": list all bundles. 2. "POST /{board}/bundles/": upload a new bundle. BUG= chromium:617496 TEST=Manually tested Change-Id: I9517f8703d4f81b28b72c5842cc498a4e9f4d9f0 Reviewed-on: https://chromium-review.googlesource.com/350624 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Hung-Te Lin <hungte@chromium.org> [modify] https://crrev.com/68f627f951b3d098c71176698d25b80b1854e92c/py/dome/dome/settings.py [modify] https://crrev.com/68f627f951b3d098c71176698d25b80b1854e92c/py/dome/bundles/serializers.py [modify] https://crrev.com/68f627f951b3d098c71176698d25b80b1854e92c/py/dome/bundles/views.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/586b429b5986599e4f64b850f25ee1fce60a1d43 commit 586b429b5986599e4f64b850f25ee1fce60a1d43 Author: Mao Huang <littlecvr@chromium.org> Date: Fri Aug 05 08:08:13 2016 dome: back-end: allow the user to update resource of a bundle 1. Add Resource, Bundle class in models. 2. Add ResourceSerializer class in serializers 3. Add BundleResourceView class in views. 4. Rename Bundle class to BundleModel in models. 5. Rename BundleList to BundleCollectionView in views. 6. Refactor BundleModel class in models. Now the back-end follows the RESTful API below: - GET /${BOARD}/bundles/ Return the bundle list. - POST /${BOARD}/bundles/ Upload a new bundle. - PUT /${BOARD/${BUNDLE_NAME}/resources/ Update a resource in a specific bundle ${BUNDLE_NAME}. BUG= chromium:617496 TEST=Manually tested Change-Id: I77dc73d861d976cfad4abf483e6cbd437f24fee2 Reviewed-on: https://chromium-review.googlesource.com/366690 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> [modify] https://crrev.com/586b429b5986599e4f64b850f25ee1fce60a1d43/py/dome/bundles/urls.py [modify] https://crrev.com/586b429b5986599e4f64b850f25ee1fce60a1d43/py/dome/bundles/models.py [modify] https://crrev.com/586b429b5986599e4f64b850f25ee1fce60a1d43/py/dome/dome/settings.py [modify] https://crrev.com/586b429b5986599e4f64b850f25ee1fce60a1d43/py/dome/bundles/serializers.py [modify] https://crrev.com/586b429b5986599e4f64b850f25ee1fce60a1d43/py/dome/bundles/views.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/8ddb250849caceb59502700684a0614ef1a3ec20 commit 8ddb250849caceb59502700684a0614ef1a3ec20 Author: Mao Huang <littlecvr@chromium.org> Date: Mon Aug 08 09:30:21 2016 dome: front-end: add front-end template The ReactJS + Redux + ImmutableJS front-end now works, although it shows only a "DomeApp" string. BUG= chromium:617496 TEST=Manually tested Change-Id: I16702a00c72088f63488f602a3eae40b9f344b31 Reviewed-on: https://chromium-review.googlesource.com/366971 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Wei-Han Chen <stimim@chromium.org> [add] https://crrev.com/8ddb250849caceb59502700684a0614ef1a3ec20/py/dome/frontend/index.js [add] https://crrev.com/8ddb250849caceb59502700684a0614ef1a3ec20/py/dome/frontend/index.html [modify] https://crrev.com/8ddb250849caceb59502700684a0614ef1a3ec20/py/dome/dome/settings.py [add] https://crrev.com/8ddb250849caceb59502700684a0614ef1a3ec20/py/dome/frontend/static/css/main.css [modify] https://crrev.com/8ddb250849caceb59502700684a0614ef1a3ec20/py/dome/dome/urls.py [add] https://crrev.com/8ddb250849caceb59502700684a0614ef1a3ec20/py/dome/frontend/package.json
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/1e1803f9f9b347eb8aa128698694e07a77f1228b commit 1e1803f9f9b347eb8aa128698694e07a77f1228b Author: Mao Huang <littlecvr@chromium.org> Date: Mon Aug 08 10:20:02 2016 dome: front-end: add bundle list The front-end is now able to list bundles (with only names and notes). BUG= chromium:617496 TEST=Manually tested Change-Id: Iba7db5c0dc206787552e4e8a70988428f5936931 Reviewed-on: https://chromium-review.googlesource.com/367050 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Wei-Ning Huang <wnhuang@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/components/BundlesApp.js [modify] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/index.js [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/components/Bundle.js [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/actions/bundles.js [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/reducers/bundles.js [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/components/BundleList.js [modify] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/static/css/main.css [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/common.js [add] https://crrev.com/1e1803f9f9b347eb8aa128698694e07a77f1228b/py/dome/frontend/constants/ActionTypes.js
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/6f494aa989280a97ea7116b2194b7bc7dff22461 commit 6f494aa989280a97ea7116b2194b7bc7dff22461 Author: Mao Huang <littlecvr@chromium.org> Date: Mon Aug 08 10:57:49 2016 dome: front-end: add bundle resource table The front-end now shows resource tables for bundles. BUG= chromium:617496 TEST=Manually tested Change-Id: I7449a2cd627b868ab0f5ed0fdb0f83d9417f927b Reviewed-on: https://chromium-review.googlesource.com/367021 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Wei-Ning Huang <wnhuang@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> [modify] https://crrev.com/6f494aa989280a97ea7116b2194b7bc7dff22461/py/dome/frontend/components/Bundle.js [add] https://crrev.com/6f494aa989280a97ea7116b2194b7bc7dff22461/py/dome/frontend/components/ResourceTable.js
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/c770e2b7be8effb5a148888e06fd0b1f535e8a98 commit c770e2b7be8effb5a148888e06fd0b1f535e8a98 Author: Mao Huang <littlecvr@chromium.org> Date: Mon Aug 08 11:53:13 2016 dome: front-end: adding UploadingTask component This completes the uploading bundle and updating resource functions. The "confirm" buttons in both forms now work as intended. BUG= chromium:617496 TEST=Manually tested Change-Id: Ifefecd8330f1c3dcefa20aa5e90d2d9b90f0e49b Reviewed-on: https://chromium-review.googlesource.com/366954 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> [modify] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/components/BundlesApp.js [modify] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/components/UploadingBundleForm.js [modify] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/actions/bundles.js [add] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/components/UploadingTask.js [modify] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/reducers/bundles.js [add] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/constants/UploadingTaskStates.js [modify] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/components/UpdatingResourceForm.js [modify] https://crrev.com/c770e2b7be8effb5a148888e06fd0b1f535e8a98/py/dome/frontend/constants/ActionTypes.js
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/factory/+/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e commit 66faccc170f052ae5c8e8cc5d3cf1a61a23d598e Author: Mao Huang <littlecvr@chromium.org> Date: Mon Aug 08 11:24:45 2016 dome: front-end: add UploadingBundleForm and UpdatingResourceForm The user can now: - Open UploadingBundleForm by clicking the circled "add" button at the bottom right corner of the page. - Open UpdatingResourceForm by clicking the "update" button next to updatable resources in the ResourceTable. The "confirm" buttons in both forms were not implemented yet, the user can thus only cancel the form after opening. BUG= chromium:617496 TEST=Manually tested Change-Id: Icf724643f5d1db0f7bfe597b3319e319bbe3f21f Reviewed-on: https://chromium-review.googlesource.com/367022 Commit-Ready: Mao Huang <littlecvr@chromium.org> Tested-by: Mao Huang <littlecvr@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> [modify] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/components/BundlesApp.js [add] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/components/UploadingBundleForm.js [modify] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/actions/bundles.js [modify] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/components/ResourceTable.js [modify] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/reducers/bundles.js [add] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/constants/FormNames.js [add] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/components/UpdatingResourceForm.js [modify] https://crrev.com/66faccc170f052ae5c8e8cc5d3cf1a61a23d598e/py/dome/frontend/constants/ActionTypes.js
Move this issue to buganizer: b/30999924
Comment 1 by bugdroid1@chromium.org
, Jun 13 2016