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

SO1S-268 backend deployment 상태 변경 감지 #28

Merged
merged 22 commits into from
Sep 5, 2022

Conversation

shinilseop
Copy link
Contributor

@shinilseop shinilseop commented Sep 4, 2022

SO1S-268 backend deployment 상태 변경 감지

Tasks

  • 디플로이먼트 엔티티 status 타입변경, 엔드포인트 추가 및 깨진 테스트 수리, data.sql 수정
  • 쿠버네티스 리소스 라벨 변경 (app: 종류, name: 이름)
  • 스케줄링 설정 추가
  • 디플로이먼트 상태감지 및 애플리케이션 헬스체크 기능 추가
  • 디플로이먼트 상태감지 테스트 추가

Discussion

  • 쿠버네티스로부터 리소스를 조회해올때 디플로이먼트 중 특정 카테고리(ex: 백엔드 서버를 제외한 인퍼런스)만 조회하고 싶은 경우가 있는데 현재 라벨로는 어려운 상황이어서 라벨을 (app: 종류, name: 이름) 으로 변경하였습니다. 예를들어 app: inference, name: iris-model 이런식입니다. 혹시 다른 방법이나 더 좋은 방법이 있다면 알려주시면 감사하겠습니다.
  • 디플로이먼트 상태를 체크하는데 있어서 총 3가지의 경우로 나누었습니다.
  1. RDB에는 있지만 쿠버네티스에 없는경우 -> UNKNOWN
  2. RDB에는 있지만 쿠버네티스에 있는경우 -> 상태체크하고 200이면 RUNNING, 이외 FAILED
    더 추가해야할 상태가 있을까요 ?
  • 현재 테스트에서 특정 도메인에 한번 healthz를 날려보는 테스트를 하는데 https://argo.so1s.io/healthz 를 엔드포인트로 잡고 전송해보도록 되있습니다. 만약, prod 환경의 argo가 실행이 되고 있지 않으면 에러가 나는데 켜져있다는 전제하에 만든거라 그대로 해도 괜찮을까요 ?

Jira

  • SO1S-268

@shinilseop shinilseop added Refactoring 코드를 개선 및 정리했습니다. Configuration 설정 파일이 변경됐습니다. Fix 오류를 수정했습니다. Test Test Code 가 추가됐습니다. labels Sep 4, 2022
@sonarqube-so1s

This comment has been minimized.

Copy link
Member

@DPS0340 DPS0340 left a comment

Choose a reason for hiding this comment

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

깔끔하게 잘 짜신것 같아요 👍
Approve 드립니다!

Copy link
Member

@NEM-NE NEM-NE left a comment

Choose a reason for hiding this comment

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

LGTM 고생하셨습니다~

현재 테스트에서 특정 도메인에 한번 healthz를 날려보는 테스트를 하는데 https://argo.so1s.io/healthz 를 엔드포인트로 잡고 전송해보도록 되있습니다. 만약, prod 환경의 argo가 실행이 되고 있지 않으면 에러가 나는데 켜져있다는 전제하에 만든거라 그대로 해도 괜찮을까요 ?

현재 개발환경은 Dev는 개발 할 때만, Prod는 배포 및 통합 테스트를 할 때만을 생각하고 있습니다. 따라서 다른 환경에서 health 체크를 하는 것을 권장드립니다 ㅠ

나머지 discussion은 다 괜찮은 거 같아요~

@sonarqube-so1s

This comment has been minimized.

@sonarqube-so1s
Copy link

sonarqube-so1s bot commented Sep 5, 2022

Passed

Analysis Details

8 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 8 Code Smells

Coverage and Duplications

  • Coverage 71.20% Coverage (80.20% Estimated after merge)
  • Duplications 0.00% Duplicated Code (2.10% Estimated after merge)

Project ID: So1S_backend_AYHrZkBbJVI_JANDYCcZ

View in SonarQube

@shinilseop
Copy link
Contributor Author

shinilseop commented Sep 5, 2022

LGTM 고생하셨습니다~

현재 테스트에서 특정 도메인에 한번 healthz를 날려보는 테스트를 하는데 https://argo.so1s.io/healthz 를 엔드포인트로 잡고 전송해보도록 되있습니다. 만약, prod 환경의 argo가 실행이 되고 있지 않으면 에러가 나는데 켜져있다는 전제하에 만든거라 그대로 해도 괜찮을까요 ?

현재 개발환경은 Dev는 개발 할 때만, Prod는 배포 및 통합 테스트를 할 때만을 생각하고 있습니다. 따라서 다른 환경에서 health 체크를 하는 것을 권장드립니다 ㅠ

나머지 discussion은 다 괜찮은 거 같아요~

애플리케이션 헬스체크를 별도의 빈으로 빼고 Mocking을 해서 해결했습니다.

추가적인 수정사항이 없다면 머지하셔도 될 것 같아요!

@DPS0340 DPS0340 merged commit 9234467 into main Sep 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Configuration 설정 파일이 변경됐습니다. Fix 오류를 수정했습니다. Refactoring 코드를 개선 및 정리했습니다. Test Test Code 가 추가됐습니다.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants