Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update DEVELOPMENT.md #455

Merged
merged 3 commits into from
Dec 17, 2024
Merged

docs: update DEVELOPMENT.md #455

merged 3 commits into from
Dec 17, 2024

Conversation

airkei
Copy link
Collaborator

@airkei airkei commented Dec 16, 2024

Why

docs/ directory is no more used, but the instructions in DEVELOPMENT.md still refer docs directory.

What

Update DEVELOPMENT.md to describe the current procedure.

@airkei airkei force-pushed the docs/update_deveploment branch from bd4abf2 to dd041e7 Compare December 16, 2024 07:33
Copy link
Contributor

github-actions bot commented Dec 16, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/ota_metadata/legacy
   __init__.py10100% 
   parser.py3354885%106, 170, 175, 211–212, 222–223, 226, 238, 289–291, 295–298, 324–327, 396, 399, 407–409, 422, 431–432, 435–436, 601–603, 653–654, 657, 685–686, 689–690, 692, 696, 698–699, 753, 756–758
   types.py841384%37, 40–42, 112–116, 122–125
src/ota_metadata/utils
   cert_store.py86890%58–59, 73, 87, 91, 102, 123, 127
src/ota_proxy
   __init__.py15660%48, 50, 52, 61, 71–72
   __main__.py880%16, 18–20, 22, 24–25, 27
   _consts.py170100% 
   cache_control_header.py68494%71, 91, 113, 121
   cache_streaming.py1441390%211, 225, 229–230, 265–266, 268, 280, 349, 367–370
   config.py200100% 
   db.py801877%103, 109, 167, 173–174, 177, 183, 185, 209–216, 218–219
   errors.py50100% 
   external_cache.py282028%31, 35, 40–42, 44–45, 48–49, 51–53, 60, 63–65, 69–72
   lru_cache_helper.py48295%95–96
   ota_cache.py2346472%71–72, 143, 146–147, 159–160, 192–193, 210, 231, 250–254, 258–260, 262, 264–271, 273–275, 278–279, 283–284, 288, 335, 343–345, 418, 445, 448–449, 471–473, 477–479, 485, 487–489, 494, 520–522, 557–559, 586, 592, 607
   server_app.py1413972%79, 82, 88, 107, 111, 170, 179, 221–222, 224–226, 229, 234–235, 238, 241–242, 245, 248, 251, 254, 267–268, 271–272, 274, 277, 303–306, 309, 323–325, 331–333
   utils.py140100% 
src/otaclient
   __init__.py5260%17, 19
   __main__.py110%16
   _logging.py513335%43–44, 46–47, 49–54, 56–57, 59–60, 62–65, 67, 77, 80–82, 84–86, 89–90, 92–96
   _otaproxy_ctx.py43430%20, 22–30, 32–37, 39, 41–42, 45, 47–51, 54–57, 60–61, 63–64, 66–68, 70, 75–79, 81
   _status_monitor.py1851492%56–57, 169, 172, 192, 195, 211–212, 220, 223, 286, 308, 325–326
   _types.py960100% 
   _utils.py30293%80–81
   errors.py120199%97
   main.py25250%17, 19–29, 31–33, 35, 37, 41–42, 44–46, 48–50
   ota_core.py34213959%121, 123–124, 128–129, 131–133, 137–138, 143–144, 150, 152, 211–214, 337, 369–370, 372, 381, 384, 389–390, 393, 399, 401–405, 412, 418, 453–456, 459–470, 473–476, 512–515, 531–532, 536–537, 605–612, 617, 620–627, 652–653, 659, 663–664, 670, 695–697, 699, 739, 761, 788–790, 799–805, 819–825, 827–828, 833–834, 842, 844, 850, 852, 858, 860, 864, 870, 872, 878, 881–883, 893–894, 905–907, 909–910, 912, 914–915, 920, 922, 927
