Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

fix(resource-service): fix nats subscription and added retry logic #7215

Merged
merged 45 commits into from
Mar 24, 2022

Conversation

warber
Copy link
Contributor

@warber warber commented Mar 21, 2022

closes #6817

  • added the retry logic from the POC
  • deleted nats related code in package nats which was copied from shippyard controller
  • added new package pkg/nats/subscriber that contains logic to subscribe to nats events

Integration tests

https://github.com/keptn/keptn/actions/runs/2032483837
https://github.com/keptn/keptn/actions/runs/2032553974

warber added 15 commits March 7, 2022 15:54
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
…ling

Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
…urce service

Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
@warber warber added the CI:trigger-build-everything Trigger CI Build: Set BUILD_EVERYTHING=TRUE label Mar 21, 2022
resource-service/pkg/nats/subscriber/sub.go Show resolved Hide resolved
resource-service/pkg/nats/subscriber/sub.go Show resolved Hide resolved
resource-service/pkg/nats/subscriber/sub.go Show resolved Hide resolved
"errors"
"fmt"
"github.com/keptn/keptn/resource-service/models"
"github.com/nats-io/nats.go"
Copy link
Contributor

Choose a reason for hiding this comment

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

[golangci-lint] reported by reviewdog 🐶
"github.com/nats-io/nats.go" imported but not used (typecheck)

@codecov
Copy link

codecov bot commented Mar 21, 2022

Codecov Report

Merging #7215 (020f0f7) into master (a6c0877) will decrease coverage by 0.02%.
The diff coverage is 73.38%.

@@            Coverage Diff             @@
##           master    #7215      +/-   ##
==========================================
- Coverage   58.61%   58.58%   -0.03%     
==========================================
  Files         530      528       -2     
  Lines       30856    30784      -72     
  Branches     1508     1508              
==========================================
- Hits        18086    18035      -51     
+ Misses      11498    11485      -13     
+ Partials     1272     1264       -8     
Impacted Files Coverage Δ
resource-service/pkg/nats/subscriber/sub.go 65.11% <65.11%> (ø)
resource-service/handler/service_manager.go 87.03% <75.86%> (-12.97%) ⬇️
resource-service/handler/resource_manager.go 94.24% <78.94%> (-1.55%) ⬇️
resource-service/common/git.go 55.42% <100.00%> (ø)
resource-service/handler/nats/eventhandler.go 100.00% <100.00%> (ø)
shipyard-controller/handler/sequencedispatcher.go 71.54% <0.00%> (-1.63%) ⬇️
Flag Coverage Δ
api 71.61% <ø> (ø)
approval-service 71.92% <ø> (ø)
bridge-server 66.66% <ø> (ø)
bridge2 73.48% <ø> (ø)
cli 43.83% <ø> (ø)
configuration-service 8.38% <ø> (ø)
distributor 70.80% <ø> (ø)
helm-service 49.23% <ø> (ø)
jmeter-service 13.88% <ø> (ø)
lighthouse-service 73.35% <ø> (ø)
mongodb-datastore 59.86% <ø> (ø)
remediation-service 79.77% <ø> (ø)
resource-service 80.70% <73.38%> (+0.37%) ⬆️
secret-service 81.23% <ø> (ø)
shipyard-controller 58.03% <ø> (-0.04%) ⬇️
statistics-service 59.96% <ø> (ø)
webhook-service 80.41% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
…ling

Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
…urce service

Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
@odubajDT odubajDT force-pushed the feat/6817/retry-delete-resource branch from b85a85a to dcc28a6 Compare March 23, 2022 07:49
warber and others added 4 commits March 23, 2022 09:35
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
odubajDT and others added 4 commits March 23, 2022 14:47
Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Signed-off-by: warber <bernd.warmuth@dynatrace.com>
@odubajDT odubajDT force-pushed the feat/6817/retry-delete-resource branch from 8d5fd3f to 01e6420 Compare March 23, 2022 18:07
Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
@sonarcloud
Copy link

sonarcloud bot commented Mar 24, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@RealAnna RealAnna changed the title feat: run resource service with multiple replicas feat: run resource service in both modes and fix nats Mar 24, 2022
@warber warber changed the title feat: run resource service in both modes and fix nats fix(resource-service): fix nats subscription and added retry logic Mar 24, 2022
@odubajDT odubajDT merged commit 180d833 into master Mar 24, 2022
bacherfl pushed a commit that referenced this pull request Mar 25, 2022
…7215)

* introduces retry logic from POC

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* created test

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* added entry to int test matrix, implemented correct nats message handling

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* fixed compile error and disabled other integration tests for now

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* removed comments in integration_tests.yml

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* introduce KEPTN_NAMESPACE_SUFFIX

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* trigger build

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* changed cloud provider to just GKE

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* revert to master integration_tests.yml with multiple replicas of resource service

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* cleanup

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* enable DIRECTORY_STAGE_STRUCTURE in integration tests

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* trigger build

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* added retry logic in service manager

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* try to fix retry logic

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* added hard reset before each pull

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* moved git reset out of retry

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* introduces retry logic from POC

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* created test

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* added entry to int test matrix, implemented correct nats message handling

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* fixed compile error and disabled other integration tests for now

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* removed comments in integration_tests.yml

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* introduce KEPTN_NAMESPACE_SUFFIX

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* changed cloud provider to just GKE

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* revert to master integration_tests.yml with multiple replicas of resource service

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* cleanup

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* enable DIRECTORY_STAGE_STRUCTURE in integration tests

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* added retry logic in service manager

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* try to fix retry logic

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* added hard reset before each pull

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* moved git reset out of retry

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* reverted moving git reset out of retry

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* reverted unintentional commit in distributor module

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* magic

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>

* set number of replicas back to 1

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>

* turn off directory structure

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>

* removed git hard resets

Signed-off-by: warber <bernd.warmuth@dynatrace.com>

* fix minor issues in integration tests

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>

* fixed backup restore test

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>

Co-authored-by: odubajDT <ondrej.dubaj@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
@mowies mowies deleted the feat/6817/retry-delete-resource branch May 4, 2022 06:02
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CI:trigger-build-everything Trigger CI Build: Set BUILD_EVERYTHING=TRUE
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Resource-service : Introduce changes to enable multiple replicas
2 participants