System Engineering Laboratory
koain@naver.com
Kim Young Woo
Swift 디버깅 시작하기
2017-07-121
2017-07-122
1.사전 준비 하기
• SAIO 설치
• 수동 설치 - https://docs.openstack.org/swift/latest/development_saio.html
• DevStack - https://github.com/openstack-dev/devstack/#swift
• 파이참 설치
• 프로페셔널 에디션(원격 디버깅) - https://www.slideshare.net/koain/ss-75453424
• 커뮤니티 에디션(로컬 디버깅) – SAIO 설치 머신에 파이참 설치
2017-07-123
2. 실행 파일 설정
• 파이참 우 상단의 Edit Configuration 클릭
2017-07-124
2. 실행 파일 설정
• 좌 상단 + 버튼 클릭
• Python 선택
• 이름 지정
• Script 지정 (로컬 머신에서 실행할 파일)
• Script Parameters 지정 (설정파일
지정)
• Path mappings 지정 (로컬과 원격
머신의 경로 매핑)
2017-07-125
3. swift 데몬 띄우기
• 떠있는 swift 데몬들 다 죽이기
• $ swift-init all shutdown
2017-07-126
3. swift 데몬 띄우기
• Swift 데몬들 모두 시작하기
• $ swift-init main start
2017-07-127
3. swift 데몬 띄우기
• 파이참으로 proxy-server를 실행시킬
것이므로 proxy-server만 죽임
• $ ps -ef | grep swift-proxy # pid
확인
• $ kill -9 PID # 프로세스 죽이기
2017-07-128
4. Swift API 맛보기 - URL과 TOKEN 얻기
• Swift를 이용하기 위한 URL과 TOKEN
얻기
• account : test
• username : tester
• password : testing
• X-Storage-Url와 X-Auth-Token를
얻을 수 있다.
• $ curl -v -H ‘X-Storage-User: test:tester’ -H ‘X-
Storage-Pass: testing’
http://127.0.0.1:8080/auth/v1.0
2017-07-129
4. Swift API 맛보기 - container 확인하기
• Account에 대해 GET
• 해당 계정에 존재하는 Container 목록이
출력됨
• $ curl –X GET –v –H ‘X-Auth-Token:
‘”$AUTH_TOKEN”’’ $BASE_URL
2017-07-1310
4. Swift API 맛보기 – Object 확인하기
• Container에 대해 GET
• 해당 Container 내부의 Object의
목록이 출력됨
• $ curl -X GET -v $BASE_URL/cont1 -H 'X-Auth-
Token: '"$AUTH_TOKEN"''
2017-07-1311
4. Swift API 맛보기 – Object 업로드
• Object를 PUT
• 파일을 생성하고 이를 Swift에 업로드
• curl -X PUT -i $BASE_URL/cont1/testObj1 -T
'TestFile' -H 'X-Auth-Token: '"$AUTH_TOKEN"''
2017-07-1312
5. Proxy-server 디버깅
https://spoqa.github.io/2012/01/16/wsgi-and-flask.html
• WSGI(Web Server Gateway Interface) : HTTP를 통해 요청을 받아 응답하는 어플리케이션에 대한
명세로 이러한 명세를 만족시키는 클래스나 함수,(__call__을 통해 부를 수 있는)객체를 WSGI
어플리케이션 이라고 한다.
• Middleware : WSGI 자체는 서버가 어플리케이션과 통신하는 명세를 다룬다. 따라서 추가적인 기능은
미들웨어로 작성한다. (Swift, DLO, SLO, ACL … swift/swift/common/middleware에 존재)
• swift/swift/proxy/server.py의 Application 클래스 __call__ 함수부터 디버깅 시작
2017-07-1313
5. Proxy-server 디버깅 - Object에 대한 GET 분석
• swift/swift/proxy/ser
ver.py
• 중단점 걸고 딱정벌레
클릭
• 서버가 뜨고 API 보내면
중단점에 걸림
• 디버깅 시작
2017-07-1314
5. Proxy-server 디버깅 - Object에 대한 GET 분석
• 각 컴포넌트 별 처리 Controller
swift/swift/proxy/controllers
base.py
account.py
container.py
obj.py

More Related Content

PDF
파이참 원격 디버깅
PPTX
[PHPFest 2013] PHP 성능 향상 방법
PDF
[네이버오픈소스세미나] Contribution, 전쟁의 서막 : Apache OpenWhisk 성능 개선 - 김동경
PPTX
Git 기본 가이드
PDF
Envoy 를 이용한 코드 배포 자동화
PPTX
Cruise control net_and_terminal_with_gamedev
PPTX
Ubuntu packaging - deploy package
PDF
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
파이참 원격 디버깅
[PHPFest 2013] PHP 성능 향상 방법
[네이버오픈소스세미나] Contribution, 전쟁의 서막 : Apache OpenWhisk 성능 개선 - 김동경
Git 기본 가이드
Envoy 를 이용한 코드 배포 자동화
Cruise control net_and_terminal_with_gamedev
Ubuntu packaging - deploy package
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현

What's hot (6)

PDF
Git + gitlab + sourcetree
PDF
Basic git-commands
PDF
형태소 분석기를 적용한 elasticsearch 운영
PDF
nexus helm 설치와 private docker repo 생성
PDF
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
PDF
EMOCON 2015 - 카피캣으로 시작하는 오픈소스
Git + gitlab + sourcetree
Basic git-commands
형태소 분석기를 적용한 elasticsearch 운영
nexus helm 설치와 private docker repo 생성
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
EMOCON 2015 - 카피캣으로 시작하는 오픈소스
Ad

Similar to Open stack swift 디버깅 시작하기 (20)

PDF
OpenStack Swift Debugging
PDF
okspring3x
PDF
Jenkins를 활용한 Openshift CI/CD 구성
PPTX
Springmvc
PDF
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
PPTX
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
PPTX
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
PDF
성공적인 게임 런칭을 위한 비밀의 레시피 #3
PDF
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
PDF
20170813 django api server unit test and remote debugging
PDF
DevOps - CI/CD 알아보기
PDF
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
PDF
JBoss EAP on Azure
PPTX
PHP Slim Framework with Angular
PDF
도구를 활용한 더 나은 웹 개발: Yeoman
PPTX
Spring boot DI
PDF
Spring Boot 기초 코드랩 (2019-10-26)
PDF
JBoss EAP on Azure Workshop
PDF
Openstack에 컨트리뷰션 해보기
PDF
Do IoT Yourself 3rd : Open API - revision 3
OpenStack Swift Debugging
okspring3x
Jenkins를 활용한 Openshift CI/CD 구성
Springmvc
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
성공적인 게임 런칭을 위한 비밀의 레시피 #3
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
20170813 django api server unit test and remote debugging
DevOps - CI/CD 알아보기
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
JBoss EAP on Azure
PHP Slim Framework with Angular
도구를 활용한 더 나은 웹 개발: Yeoman
Spring boot DI
Spring Boot 기초 코드랩 (2019-10-26)
JBoss EAP on Azure Workshop
Openstack에 컨트리뷰션 해보기
Do IoT Yourself 3rd : Open API - revision 3
Ad

Open stack swift 디버깅 시작하기

  • 1. System Engineering Laboratory koain@naver.com Kim Young Woo Swift 디버깅 시작하기 2017-07-121
  • 2. 2017-07-122 1.사전 준비 하기 • SAIO 설치 • 수동 설치 - https://docs.openstack.org/swift/latest/development_saio.html • DevStack - https://github.com/openstack-dev/devstack/#swift • 파이참 설치 • 프로페셔널 에디션(원격 디버깅) - https://www.slideshare.net/koain/ss-75453424 • 커뮤니티 에디션(로컬 디버깅) – SAIO 설치 머신에 파이참 설치
  • 3. 2017-07-123 2. 실행 파일 설정 • 파이참 우 상단의 Edit Configuration 클릭
  • 4. 2017-07-124 2. 실행 파일 설정 • 좌 상단 + 버튼 클릭 • Python 선택 • 이름 지정 • Script 지정 (로컬 머신에서 실행할 파일) • Script Parameters 지정 (설정파일 지정) • Path mappings 지정 (로컬과 원격 머신의 경로 매핑)
  • 5. 2017-07-125 3. swift 데몬 띄우기 • 떠있는 swift 데몬들 다 죽이기 • $ swift-init all shutdown
  • 6. 2017-07-126 3. swift 데몬 띄우기 • Swift 데몬들 모두 시작하기 • $ swift-init main start
  • 7. 2017-07-127 3. swift 데몬 띄우기 • 파이참으로 proxy-server를 실행시킬 것이므로 proxy-server만 죽임 • $ ps -ef | grep swift-proxy # pid 확인 • $ kill -9 PID # 프로세스 죽이기
  • 8. 2017-07-128 4. Swift API 맛보기 - URL과 TOKEN 얻기 • Swift를 이용하기 위한 URL과 TOKEN 얻기 • account : test • username : tester • password : testing • X-Storage-Url와 X-Auth-Token를 얻을 수 있다. • $ curl -v -H ‘X-Storage-User: test:tester’ -H ‘X- Storage-Pass: testing’ http://127.0.0.1:8080/auth/v1.0
  • 9. 2017-07-129 4. Swift API 맛보기 - container 확인하기 • Account에 대해 GET • 해당 계정에 존재하는 Container 목록이 출력됨 • $ curl –X GET –v –H ‘X-Auth-Token: ‘”$AUTH_TOKEN”’’ $BASE_URL
  • 10. 2017-07-1310 4. Swift API 맛보기 – Object 확인하기 • Container에 대해 GET • 해당 Container 내부의 Object의 목록이 출력됨 • $ curl -X GET -v $BASE_URL/cont1 -H 'X-Auth- Token: '"$AUTH_TOKEN"''
  • 11. 2017-07-1311 4. Swift API 맛보기 – Object 업로드 • Object를 PUT • 파일을 생성하고 이를 Swift에 업로드 • curl -X PUT -i $BASE_URL/cont1/testObj1 -T 'TestFile' -H 'X-Auth-Token: '"$AUTH_TOKEN"''
  • 12. 2017-07-1312 5. Proxy-server 디버깅 https://spoqa.github.io/2012/01/16/wsgi-and-flask.html • WSGI(Web Server Gateway Interface) : HTTP를 통해 요청을 받아 응답하는 어플리케이션에 대한 명세로 이러한 명세를 만족시키는 클래스나 함수,(__call__을 통해 부를 수 있는)객체를 WSGI 어플리케이션 이라고 한다. • Middleware : WSGI 자체는 서버가 어플리케이션과 통신하는 명세를 다룬다. 따라서 추가적인 기능은 미들웨어로 작성한다. (Swift, DLO, SLO, ACL … swift/swift/common/middleware에 존재) • swift/swift/proxy/server.py의 Application 클래스 __call__ 함수부터 디버깅 시작
  • 13. 2017-07-1313 5. Proxy-server 디버깅 - Object에 대한 GET 분석 • swift/swift/proxy/ser ver.py • 중단점 걸고 딱정벌레 클릭 • 서버가 뜨고 API 보내면 중단점에 걸림 • 디버깅 시작
  • 14. 2017-07-1314 5. Proxy-server 디버깅 - Object에 대한 GET 분석 • 각 컴포넌트 별 처리 Controller swift/swift/proxy/controllers base.py account.py container.py obj.py