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

Component Interactions, Remote CLI improvements. #336

Merged
merged 8 commits into from
Nov 8, 2024

Conversation

Danidite
Copy link
Contributor

@Danidite Danidite commented Oct 29, 2024

Component interactions and general remote CLI improvements.

Addresses the following issues:

Other minor changes:

  • Updated documentation of limitations of the implemented features.
  • Updated documentation for the new cli changes.
  • Added warning regarding experimental nature of remote CLI.
  • Added min time between sync for log collect.
  • Adjusted AWS timeout for solver to be 800 seconds.
  • Adjusted data collect such that the all collector no longer performs workflow collect.
  • Updated iam policy for remote CLI for remove workflow.
  • Removing caribou workflow now also removes associate client manager entry
  • Workflow will only be removed from listing when removal completes.

… and temp debug changes for remote cli invoke and tests.
…ht buffer time, introduce invoke remote cli function, enhanced the (data collect, log_sync, manage_deployments, run_deployment_migrator, and remove_workflow) client cli to be able to use the remote cli, expanded iam policy for remote_cli for remote function, implemented component interations for all applicable operations, added z_standard to deployment packager reprequisites, removing workflow also removes deployment manager workflow info entry, removing deployment manager resource is now at the end such that if removal of workflow fails it still appears in list workflow for retry deletion, cleaned up log syncer get time intervals, many other misc changes.
@Danidite Danidite self-assigned this Oct 29, 2024
@Danidite Danidite changed the title Component Interactions, Many Misc Fixes and Changes Component Interactions, many miscellaneous fixes and improvements. Oct 29, 2024
@Danidite Danidite changed the title Component Interactions, many miscellaneous fixes and improvements. Component Interactions, Remote CLI improvements. Oct 31, 2024
@Danidite Danidite marked this pull request as ready for review November 1, 2024 00:08
Copy link

github-actions bot commented Nov 1, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
caribou/common
   utils.py48883%45–60
caribou/common/models/remote_client
   aws_remote_client.py5816589%45, 68, 70, 110, 156, 221, 224, 260, 277–278, 328–329, 367, 378, 388, 421–423, 431–432, 451–453, 472, 475, 499, 512–513, 516, 522, 562–564, 602–604, 714–715, 723–724, 733, 737, 748, 758–760, 780, 791–793, 813, 828–830, 845–850, 878–879, 883, 899–903, 909–910, 925–926
   remote_client_factory.py24388%21–23
caribou/common/teardown
   teardown_tables.py811878%63–64, 81–82, 97–98, 112–121, 123, 128–136, 140
caribou/data_collector/components
   data_collector.py18194%23
   data_exporter.py34197%62
caribou/data_collector/components/carbon
   carbon_collector.py21290%34–35
   carbon_retriever.py1341887%25, 59, 93, 135–144, 148, 153, 160, 168–169, 215, 246, 249, 256
caribou/data_collector/components/performance
   performance_retriever.py38684%44, 50–51, 56–59
caribou/data_collector/components/provider
   provider_collector.py24292%43–44
   provider_retriever.py3055383%24, 37, 39, 52, 64, 95, 102, 123, 155–179, 210–308, 326–331, 363, 371, 373, 375, 377, 379, 381, 383, 459, 473, 583, 676
caribou/data_collector/components/workflow
   workflow_collector.py25196%34
   workflow_retriever.py30510964%218–259, 282, 332–339, 341, 373–416, 438, 469–528, 535–565, 568–585, 589–606, 617, 678, 700
caribou/data_collector/utils/latency_retriever
   aws_latency_retriever.py74988%59, 63, 65, 67, 70, 74, 76, 78, 81
   latency_retriever.py6183%8
caribou/deployment/client
   caribou.py16194%22
   caribou_workflow.py46513571%54, 70–71, 80–83, 129, 201–223, 267–268, 282, 315–326, 347–354, 380–391, 434–454, 562, 578, 581, 636–662, 667–683, 705–715, 793, 796, 798, 800, 802, 804, 831, 866–881, 916–917, 927–931, 961, 996, 1004, 1016–1096, 1109–1138, 1172–1181, 1212, 1245, 1273–1282, 1302–1320, 1340, 1353–1359, 1365
caribou/deployment/client/remote_cli
   remote_cli.py1361986%205–207, 212–214, 291–292, 304, 312, 319–323, 332–334, 348–350
   remote_cli_handler.py1556459%53–54, 66–67, 94–95, 97–98, 109–110, 112–113, 115–119, 144, 152–153, 187–199, 203–225, 229–236, 240–247
caribou/deployment/common/config
   config.py83199%104
caribou/deployment/common/deploy
   deployer.py1401689%43, 102–109, 199, 240–242, 249, 256, 267
   deployment_packager.py2424980%32, 35, 40, 64–71, 74–87, 93, 99, 104, 109, 131, 159, 172, 185, 193, 258–260, 269, 282, 335–350, 360, 362, 364, 367
   executor.py53492%32–33, 66, 68
   workflow_builder.py1711392%43, 59, 146, 178, 186, 189, 191, 196, 205, 208, 210, 324, 330
