Skip to content

Switch charmed-etcd channel to stable#765

Open
skourta wants to merge 2 commits intomainfrom
switch-charmed-etcd-to-stable
Open

Switch charmed-etcd channel to stable#765
skourta wants to merge 2 commits intomainfrom
switch-charmed-etcd-to-stable

Conversation

@skourta
Copy link
Copy Markdown
Collaborator

@skourta skourta commented Nov 26, 2025

Overview

This pull request makes a small change to the deployment configuration by updating the charmed-etcd application to use the stable channel instead of the edge channel.

  • Updated the charmed-etcd application in test-bundle-charmed-etcd.yaml to use the "3.6/stable" channel instead of "3.6/edge", ensuring more reliable and stable deployments.

Rationale

We should use charmed-etcd stable now that it is. The edge channel is for development.

Checklist

@skourta skourta requested a review from a team as a code owner November 26, 2025 09:48
@mateoflorido
Copy link
Copy Markdown
Member

@skourta We are still seeing the same issue with the stable channel: https://github.com/canonical/k8s-operator/actions/runs/19699458124/job/56453824460?pr=765

@skourta
Copy link
Copy Markdown
Collaborator Author

skourta commented Nov 27, 2025

Yes, the issue persists. This is not a charmed-etcd issue but a potential bug in juju 3.6.12. See here for the issue opened on the lib where the issue is raised. From my investigation yesterday it only happens with juju 3.6.12. I ran your integration tests as well as our on 3.6.11 and didn't manage to reproduce.

We did handle this case on the edge channel but it is a temporary fix until we figure out the root cause.

Switching to stable is not related to this issue, but you should not be deploying the edge channel which is a dev channel for us.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 1, 2025

Test results for commit dcf171b

Test coverage for dcf171b

Name                                            Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------
charms/worker/k8s/src/certificates.py             187    133     44      0    23%   67, 96-100, 111-119, 124-125, 130-140, 145, 150-154, 163, 175, 183-199, 204-220, 229-249, 260-264, 280-290, 299-310, 314, 323-334, 342, 346-349, 356-366, 370-375, 381-393, 406-430, 442-444, 457
charms/worker/k8s/src/charm.py                    651    279    204     33    53%   123-124, 211-212, 236-237, 247-248, 250, 264, 278-285, 308-313, 319-335, 372-375, 387, 396, 413-416, 421-423, 431-440, 463->468, 470-473, 507-508, 520->522, 527-529, 531-533, 545-559, 580, 588-594, 607-624, 640, 645-646, 656->exit, 678-694, 703-712, 724-736, 754-770, 780-795, 804-810, 822-864, 882-884, 886, 904-916, 925-952, 964-976, 986, 1028, 1031, 1040, 1050, 1053, 1063-1075, 1080-1086, 1108-1110, 1114-1117, 1128-1147, 1151-1152, 1172-1173, 1190, 1193-1194, 1200->1209, 1253-1256, 1264-1265, 1268-1269
charms/worker/k8s/src/charmed_etcd.py              47     28      8      0    35%   32-36, 46, 57, 61-63, 67-81, 90-91, 95-102
charms/worker/k8s/src/cloud_integration.py         80      3     24      3    94%   140, 149->151, 158-159
charms/worker/k8s/src/config/arg_files.py          79      0     22      2    98%   134->133, 152->150
charms/worker/k8s/src/config/bootstrap.py         145     24     54      5    78%   65-84, 158-159, 202-203, 205, 223, 252, 266->254
charms/worker/k8s/src/config/cluster.py            63      3     22     11    84%   37, 51->53, 59->61, 63->65, 66, 68, 73->75, 79->81, 85->87, 92->94, 98->100
charms/worker/k8s/src/config/extra_args.py         43      4     20      4    87%   32->27, 44, 82, 100, 116
charms/worker/k8s/src/config/option.py             20      0      8      0   100%
charms/worker/k8s/src/config/resource.py           33      7      4      1    73%   32, 57-58, 63-72
charms/worker/k8s/src/containerd.py               154     15     48     18    83%   45-48, 78->82, 82->85, 85->88, 234->236, 240->243, 243->245, 245->247, 247->250, 262, 269, 276, 327-328, 340-341, 355, 357, 359, 363
charms/worker/k8s/src/cos_integration.py           41     16      4      0    56%   82, 117-234, 238
charms/worker/k8s/src/endpoints.py                 40      1     18      1    97%   62
charms/worker/k8s/src/events/update_status.py     104     19     32      9    78%   93, 99-100, 124, 126, 142, 156-167, 173, 191, 192->194, 198
charms/worker/k8s/src/inspector.py                 62     10     24      6    79%   44-45, 74, 109, 122-123, 132, 138-143
charms/worker/k8s/src/k8s/client.py                20      4      2      1    77%   39->41, 47-48, 50-51
charms/worker/k8s/src/k8s/node.py                  34     14      4      0    53%   47-49, 52, 65-75
charms/worker/k8s/src/k8sd_api_manager.py         411     27     14      2    93%   712, 787-788, 1019, 1062-1064, 1073-1077, 1139, 1208, 1216, 1234, 1247-1248, 1309-1311, 1322-1325, 1342-1346
charms/worker/k8s/src/kube_control.py              44     32     10      0    22%   31-35, 44-90
charms/worker/k8s/src/literals.py                 114      0      0      0   100%
charms/worker/k8s/src/pki.py                       29      9      2      1    68%   35-36, 49-54, 65
charms/worker/k8s/src/protocols.py                 33      5      0      0    85%   60, 68, 76, 84, 92
charms/worker/k8s/src/reschedule.py                79      4      6      3    92%   155->158, 174-175, 191-192, 215->exit, 221->exit
charms/worker/k8s/src/snap.py                     180     16     58     11    89%   110, 188-189, 200-201, 214->207, 232-237, 291-292, 294, 297->288, 304->288, 308, 329-330
charms/worker/k8s/src/token_distributor.py        251    129     66      7    43%   112-114, 128, 182, 186, 211, 236->exit, 267, 287-288, 301-311, 332, 348-361, 407->406, 411, 415->420, 438-472, 506, 519, 529, 550-660, 679-732, 745-747
charms/worker/k8s/src/upgrade.py                  121     38     36      5    64%   81-108, 191->193, 202-205, 208-212, 219->221, 222-225, 242
charms/worker/k8s/src/utils.py                     16     16      4      0     0%   6-47
-------------------------------------------------------------------------------------------
TOTAL                                            3081    836    738    123    68%

Static code analysis report

Run started:2025-12-01 15:24:28.940319+00:00

Test results:
  No issues identified.

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

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):

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 1, 2025

Test results for commit dcf171b

Test coverage for dcf171b

Name                                            Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------
charms/worker/k8s/src/certificates.py             187    133     44      0    23%   67, 96-100, 111-119, 124-125, 130-140, 145, 150-154, 163, 175, 183-199, 204-220, 229-249, 260-264, 280-290, 299-310, 314, 323-334, 342, 346-349, 356-366, 370-375, 381-393, 406-430, 442-444, 457
charms/worker/k8s/src/charm.py                    651    279    204     33    53%   123-124, 211-212, 236-237, 247-248, 250, 264, 278-285, 308-313, 319-335, 372-375, 387, 396, 413-416, 421-423, 431-440, 463->468, 470-473, 507-508, 520->522, 527-529, 531-533, 545-559, 580, 588-594, 607-624, 640, 645-646, 656->exit, 678-694, 703-712, 724-736, 754-770, 780-795, 804-810, 822-864, 882-884, 886, 904-916, 925-952, 964-976, 986, 1028, 1031, 1040, 1050, 1053, 1063-1075, 1080-1086, 1108-1110, 1114-1117, 1128-1147, 1151-1152, 1172-1173, 1190, 1193-1194, 1200->1209, 1253-1256, 1264-1265, 1268-1269
charms/worker/k8s/src/charmed_etcd.py              47     28      8      0    35%   32-36, 46, 57, 61-63, 67-81, 90-91, 95-102
charms/worker/k8s/src/cloud_integration.py         80      3     24      3    94%   140, 149->151, 158-159
charms/worker/k8s/src/config/arg_files.py          79      0     22      2    98%   134->133, 152->150
charms/worker/k8s/src/config/bootstrap.py         145     24     54      5    78%   65-84, 158-159, 202-203, 205, 223, 252, 266->254
charms/worker/k8s/src/config/cluster.py            63      3     22     11    84%   37, 51->53, 59->61, 63->65, 66, 68, 73->75, 79->81, 85->87, 92->94, 98->100
charms/worker/k8s/src/config/extra_args.py         43      4     20      4    87%   32->27, 44, 82, 100, 116
charms/worker/k8s/src/config/option.py             20      0      8      0   100%
charms/worker/k8s/src/config/resource.py           33      7      4      1    73%   32, 57-58, 63-72
charms/worker/k8s/src/containerd.py               154     15     48     18    83%   45-48, 78->82, 82->85, 85->88, 234->236, 240->243, 243->245, 245->247, 247->250, 262, 269, 276, 327-328, 340-341, 355, 357, 359, 363
charms/worker/k8s/src/cos_integration.py           41     16      4      0    56%   82, 117-234, 238
charms/worker/k8s/src/endpoints.py                 40      1     18      1    97%   62
charms/worker/k8s/src/events/update_status.py     104     19     32      9    78%   93, 99-100, 124, 126, 142, 156-167, 173, 191, 192->194, 198
charms/worker/k8s/src/inspector.py                 62     10     24      6    79%   44-45, 74, 109, 122-123, 132, 138-143
charms/worker/k8s/src/k8s/client.py                20      4      2      1    77%   39->41, 47-48, 50-51
charms/worker/k8s/src/k8s/node.py                  34     14      4      0    53%   47-49, 52, 65-75
charms/worker/k8s/src/k8sd_api_manager.py         411     27     14      2    93%   712, 787-788, 1019, 1062-1064, 1073-1077, 1139, 1208, 1216, 1234, 1247-1248, 1309-1311, 1322-1325, 1342-1346
charms/worker/k8s/src/kube_control.py              44     32     10      0    22%   31-35, 44-90
charms/worker/k8s/src/literals.py                 114      0      0      0   100%
charms/worker/k8s/src/pki.py                       29      9      2      1    68%   35-36, 49-54, 65
charms/worker/k8s/src/protocols.py                 33      5      0      0    85%   60, 68, 76, 84, 92
charms/worker/k8s/src/reschedule.py                79      4      6      3    92%   155->158, 174-175, 191-192, 215->exit, 221->exit
charms/worker/k8s/src/snap.py                     180     16     58     11    89%   110, 188-189, 200-201, 214->207, 232-237, 291-292, 294, 297->288, 304->288, 308, 329-330
charms/worker/k8s/src/token_distributor.py        251    129     66      7    43%   112-114, 128, 182, 186, 211, 236->exit, 267, 287-288, 301-311, 332, 348-361, 407->406, 411, 415->420, 438-472, 506, 519, 529, 550-660, 679-732, 745-747
charms/worker/k8s/src/upgrade.py                  121     38     36      5    64%   81-108, 191->193, 202-205, 208-212, 219->221, 222-225, 242
charms/worker/k8s/src/utils.py                     16     16      4      0     0%   6-47
-------------------------------------------------------------------------------------------
TOTAL                                            3081    836    738    123    68%

Static code analysis report

Run started:2025-12-01 15:24:31.226505+00:00

Test results:
  No issues identified.

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

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):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants