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

start refactoring toward python grpc client #56

Merged
merged 8 commits into from
Sep 24, 2021

Conversation

robertchoi80
Copy link
Contributor

@robertchoi80 robertchoi80 commented Sep 2, 2021

workflow 로직 내에서 tks service와 통신하는 부분을 python grpc client로 구현하였습니다.
tks-proto 로부터 생성된 python binding 코드를 configmap으로 만들어 컨테이너에 마운트하는 형태로 작성하였고, (최초 1회) configmap 생성 부분은 README에 절차를 언급하던지, 또는 자동화를 고민해볼 예정입니다.
본 PR이 동작하려면 openinfradev/tks-proto#26 이 먼저 반영되어야 합니다.

commit 메세지가 정리가 좀 안되었는데, 머지 전에 rebase해서 합치도록 하겠습니다.

import info_pb2_grpc
import common_pb2
import common_pb2_grpc

Copy link
Contributor

Choose a reason for hiding this comment

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

tks proto import 는 어떻게 처리하셨는지 코드상으로는 표현되지 않네요.
관련하여 tks project 가 모두 private repo 로 옮겨졌기때문에 최신 버전의 proto를 import하기 위해서는 아마 아래 정도의 작업이 필요할 수 있을 것 같습니다.
. https://mingrammer.com/go-modules-private-repo/

Copy link
Contributor Author

@robertchoi80 robertchoi80 Sep 3, 2021

Choose a reason for hiding this comment

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

엇? 이 블로그는 클라이언트 단이 아닌 서버단에서 proto를 import할 때 저도 참고했던 블로그입니다. 여기서의 import는 미리 생성된 python binding 코드를 configmap으로 만들어두고 컨테이너에 마운트해서 사용합니다.(volumeMount 부분 참고)

@zugwan
Copy link
Contributor

zugwan commented Sep 3, 2021

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.

위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

@robertchoi80
Copy link
Contributor Author

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.

위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

네, 성일님 확인해주시면 그렇게 옮기도록 하겠습니다. 근데 성일님은 알림을 꺼놓으셨는지 @ mention해도 거의 안보시더라구요. 월요일까지 기다려보고 직접 문의해봐야겠습니다.

@zugwan
Copy link
Contributor

zugwan commented Sep 3, 2021

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.
위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

네, 성일님 확인해주시면 그렇게 옮기도록 하겠습니다. 근데 성일님은 알림을 꺼놓으셨는지 @ mention해도 거의 안보시더라구요. 월요일까지 기다려보고 직접 문의해봐야겠습니다.

네, 오전에 말씀드린 부분하고 합쳐서 정리하면 아래와 같습니다.

  1. openinfradev/decapod-flow에는LMA 컴포넌트를 구축하는 워크 플로우 템플릿((lma-uniformed-wftpl.yaml))만 존재
  2. tks-flow에 태일님이 작업하는 tks 서비스와 통신하는 워크플로우 템플릿 생성
  3. tks-flow에 위 1), 2) 워크플로우 템플릿을 호출하는 tks LMA 구성 워크플로우 템플릿(tks-lma-federation-wftpl.yaml) 생성

@bluejayA
Copy link
Contributor

bluejayA commented Sep 3, 2021

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.
위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

네, 성일님 확인해주시면 그렇게 옮기도록 하겠습니다. 근데 성일님은 알림을 꺼놓으셨는지 @ mention해도 거의 안보시더라구요. 월요일까지 기다려보고 직접 문의해봐야겠습니다.

네, 오전에 말씀드린 부분하고 합쳐서 정리하면 아래와 같습니다.

  1. openinfradev/decapod-flow에는LMA 컴포넌트를 구축하는 워크 플로우 템플릿((lma-uniformed-wftpl.yaml))만 존재
  2. tks-flow에 태일님이 작업하는 tks 서비스와 통신하는 워크플로우 템플릿 생성
  3. tks-flow에 위 1), 2) 워크플로우 템플릿을 호출하는 tks LMA 구성 워크플로우 템플릿(tks-lma-federation-wftpl.yaml) 생성

@zugwan @robertchoi80 @intelliguy
위에 내용이 별도 티켓화 되어야 하면, 등록까지 해주시기 바랍니다.
아니면, 내용만 추가되면 되는 기존 티켓이 있을까요?

@zugwan
Copy link
Contributor

zugwan commented Sep 3, 2021

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.
위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

네, 성일님 확인해주시면 그렇게 옮기도록 하겠습니다. 근데 성일님은 알림을 꺼놓으셨는지 @ mention해도 거의 안보시더라구요. 월요일까지 기다려보고 직접 문의해봐야겠습니다.

네, 오전에 말씀드린 부분하고 합쳐서 정리하면 아래와 같습니다.

  1. openinfradev/decapod-flow에는LMA 컴포넌트를 구축하는 워크 플로우 템플릿((lma-uniformed-wftpl.yaml))만 존재
  2. tks-flow에 태일님이 작업하는 tks 서비스와 통신하는 워크플로우 템플릿 생성
  3. tks-flow에 위 1), 2) 워크플로우 템플릿을 호출하는 tks LMA 구성 워크플로우 템플릿(tks-lma-federation-wftpl.yaml) 생성

@zugwan @robertchoi80 @intelliguy
위에 내용이 별도 티켓화 되어야 하면, 등록까지 해주시기 바랍니다.
아니면, 내용만 추가되면 되는 기존 티켓이 있을까요?

지금 작업 내용인 (2번)은 openinfradev/tks-client#4 (https://app.zenhub.com/workspaces/tks-development-60c96f813019b5000e5b69c3/issues/openinfradev/tks-client/4) 이 논의 후에 현재 내용대로 바뀐 것입니다.
(3번)은 성일님이 설명하시는 건 들었는데 티켓은 잘 모르겠습니다.

@robertchoi80
Copy link
Contributor Author

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.
위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

네, 성일님 확인해주시면 그렇게 옮기도록 하겠습니다. 근데 성일님은 알림을 꺼놓으셨는지 @ mention해도 거의 안보시더라구요. 월요일까지 기다려보고 직접 문의해봐야겠습니다.

네, 오전에 말씀드린 부분하고 합쳐서 정리하면 아래와 같습니다.

  1. openinfradev/decapod-flow에는LMA 컴포넌트를 구축하는 워크 플로우 템플릿((lma-uniformed-wftpl.yaml))만 존재
  2. tks-flow에 태일님이 작업하는 tks 서비스와 통신하는 워크플로우 템플릿 생성
  3. tks-flow에 위 1), 2) 워크플로우 템플릿을 호출하는 tks LMA 구성 워크플로우 템플릿(tks-lma-federation-wftpl.yaml) 생성

@zugwan @robertchoi80 @intelliguy
위에 내용이 별도 티켓화 되어야 하면, 등록까지 해주시기 바랍니다.
아니면, 내용만 추가되면 되는 기존 티켓이 있을까요?

지금 작업 내용인 (2번)은 openinfradev/tks-client#4 (https://app.zenhub.com/workspaces/tks-development-60c96f813019b5000e5b69c3/issues/openinfradev/tks-client/4) 이 논의 후에 현재 내용대로 바뀐 것입니다.
(3번)은 성일님이 설명하시는 건 들었는데 티켓은 잘 모르겠습니다.

2번의 경우 며칠 전에 새 이슈 등록했습니다
https://app.zenhub.com/workspaces/tks-development-60c96f813019b5000e5b69c3/issues/openinfradev/tks-issues/25

@robertchoi80
Copy link
Contributor Author

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.

위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

네, 우선 end-to-end 로 흐름 보실 수 있게 대략적인 코드 작성이 완료되면 필요한 부분들은 tks-flow 쪽으로 옮길 생각입니다. 그전까지는 한눈에 보시는 게 편할 듯 하여 우선 여기다 commit 할게요.

@github-actions
Copy link

github-actions bot commented Sep 8, 2021

This PR is stale because it has been open 3 days with no activity. Remove stale label or comment or this will be closed in 3 days.

@github-actions github-actions bot added the Stale There has been no activity on this label Sep 8, 2021
@intelliguy
Copy link
Contributor

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.

위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

기본 flow는 opensource flow로 유지하고 tks용이 필요하다면 해당 기능은 tks용 flow에 넣고 내부에서 opensource flow에 있는 내용은 호출해서 사용하는 방식으로 하자고 이야기 했었습니다

@github-actions github-actions bot removed the Stale There has been no activity on this label Sep 9, 2021
@robertchoi80
Copy link
Contributor Author

추가로 LMA 컴포넌트들 설치하는 워크플로우 템플릿과 이를 사용해서 추가로 TKS 서비스와 연동하는 워크플로우(in https://github.com/openinfradev/tks-flow) 를 만드는 쪽으로 정리했던 것으로 기억하는데 @intelliguy 님 확인 부탁 드립니다.
위 내용이 맞다면 태일님 작업 중인 부분은 tks-flow 쪽에 반영되는 것이 좋겠습니다.

기본 flow는 opensource flow로 유지하고 tks용이 필요하다면 해당 기능은 tks용 flow에 넣고 내부에서 opensource flow에 있는 내용은 호출해서 사용하는 방식으로 하자고 이야기 했었습니다

네, 기본적으로 tks-flow 쪽의 tks-lma-fed WF 에서 opensource 쪽의 lma-uniform WF 및 기타 WF 들을 호출하는 형태로 하면 될 것 같습니다.

@ktkfree ktkfree self-requested a review September 13, 2021 01:13
i.e.,to make sure only one update-decapod-manifest task can run at a time
@robertchoi80 robertchoi80 changed the title [WIP] start refactoring toward python grpc client start refactoring toward python grpc client Sep 15, 2021
if not os.path.isdir(sitePath):
print("Cloning repository...")

repo = git.Repo.clone_from('https://github.com/robertchoi80/decapod-site', 'decapod-site')
Copy link
Contributor

Choose a reason for hiding this comment

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

태일님 repo를 바라보는건 어떤 의미인가요?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

앗! 이거 고쳐야 합니다

Copy link
Contributor Author

Choose a reason for hiding this comment

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

수정했습니다!

@Jaesang
Copy link
Contributor

Jaesang commented Sep 15, 2021

변경파일을 보면 git push하는것으로 보이는데 python grpc client는 어디에 있는거죠? 못찾겠어요ㅠ

@robertchoi80
Copy link
Contributor Author

robertchoi80 commented Sep 15, 2021

변경파일을 보면 git push하는것으로 보이는데 python grpc client는 어디에 있는거죠? 못찾겠어요ㅠ

아 이게 원래 하나의 PR이었는데, 두개로 나뉘면서 그 부분은 tks-flow 쪽으로 옮겨졌습니다.

repo = None
config = {}
commit_msg = ''
numChanged = 0
Copy link
Contributor

Choose a reason for hiding this comment

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

가독성을 위해 true, false flag 도 괜찮을 것 같습니다. 물론 중요하진 않습니다 ㅎㅎ

Copy link
Contributor Author

Choose a reason for hiding this comment

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

그렇네요. 굳이 수정된 갯수까진 알 필요 없으니 boolean 값으로 바꾸는게 좋겠네요

@github-actions
Copy link

This PR is stale because it has been open 3 days with no activity. Remove stale label or comment or this will be closed in 3 days.

@github-actions github-actions bot added the Stale There has been no activity on this label Sep 19, 2021
@github-actions
Copy link

This PR was closed because it has been stalled for 10 days with no activity.

@github-actions github-actions bot closed this Sep 22, 2021
@robertchoi80 robertchoi80 reopened this Sep 24, 2021
@bluejayA bluejayA removed the Stale There has been no activity on this label Sep 24, 2021
@seungkyua seungkyua merged commit ab83bf4 into openinfradev:main Sep 24, 2021
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

Successfully merging this pull request may close these issues.

7 participants