caribou/deployment/common/deploy/models
   function.py42295%42, 53
   function_instance.py12283%16, 22
   iam_role.py34391%19–21
   instructions.py18289%17, 26
   resource.py18194%25
   workflow.py1943284%39, 44, 67, 77, 99, 120, 166, 171, 206, 219–231, 272, 281, 289, 293, 298–327
caribou/deployment/common/deploy_instructions
   aws_deploy_instructions.py24292%37, 83
   deploy_instructions.py54983%57, 95, 145, 151, 164, 168, 172, 176, 182
caribou/deployment/common/factories
   deploy_instruction_factory.py18383%20–22
   deployer_factory.py1061685%23–26, 40, 51–52, 81, 89, 98, 107, 118, 125–128
caribou/deployment/server
   re_deployment_server.py61592%36, 48, 51, 58, 107
caribou/deployment_solver
   workflow_config.py751185%24, 26, 32–33, 54–56, 61, 79, 82, 107
caribou/deployment_solver/deployment_algorithms
   coarse_grained_deployment_algorithm.py29293%33, 38
   deployment_algorithm.py1021288%54, 92, 97, 113, 126, 140, 157, 192–198, 227
   fine_grained_deployment_algorithm.py29293%44, 49
   stochastic_heuristic_deployment_algorithm.py1021585%20–28, 54, 57, 83, 98, 109, 112, 117, 123–126, 136, 153, 180, 187
caribou/deployment_solver/deployment_input
   input_manager.py1995572%126, 132, 135, 194, 200, 246–254, 276–282, 291–294, 304–307, 320–339, 352–373, 379–387, 441–442, 476–487, 493–495, 501
caribou/deployment_solver/deployment_input/components/calculators
   carbon_calculator.py96496%124–128, 214, 261
   cost_calculator.py70199%163
   runtime_calculator.py1091190%130–145, 152, 201, 209, 262, 295
caribou/deployment_solver/deployment_input/components/loaders
   carbon_loader.py21386%22, 43, 46
   datacenter_loader.py49590%106–111, 114
   performance_loader.py18194%38
   region_viability_loader.py17288%15, 32
   workflow_loader.py1472682%86, 102–112, 122, 145, 165, 183, 193, 210, 264–276, 292, 364–369, 392, 430–432, 437
caribou/deployment_solver/deployment_metrics_calculator
   deployment_metrics_calculator.py40198%49
   go_deployment_metrics_calculator.py543241%21, 25–28, 32–34, 48–57, 60, 71–83, 86–90, 93–95, 98–99
   simple_deployment_metrics_calculator.py1291787%125–142, 170–171, 203–204, 220–223, 235–236, 251
caribou/deployment_solver/deployment_metrics_calculator/models
   workflow_instance.py1948258%84–95, 107, 141–144, 183–186, 194–196, 203–224, 235–266, 272–286, 305–438, 517
caribou/deployment_solver/models
   indexer.py17194%25
caribou/deployment_solver/ranker
   ranker.py62494%14, 26–27, 95
caribou/endpoint
   client.py1411291%47, 57, 107, 117, 139–142, 153, 195, 289–290, 297–298
caribou/monitors
   deployment_manager.py1731790%114, 120–121, 142–143, 238–244, 259, 282, 297, 303, 338, 358
   monitor.py8188%12
caribou/syncers
   log_sync_workflow.py52129044%109, 164–174, 179, 187, 194, 204, 211, 249–255, 257, 259, 261, 263, 265, 269, 273, 275, 277, 280–286, 289, 293, 303–370, 379–386, 396–464, 473–476, 481–496, 507–598, 611–665, 675–701, 706–723, 728–745, 759, 766–789, 798–799, 809, 814–820, 847–848, 850–851, 856–857, 891–898, 902, 939, 941, 946, 980, 984–987, 995–1005, 1008–1014, 1017–1028, 1031
caribou/syncers/components
   execution_data.py75692%74–75, 81, 91, 134, 142
   workflow_run_sample.py83693%136, 145–149
TOTAL7039129582% 

Tests Skipped Failures Errors Time
757 0 💤 0 ❌ 0 🔥 26.741s ⏱️

Copy link
Collaborator

@vGsteiger vGsteiger left a comment

Choose a reason for hiding this comment

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

I have some comments but these can also be follow up issues. I don't see any critical issues since most is tested and the changes are 80% cosmetic. Thanks!

@Danidite Danidite merged commit 729c607 into main Nov 8, 2024
14 checks passed
@Danidite Danidite deleted the features/daniel/io_compression_sync_auto_del branch November 8, 2024 21:11
@Danidite Danidite mentioned this pull request Nov 12, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants