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

[BUG] Setting controller doesn't process the value when there is an error #3519

Closed
FrankYang0529 opened this issue Feb 22, 2023 · 3 comments
Closed
Assignees
Labels
area/backend kind/bug Issues that are defects reported by users or that we know have reached a real release priority/0 Must be fixed in this release reproduce/always Reproducible 100% of the time severity/1 Function broken (a critical incident with very high impact)
Milestone

Comments

@FrankYang0529
Copy link
Member

FrankYang0529 commented Feb 22, 2023

Describe the bug
When we update a value in the setting, we always add a hash to an annotation. If there is an error from syner, the setting controller doesn't run syner again, because the hash is same. For some syncer, like ssl-certificate, we would like the setting controller to apply it again when updating some k8s resources has conflicts.

To Reproduce
Steps to reproduce the behavior:

  1. Give a wrong value to log-level setting, like test.
  2. We can only see one error message in the harvester pod. The setting controller doesn't process it again.

Expected behavior

Their is many error message in the harvester pod.

Environment

  • Harvester ISO version: v1.1.1
  • Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): KVM

Additional context

@FrankYang0529 FrankYang0529 added kind/bug Issues that are defects reported by users or that we know have reached a real release severity/1 Function broken (a critical incident with very high impact) reproduce/always Reproducible 100% of the time labels Feb 22, 2023
@FrankYang0529 FrankYang0529 self-assigned this Feb 22, 2023
@FrankYang0529 FrankYang0529 changed the title [BUG] Setting controller doesn't process the value when their is an error [BUG] Setting controller doesn't process the value when there is an error Feb 22, 2023
@guangbochen guangbochen added this to the v1.2.0 milestone Feb 22, 2023
@guangbochen guangbochen added the priority/0 Must be fixed in this release label Feb 22, 2023
@harvesterhci-io-github-bot
Copy link

harvesterhci-io-github-bot commented Mar 1, 2023

Pre Ready-For-Testing Checklist

  • If labeled: require/HEP Has the Harvester Enhancement Proposal PR submitted?

  • Where is the reproduce steps/test steps documented?
    The reproduce steps/test steps are at: [e2e] [BUG] Setting controller doesn't process the value when there is an error tests#731

  • Is there a workaround for the issue? If so, where is it documented?

  • Have the backend code been merged (harvester, harvester-installer, etc) (including backport-needed/*)?
    The PR is at: fix(setting): rerun when there is error #3569

    • Does the PR include the explanation for the fix or the feature? Yes

    • Does the PR include deployment change (YAML/Chart)? If so, where are the PRs for both YAML file and Chart?

  • If labeled: area/ui Has the UI issue filed or ready to be merged?

  • If labeled: require/doc, require/knowledge-base Has the necessary document PR submitted or merged?

  • If NOT labeled: not-require/test-plan Has the e2e test plan been merged? Have QAs agreed on the automation test case? If only test case skeleton w/o implementation, have you created an implementation issue?

    • The automation skeleton PR is at:
    • The automation test case PR is at:
  • If the fix introduces the code for backward compatibility Has a separate issue been filed with the label release/obsolete-compatibility?

@harvesterhci-io-github-bot

Automation e2e test issue: harvester/tests#731

@TachunLin
Copy link

Verified fixed on master-1222750f-head (04/25). Close this issue.

Result

After we set the wrong value test to log-level, the harvester deployment log will continuously prompt error process with the setting controller

 harvester-b5d7b65bd-mktwc W0428 07:38:51.767341       7 warnings.go:70] network.harvesterhci.io/v1beta1 NodeNetwork is deprecated                          │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:38:30Z" level=info msg="set log level to info"                                                               │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:10Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:10Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:10Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:10Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:10Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:10Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus │
│ harvester-b5d7b65bd-r2t92 time="2023-04-28T07:39:11Z" level=error msg="error syncing 'log-level': handler harvester-setting-controller: not a valid logrus

image

Test Information

  • Test Environment: 1 node Harvester local kvm machine
  • Harvester version: master-1222750f-head (04/25)

Verify Steps

  1. On Harvester setting UI, set the log-level setting to Info
  2. Access to Harvester master node and switch to root
  3. Run K9s, edit the settings -> log-level
  4. Set the value to test and save
  5. Search deployment -> Harvester
  6. Check the Harvester deployment log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend kind/bug Issues that are defects reported by users or that we know have reached a real release priority/0 Must be fixed in this release reproduce/always Reproducible 100% of the time severity/1 Function broken (a critical incident with very high impact)
Projects
None yet
Development

No branches or pull requests

4 participants