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

Use the refactored runner manager #351

Merged
merged 290 commits into from
Sep 5, 2024
Merged

Use the refactored runner manager #351

merged 290 commits into from
Sep 5, 2024

Conversation

yhaliaw
Copy link
Collaborator

@yhaliaw yhaliaw commented Aug 19, 2024

Overview

Use the refactored runner manager for OpenStack runner in charm.py.

Rationale

The refactored interface should be used in the charm.

Juju Events Changes

The get-runners juju action returns with some new fields ("busy", and "busy-runners").
This provides info on busy runners.
Added since it makes tests easier.

Module Changes

Add a RunnerScaler class. This class uses the RunnerManager and provides the APIs the charm.py needs, e.g., scale up/down, flush runners, get runner infos.

Checklist

jdkandersson
jdkandersson previously approved these changes Sep 2, 2024
jdkandersson
jdkandersson previously approved these changes Sep 3, 2024
Copy link
Collaborator

@yanksyoon yanksyoon left a comment

Choose a reason for hiding this comment

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

Reviewed untiol tests/unit/test_charm.py, looks good so far! Thanks for working on it!

src/charm.py Show resolved Hide resolved
Copy link
Collaborator

@cbartz cbartz left a comment

Choose a reason for hiding this comment

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

Reviewed until tests

src/manager/github_runner_manager.py Show resolved Hide resolved
src/manager/runner_scaler.py Show resolved Hide resolved
pyproject.toml Outdated Show resolved Hide resolved
Copy link
Collaborator

@cbartz cbartz left a comment

Choose a reason for hiding this comment

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

Some nit comments, otherwise looks good.

tests/unit/test_runner_scaler.py Outdated Show resolved Hide resolved
tests/unit/test_runner_scaler.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@yanksyoon yanksyoon left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

github-actions bot commented Sep 5, 2024

Test coverage for 14aedab

Name                                   Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------
src/charm.py                             590    148    151     26    72%   234-236, 302-321, 339-341, 342->346, 372-376, 449, 456-458, 485-490, 507-513, 534, 546-552, 566-567, 580, 585, 615-616, 618->627, 622->627, 632-638, 672, 676-681, 732-737, 746->749, 772-784, 788-789, 817-844, 857-862, 881-891, 905-907, 954-955, 957-958, 960-961, 1040->1042, 1107-1108, 1146-1148, 1156-1162, 1240-1293, 1297
src/charm_state.py                       468     17    106      5    95%   335-347, 572-576, 698-699, 754-755, 1190->1193, 1197-1198, 1245
src/errors.py                             44      0      0      0   100%
src/event_timer.py                        54      7      2      1    86%   105-106, 131, 148-149, 165-166
src/firewall.py                           51     18     20      0    61%   42-43, 66-69, 111-185
src/github_client.py                      96     16     40      5    79%   65-72, 119->exit, 124-125, 195, 218, 231-238, 260->300, 294
src/github_type.py                        50      0      0      0   100%
src/logrotate.py                          43      0      2      0   100%
src/lxd_type.py                           35      0      2      0   100%
src/manager/cloud_runner_manager.py       53      0      6      0   100%
src/manager/github_runner_manager.py      18      0      6      0   100%
src/manager/runner_manager.py            135     34     48      5    70%   173, 185, 189, 205-210, 228-229, 266-282, 296-303, 323-327, 336
src/manager/runner_scaler.py              95     10     32      3    88%   123-124, 135-136, 140, 147, 194-195, 210-211
src/metrics/__init__.py                    0      0      0      0   100%
src/metrics/events.py                     55      2      8      1    95%   56->59, 166-167
src/metrics/github.py                     16      0      0      0   100%
src/metrics/runner.py                    144     10     32      3    91%   164, 190-203, 239, 276, 458-459
src/metrics/runner_logs.py                24      5      4      1    79%   30-33, 47->46, 51-52
src/metrics/storage.py                    70      8     12      0    90%   89-90, 117-118, 182-183, 189-190
src/metrics/type.py                        5      0      0      0   100%
src/openstack_cloud/__init__.py           26      0      2      0   100%
src/reactive/__init__.py                   0      0      0      0   100%
src/reactive/consumer.py                  40      2      6      0    96%   98-101
src/reactive/runner_manager.py            53      0     14      1    99%   102->exit
src/runner_manager_type.py                51      0      8      0   100%
src/runner_type.py                        37      0     10      0   100%
src/shared_fs.py                          93     17     10      1    83%   51-52, 119-120, 145-146, 154-155, 161-162, 180, 183-184, 196-197, 240-241
src/utilities.py                          68      7     20      7    82%   86->88, 90->96, 103, 133, 147, 186-189, 244
----------------------------------------------------------------------------------
TOTAL                                   2414    301    541     59    85%

Static code analysis report

Run started:2024-09-05 05:17:20.032232

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 8362
  Total lines skipped (#nosec): 4
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 7

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

@cbartz cbartz merged commit 5b8c99a into main Sep 5, 2024
40 checks passed
@cbartz cbartz deleted the refactor/use-runner-manager branch September 5, 2024 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants