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

_rotate_kms_key: SkipPerIssues raises AttributeError as self.params object has no attribute 'scylla_version' #9134

Closed
mikliapko opened this issue Nov 5, 2024 · 2 comments
Assignees

Comments

@mikliapko
Copy link
Contributor

Here is a traceback of failure:

2024-11-04 17:38:44.815: (ThreadFailedEvent Severity.ERROR) period_type=one-time event_id=91b83f10-bb92-45bc-a7db-6ff7f054ea0a: message='dict' object has no attribute 'scylla_version'
Traceback (most recent call last):
File "/home/ubuntu/scylla-cluster-tests/sdcm/sct_events/decorators.py", line 26, in wrapper
return func(*args, **kwargs)
File "/home/ubuntu/scylla-cluster-tests/sdcm/cluster.py", line 4589, in _rotate_kms_key
if SkipPerIssues("https://github.com/scylladb/scylla-enterprise/issues/3896", self.params):
File "/home/ubuntu/scylla-cluster-tests/sdcm/utils/issues.py", line 171, in __bool__
return self.issues_opened() or self.issues_labeled()
File "/home/ubuntu/scylla-cluster-tests/sdcm/utils/issues.py", line 162, in issues_labeled
if self.params.scylla_version:
AttributeError: 'dict' object has no attribute 'scylla_version'

Argus: https://argus.scylladb.com/tests/scylla-cluster-tests/439869f1-5f7a-4840-b6ef-ad1f83ec465e

The issue is in this particular code:

                if SkipPerIssues("https://github.com/scylladb/scylla-enterprise/issues/3896", self.params):
                    self.log.warning("KMS encryption check is skipped due to the 'scylla-enterprise/issues/3896'")
                    continue

I suppose during the time the test waits to proceed with rotation the object self.params references to might have been changed somewhere else.

In general, this if SkipPerIssues clause can be completely removed since the issue it linked to is closed and doesn't have skip label.

@vponomaryov Please, let me know what do you think?
If you don't mind removing this if clause, I can remove it. Just decided to raise this question, since this self.params issue may exist somewhere else.

@vponomaryov
Copy link
Contributor

Here is a traceback of failure:

2024-11-04 17:38:44.815: (ThreadFailedEvent Severity.ERROR) period_type=one-time event_id=91b83f10-bb92-45bc-a7db-6ff7f054ea0a: message='dict' object has no attribute 'scylla_version'
Traceback (most recent call last):
File "/home/ubuntu/scylla-cluster-tests/sdcm/sct_events/decorators.py", line 26, in wrapper
return func(*args, **kwargs)
File "/home/ubuntu/scylla-cluster-tests/sdcm/cluster.py", line 4589, in _rotate_kms_key
if SkipPerIssues("https://github.com/scylladb/scylla-enterprise/issues/3896", self.params):
File "/home/ubuntu/scylla-cluster-tests/sdcm/utils/issues.py", line 171, in __bool__
return self.issues_opened() or self.issues_labeled()
File "/home/ubuntu/scylla-cluster-tests/sdcm/utils/issues.py", line 162, in issues_labeled
if self.params.scylla_version:
AttributeError: 'dict' object has no attribute 'scylla_version'

Argus: https://argus.scylladb.com/tests/scylla-cluster-tests/439869f1-5f7a-4840-b6ef-ad1f83ec465e

The issue is in this particular code:

                if SkipPerIssues("https://github.com/scylladb/scylla-enterprise/issues/3896", self.params):
                    self.log.warning("KMS encryption check is skipped due to the 'scylla-enterprise/issues/3896'")
                    continue

I suppose during the time the test waits to proceed with rotation the object self.params references to might have been changed somewhere else.

I think it is related to this part of the logic: https://github.com/scylladb/scylla-cluster-tests/blame/24d72b4466b557fb7920b415208e1a1faa0d6074/sdcm/cluster.py#L4013
So, the question is why cluster gets initiated with dictionary and not with SCTConfiguration which has "scylla_version" attribute.

In general, this if SkipPerIssues clause can be completely removed since the issue it linked to is closed and doesn't have skip label.

@vponomaryov Please, let me know what do you think? If you don't mind removing this if clause, I can remove it. Just decided to raise this question, since this self.params issue may exist somewhere else.

Yes, if SKipPerIssue is not needed anymore, it can be removed.
It will solve your own case.

But SkipPerIssue still may get dictionary again in other cases.
So, bug really exists and must be fixed.

mikliapko added a commit to mikliapko/scylla-cluster-tests that referenced this issue Nov 6, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- scylladb#9134
roydahan pushed a commit that referenced this issue Nov 7, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134
mergify bot pushed a commit that referenced this issue Nov 7, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134

(cherry picked from commit b9708e8)
mergify bot pushed a commit that referenced this issue Nov 7, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134

(cherry picked from commit b9708e8)
mergify bot pushed a commit that referenced this issue Nov 7, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134

(cherry picked from commit b9708e8)
fruch pushed a commit that referenced this issue Nov 10, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134

(cherry picked from commit b9708e8)
fruch pushed a commit that referenced this issue Nov 10, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134

(cherry picked from commit b9708e8)
fruch pushed a commit that referenced this issue Nov 10, 2024
As per discussion, this clause can be removed as the ticket is resolved
and doesn't have sct skip label (what could have made it being skipped).
At the same, it led to unexpected failures when self.params appeared to
be dict type instance instead of SCTConfiguration as expected.

refs:
- #9134

(cherry picked from commit b9708e8)
@fruch
Copy link
Contributor

fruch commented Nov 17, 2024

#9160 fixes the issue, i.e. get it out of the way

@fruch fruch closed this as completed Nov 17, 2024
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

No branches or pull requests

3 participants