src/otaclient/boot_control
   __init__.py40100% 
   _firmware_package.py932276%82, 86, 136, 180, 186, 209–210, 213–218, 220–221, 224–229, 231
   _grub.py41812769%214, 262–265, 271–275, 312–313, 320–325, 328–334, 337, 340–341, 346, 348–350, 359–365, 367–368, 370–372, 381–383, 385–387, 466–467, 471–472, 524, 530, 556, 578, 582–583, 598–600, 624–627, 639, 643–645, 647–649, 708–711, 736–739, 762–765, 777–778, 781–782, 817, 823, 843–844, 846, 871–873, 891–894, 919–922, 929–932, 937–945, 950–957
   _jetson_cboot.py2612610%20, 22–25, 27–29, 35–40, 42, 58–60, 62, 64–65, 71, 75, 134, 137, 139–140, 143, 150–151, 159–160, 163, 169–170, 178, 187–191, 193, 199, 202–203, 209, 212–213, 218–219, 221, 227–228, 231–232, 235–237, 239, 245, 250–252, 254–256, 261, 263–266, 268–269, 278–279, 282–283, 288–289, 292–296, 299–300, 305–306, 309, 312–316, 321–324, 327, 330–331, 334, 337–338, 341, 345–350, 354–355, 359, 362–363, 366, 369–372, 374, 377–378, 382, 385, 388–391, 393, 400, 404–405, 408–409, 415–416, 422, 424–425, 429, 431, 433–435, 438, 442, 445, 448–449, 451, 454, 462–463, 470, 480, 483, 491–492, 497–500, 502, 509, 511–513, 519–520, 524–525, 528, 532, 535, 537, 544–548, 550, 562–565, 568, 571, 573, 580, 590–592, 594, 596, 599, 602, 605, 607–608, 611–615, 619–621, 623, 631–635, 637, 640, 644, 647, 658–659, 664, 674, 677–683, 687–693, 697–706, 710–718, 722, 724, 726–728
   _jetson_common.py1724573%132, 140, 288–291, 294, 311, 319, 354, 359–364, 382, 408–409, 411–413, 417–420, 422–423, 425–429, 431, 438–439, 442–443, 453, 456–457, 460, 462, 506–507
   _jetson_uefi.py40427432%124–126, 131–132, 151–153, 158–161, 328, 446, 448–451, 455, 459–460, 462–470, 472, 484–485, 488–489, 492–493, 496–498, 502–503, 508–510, 514, 518–519, 522–523, 526–527, 531, 534–535, 537, 542–543, 547, 550–551, 556, 560–561, 564, 568–570, 572, 576–579, 581–582, 604–605, 609–610, 612, 616, 620–621, 624–625, 632, 635–637, 640, 642–643, 648–649, 652–655, 657–658, 663, 665–666, 674, 677–680, 682–683, 685, 689–690, 694, 702–706, 709–710, 712, 715–719, 722, 725–729, 733–734, 737–742, 745–746, 749–752, 754–755, 762–763, 773–776, 779, 782–785, 788–792, 795–796, 799, 802–805, 808, 810, 815–816, 819, 822–825, 827, 833, 838–839, 858–859, 862, 870–871, 878, 888, 891, 898–899, 904–907, 915–918, 926–927, 939–942, 944, 947, 950, 958, 969–971, 973–975, 977–981, 986–987, 989, 1002, 1006, 1009, 1019, 1024, 1032–1033, 1036, 1040, 1042–1044, 1050–1051, 1056, 1064–1069, 1074–1079, 1084–1092, 1097–1104, 1112–1114
   _ota_status_control.py1021189%117, 122, 127, 240, 244–245, 248, 255, 257–258, 273
   _rpi_boot.py28713353%53, 56, 120–121, 125, 133–136, 150–153, 158–159, 161–162, 167–168, 171–172, 181–182, 222, 228–232, 235, 253–255, 259–261, 266–268, 272–274, 284–285, 288, 291, 293–294, 296–297, 299–301, 307, 310–311, 321–324, 332–336, 338, 340–341, 346–347, 354, 357–362, 393, 395–398, 408–411, 415–416, 418–422, 450–453, 472–475, 501–504, 509–517, 522–529, 544–547, 554–557, 565–567
   _slot_mnt_helper.py100100% 
   configs.py510100% 
   protocol.py60100% 
   selecter.py412929%44–46, 49–50, 54–55, 58–60, 63, 65, 69, 77–79, 81–82, 84–85, 89, 91, 93–94, 96, 98–99, 101, 103
src/otaclient/configs
   __init__.py170100% 
   _cfg_configurable.py470100% 
   _cfg_consts.py47197%97
   _common.py80100% 
   _ecu_info.py56492%59, 64–65, 112
   _proxy_info.py50590%84, 86–87, 89, 100
   cfg.py190100% 
src/otaclient/create_standby
   __init__.py13192%36
   common.py2264480%59, 62–63, 67–69, 71, 75–76, 78, 126, 174–176, 178–180, 182, 185–188, 192, 203, 279–280, 282–287, 299, 339, 367, 370–372, 388–389, 403, 407, 429–430
   interface.py70100% 
   rebuild_mode.py1151091%98–100, 119, 150–155
src/otaclient/grpc/api_v2
   ecu_status.py1611093%75, 78, 81, 150, 175, 177, 307, 382–383, 419
   ecu_tracker.py54540%17, 19–22, 24–30, 32–33, 35, 46–47, 50, 52, 58–61, 63, 65, 67–70, 77, 81–84, 88–89, 91, 93, 95–103, 107–108, 110, 112–115
   main.py41410%17, 19–24, 26–27, 29, 32, 39, 41–42, 44–45, 47–48, 50–55, 57–59, 61, 64, 70, 72–73, 76–77, 79–82, 84–85, 87
   servicer.py1169518%57–61, 63–64, 66–67, 73–77, 81–82, 87, 90, 94–96, 100–102, 110–112, 115–119, 128–138, 145, 151, 154–156, 167–169, 172–174, 179, 186–189, 192, 196–197, 202, 205, 209–211, 215–217, 225–226, 229–233, 242–251, 258, 264, 267–269, 274–275, 278
   types.py44295%78–79
src/otaclient_api/v2
   api_caller.py39684%45–47, 83–85
   types.py2563287%61, 64, 67–70, 86, 89–92, 131, 209–210, 212, 259, 262–263, 506–508, 512–513, 515, 518–519, 522–523, 578, 585–586, 588
src/otaclient_common
   __init__.py341555%42–44, 61, 63, 68–77
   _io.py64198%41
   cmdhelper.py130100% 
   common.py1061090%148, 151–153, 168, 175–177, 271, 275
   downloader.py1991094%107–108, 126, 153, 369, 424, 428, 516–517, 526
   linux.py611575%51–53, 59, 69, 74, 76, 108–109, 133–134, 190, 195–196, 198
   logging.py29196%55
   persist_file_handling.py1181884%113, 118, 150–152, 163, 192–193, 228–232, 242–244, 246–247
   proto_streamer.py42880%33, 48, 66–67, 72, 81–82, 100
   proto_wrapper.py3985785%87, 134–141, 165, 172, 184–186, 189–190, 205, 210, 221, 257, 263, 268, 299, 303, 307, 402, 462, 469, 472, 492, 499, 501, 526, 532, 535, 537, 562, 568, 571, 573, 605, 609, 611, 625, 642, 669, 672, 676, 692, 707, 713, 762–763, 765, 803–805
   retry_task_map.py129993%134–135, 153–154, 207–208, 210, 230–231
   shm_status.py952177%79–80, 83–84, 105, 120–122, 134, 139, 156–160, 169–170, 172, 179, 192, 204
   typing.py31487%48, 97–98, 100
TOTAL6710187972% 

Tests Skipped Failures Errors Time
228 0 💤 0 ❌ 0 🔥 11m 54s ⏱️

@Bodong-Yang
Copy link
Member

@airkei Thank you for the PR! 👍
However their is pitfall that, by just installing otaclient you will (probably) not be able to get it work, as we need to pre-configure the system before it can work.

Currently we are using ansible to setup the system and install otaclient. But that ansible playbook, as you know, is not public, so we cannot just copy-paste it to this repository.

Actually I think currently we should just completely remove this doc.

@airkei
Copy link
Collaborator Author

airkei commented Dec 16, 2024

@Bodong-Yang Thank you for feedback. As you say, we should not describe the instructions which depends on non-public setup. On the other hand, I think it's better to describe the instructions as much as possible in markdown.
How about to remove the ECU installation part and keep tests parts like the latest commit?

@Bodong-Yang
Copy link
Member

Bodong-Yang commented Dec 17, 2024

How about to remove the ECU installation part and keep tests parts like the latest commit?

I think this strategy is OK for now 👍
In the future, we can write a detailed installation guide based on the ansible playbook, or even provide a stripped down version of the ansible role that only setup otaclient.

Copy link
Member

@Bodong-Yang Bodong-Yang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove the installation part for now. 👍
In the future we can either provide a full and detailed guide of setting up device system and otaclient, or even provide a stripped down version of otaclient installation role.

@airkei airkei force-pushed the docs/update_deveploment branch from 1ceee95 to fdd7ac8 Compare December 17, 2024 01:04
@airkei airkei enabled auto-merge (squash) December 17, 2024 01:07
@airkei airkei merged commit 3d05444 into main Dec 17, 2024
8 checks passed
@airkei airkei deleted the docs/update_deveploment branch December 17, 2024 01:21
Bodong-Yang added a commit that referenced this pull request Dec 18, 2024
commit b4b9547
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:51:29 2024 +0000

    ota_core: wait on any_child_ecu_in_update not set

commit 1fd8994
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:35:21 2024 +0000

    minor fix

commit 276deff
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:33:38 2024 +0000

    fix up test_ecu_status

commit 2f5d322
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:22:29 2024 +0000

    fix up test_ecu_status

commit 7a57a6f
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:11:40 2024 +0000

    ecu_status: set ecu_status_flags.any_child_ecu_in_update accordingly

commit 1ac7cc9
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:08:32 2024 +0000

    otaclient.main: MultipleECUStatusFlags: rename any_in_update to any_child_ecu_in_update

commit f19560c
Author: bodong.yang <[email protected]>
Date:   Wed Dec 18 07:08:11 2024 +0000

    otaclient._types: MultipleECUStatusFlags: rename any_in_update to any_child_ecu_in_update

commit 3d05444
Author: Keisuke Nakata <[email protected]>
Date:   Tue Dec 17 10:21:54 2024 +0900

    docs: update DEVELOPMENT.md (#455)

    update DEVELOPMENT.md

commit b710bb0
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Dec 17 09:53:24 2024 +0900

    build(deps): Update uvicorn[standard] requirement (#457)

    Updates the requirements on [uvicorn[standard]](https://github.com/encode/uvicorn) to permit the latest version.
    - [Release notes](https://github.com/encode/uvicorn/releases)
    - [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
    - [Commits](encode/uvicorn@0.30.0...0.34.0)

    ---
    updated-dependencies:
    - dependency-name: uvicorn[standard]
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 3ffaf90
Author: Bodong Yang <[email protected]>
Date:   Mon Dec 16 15:30:09 2024 +0900

    feat: deps: bump to use simple-sqlite3-orm v0.5.0, update the otaproxy accordingly (#454)

    This PR bumps to use simple-sqlite3-orm v0.5.0 for otaproxy, and updates the otaproxy accordingly. Also missing indexes for ota_cache metadata db (previously defined before otaclient v3.7.1) are added back to otaproxy.

    Other minor changes:
    1. lru_cache_helper: use burst_suppressed_logger for loggings that might be flooded.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants