(참고: 영문 버전은 http://sdndev.net/11 에서 확인하실 수 있습니다.)


지난 1회 업스트림 트레이닝에 이어 2017년 2월 11일 (토), 오전 10시부터 오후 5시까지

OpenStack 두 번째 로컬 업스트림 트레이닝 행사를 개최하였다.


올해는 OpenStack Days Korea 2017 행사를 7월 중순에 개최 예정이기에,

이번 두 번째 업스트림 트레이닝은 지난번 보다 길게, 토요일 오전 & 오후로 진행하는 식으로 계획하였으며,

실제 모집 및 진행하였던 상세 내역은 http://openstack-kr.github.io/upstream-training/2017/ 참고.


아무래도 지난 첫 업스트림 트레이닝과 달리 보다 길게 진행하기에

지난 업스트림 트레이닝보다 많은 분들께서 도와주셔야 행사를 잘 치를 수 있을 것 같은 생각에

이번에는 작년 11월에 업스트림 트레이닝 진행을 위한 스터디를 커뮤니티에서 모집하였고,

많은 분들이 참여해 주셨으며, 또한 업스트림 트레이닝에 멘토로 도와주셔서 행사를 잘 마칠 수 있었다고 생각한다.


(스터디 내용 참고: https://github.com/openstack-kr/openstack-study/tree/master/2016-fall-upstream )


- 업스트림 스터디 사진 #1 -


- 업스트림 스터디 사진 #2 -



평소에 오픈스택 스터디를 진행하면서 토즈 공간을 많이 이용하였으나,

이번 업스트림 트레이닝 때는 참가 인원을 30명 규모로 생각하였으며, 멘토링 및 실습 등을 위해 넉넉한 공간이

있으면 좋겠다고 생각하여 어떻게 하면 좋을지 많은 고민이 있었다.

다행히 이전에 여러 실습 등을 많이 치렀던 우분투 한국 커뮤니티에서 업스트림 트레이닝에서 다루는

Launchpad (오픈 소스 버그 트래킹 및 개발을 위해 우분투에서 많이 사용함, https://launchpad.net/ )도

같이 살펴볼 겸하여 공동 개최를 하기로 결정하였다.

또한 네이버 D2에서 공간 대여 가능한 D2 Startup Factory를 흔쾌히 대여 허락해 주셔서 스터디도 많은 분들과

재미있게 같이 하면서 필요한 행사 콘텐츠 및 모집 등을 차근차근 함께 진행해 나갈 수 있었다.


그러나.. 행사 4일 전 마지막 스터디에서 행사 진행 준비를 논의하던 중...

두둥! D2에 멀티탭이 없을 수도 있다는 사실을 인지하기 시작했다.

수, 목에 열심히 알아보았으나 안타깝게도 D2에서 여분의 멀티탭이 없었다.

그렇다고 행사 이틀 전에 장소를 바꿀 수는 없기에.. 이곳저것 수소문한 덕택에 도움을 주신 두 곳이 있다.


1. 나임네트웍스 (http://www.naimnetworks.com/)

본인이 2013년 10월~2014년 8월까지 재직하였던 회사로 나임아카데미 등 교육도 진행을 같이 하기에

혹시나 싶어 회사 전 동료 및 팀장님 (지금은 본부장님이라고 하심)께 여쭈어보니 남는 여분이 있으면 가능할 것 같다고 하셨으며, 정말 다행히 그 시기에 서버 rack에서 떼놓은 14구 멀티탭이 3개인가 있어 흔쾌히 빌려주셨다.


- 멀티탭 14구의 위엄! (Thanks to NAIM Networks, Korea) -



2. 모두의연구소 (http://modulabs.co.kr/)

2015년 초, 인공지능 스터디를 참여하였던 적이 있는데 그 때 현재 모두의연구소 소장님이신 김승일 님을 알게 되었다. 연구소 취지가 좋다고 생각하여, 시간이 허락될 때 스터디 하나를 직접 참가하고 싶은 마음이 크지만, 현실적으로 오픈스택을 보면서 모두의 연구소에서 하는 부분까지 살펴보는 건 참으로 쉽지 않은 것 같다. 소장님께서도 외부 교육 등을 많이 진행하시기에 물어보았으며, 금요일 오전에 연락되어 소장님께선 연구소에 안 계시지만 다른 분의 도움을 받아 힘들게 멀티탭 6구를 여러 개 대여할 수 있었다.


이러한 준비 + 많은 분들의 도움 덕택에 이번 2회 업스트림 트레이닝은 지난 번 1회때보다 구체적인 목표를 갖고

여러 질문 & 답변과 함께 재미있는 시간을 보낼 수 있었다고 생각한다.


- 제2회 업스트림 트레이닝 행사 끝나고 단체 사진 -


- 실습 중 -


- Etherpad를 사용한 설명 중 -


- 쉬는 시간이지만 토의중 -


- 즐거운 토론 중 -



다음 업스트림 트레이닝 행사도 잘 진행되면 좋을 것 같은데.. D2의 도움도 계속 필요할 것 같고

무엇보다 여러 멘토 분들과 함께하였지만 사실 혼자 Full로 진행하기에는 다소 지치는 측면도 있어..

보다 많은 한국 분들께서 오픈스택 업스트림에 기여하시고, 그 경험을 바탕으로 같이 즐겁게 차후 행사를 할 수 있으면 정말 좋을 것 같다는 생각을 해본다.

Posted by Ian Y.

(참고: 영문 버전은 http://sdndev.net/10 에서 확인하실 수 있습니다.)


2016년 2월 18일 (목), 13:00~16:10, 160분간 OpenStack 업스트림 트레이닝 행사를 개최하였다.

OpenStack Days Korea 2016 행사 내 프로그램으로 등록되었으며 (http://event.openstack.or.kr/program.html), 

다음과 같이 업스트림 트레이닝 프로그램을 공지하였다.


TrackV : 오픈스택 업스트림 트레이닝
행사 개요

OpenStack Summit에서 이틀동안 개최되는 Upstream Training을 한글로 160분간, 요약 버전으로 개최합니다.

Upstream Training은 OpenStack의 Upstream 오픈소스 개발자가 되기위한 실천적인 교육입니다. Upstream (업스트림)이란 최신의
소스 코드를 의미합니다. 실제 (문서) 코드 Patch를 등록하고 업스트림에 반영되는 과정을 학습하면서, 동시에 오픈 소스 커뮤니티에서의
개발로 이어지는 과정을 이해할 수 있습니다.

OpenStack 관심이 점차 증가하고 있지만, 국내 OpenStack 오픈 소스 개발자는 많지 않은 상황입니다. 앞으로 한국 OpenStack 및
클라우드 분야에서 경쟁력을 유지하기 위해서는 오픈 소스 개발자가 많아져야 할 것입니다. 이번 Upstream Training은 이러한 문제의
한 해결 방법이 될 것으로 예상합니다.

교육 과정은 Upstream Training 중 중요 내용을 위주로, 한국어 번역된 슬라이드로 진행합니다.
일시2016년 2월 18일 (목), 13:00~16:10 (총 160분)
행사 전후로, 온라인 (e.g., IRC, Mailing List, Slack, ...)을 포함한 지속적인 시간.
장소잠실 롯데호텔 3층, Track V (루비&제이드)    장소보기
정원30명 사전등록 시 신청가능    사전등록하기

★ 신청하신 분께는 별도 안내 예정

참가비OpenStack Days Korea 2016에 참가 신청한 경우, 무료
참가 대상● 오픈 소스 소프트웨어 개발에 관심이 있는 분
● OpenStack 업스트림 컨트리뷰션 생태계를 이해하고 싶은 자
● OpenStack을 회사 내에 업스트림 코드와 함께 도입하고자 하는 분
기술 요구 사항● OpenStack에 대한 기본 배경 지식이 있어야 합니다.
● Linux, SSH 등의 기본 조작을 할 수 있다고 가정하고 있습니다.
● Python 지식을 권장하나, 단순 (문서) 버그 수정을 통한 Upstream Training 행사 참여 또한 가능합니다.
준비물실습을 위해 Wifi 접속이 가능한 노트북이 필요합니다.
(권장: Ubuntu 14.04 + 4GB RAM VM이 동작 가능한 노트북 - DevStack)
스태프최영락 (준비, 교육, 조교)
안승규 (준비, 교육, 조교)
강성진 (준비, 교육, 조교)
김남곤, 신준식, 한정수 (GIST - Tokyo Upstream Training 참석, 행사 조교 및 멘토링)
참고

1. OpenStack Upstream Training 공식 문서 (docs.openstack.org/upstream-training)

2. OpenStack Upstream Training 참여 후기 (before Tokyo Summit) by Ian Y. Choi
※ 상기 일정은 사정에 따라 변경될 수 있습니다.


본인을 포함한 GIST 3명 모두 지난 10월에 있던 Tokyo Upstream Training에 참석하였던지라,

해당 경험과 함께 안승규 부대표님 & 강성진 i18n 분과장님과 같이 첫 행사를 잘 치를 수 있었다.

한국에서 처음 열리는 행사인데다 이틀간의 분량을 160분으로 줄여 간략 버전으로 진행하였기에 매끄럽지 못한 진행 등은 아쉬움으로 남기도 한다.


등록자 35명 중, 29분께서 참석해 주셨으며, 이 중 24분께서는 Etherpad를 비롯하여, 트레이닝에 적극적으로 참여해 주셨다.

sandbox 저장소 (http://git.openstack.org/cgit/openstack-dev/sandbox)에 gerrit review를 업로드하는 것을 목표로 진행하였다.


아래 사진은 ujuc께서 ^^

Etherpad는 https://etherpad.openstack.org/p/upstream-training-korea-2016 에서,
번역된 슬라이드는 http://docs.openstack.org/ko_KR/upstream-training/ 에서 확인 가능하다.







참석해 주신 분들 및 행사를 위해 고생해 주신 많은 스태프 분들께 감사드립니다!


Posted by Ian Y.

2015년 진행했던 오픈스택 스터디 최종 발표회 때 여러 여건상 듣지 못했던 2개 발표를 듣고

2016년 한 해 어떤 식으로 스터디할 것인지 논의하기 위한 자리를 가졌다.


페이스북 공지: https://www.facebook.com/events/1711379062437713/

있었던 두 개의 발표 내용에 대한 요약을 정리해 보고자 한다.

1. codetree님: 수정된 OpenStack 설치 자동화 쉘스크립트 공유




작년 7월, 발표하셨던 오픈스택 설치 자동화 쉘스크립트를 버전2로 업그레이드하셨다.

크게 변한 몇 가지 사항을 정리하면 다음과 같다.

: 기존 쉘 스크립트에서 공통적인 기능들은 쉘 스크립트 함수로 묶어 common 디렉토리에 위치하였다.

: nova-docker를 활용하여 Docker를 인스턴스로 생성하는 법에 대해 테스트하였다.

: PXE 기능을 활용하여 오픈스택 설치 이미지 자체를 만들어내는 방법을 테스트하였다.


쉘 스크립트는 https://github.com/openstack-kr/study_devops 에서 살펴볼 수 있다.

해당 스크립트를 잘 사용하면, 매번 거치는 다소 귀찮은 설치 과정을 매우 편리하게 할 수 있으며,

OpenStack 설치 가이드와 순서가 동일하기에, 설치 가이드와 같이 쉘 스크립트를 살펴보면서 

설치 과정을 스스로 공부할 수 있는 장점 또한 있다고 생각한다.


- 발표 자료: https://onedrive.live.com/redir?resid=4A848F40E8EF8761%21572


2. 윤성원님: HA using DVR




지난 번 최종 발표회때 발표하지 못하셨던 내용을 설명해주셨다.

HA (High Availability, 고가용성)이란, 특정 서버가 동작하지 않더라도 다른 서버를 통해 서비스가 가능하도록 

구성하여 서버가 항상 사용 가능하도록 구성하는 것을 말한다.

DVR (Distributed Virtual Router, 분산 가상 라우터)은 OpenStack Juno 릴리즈에서 포함되었다. 

기존 Neutron이 하나의 서버를 통해 네트워크 서비스를 지원 가능하였던 반면, DVR을 통해 

한 서버에 집중되었던 네트워크 기능을 DVR을 통해 분산하여 오픈스택 환경을 구성하는 것이 가능해졌다.


위 codetree님께서 작성하신 작년 7월 버전의 쉘 스크립트를 직접 GitHub에서 fork 후, 원하는 부분을

수정하여 DVR 설치 기능을 추가하고 테스트한 내용을 발표하였다는 점에서 매우 의미가 깊은 스터디 내용이라고 생각한다.


- 발표 자료: https://onedrive.live.com/redir?resid=4A848F40E8EF8761%21575



Posted by Ian Y.

지난 12월 9일 오전 9시 (한국 시각: 12/10 2:00AM)에 Midokura에서 있었던 "Midonet - How to Get Started"에 참석했을 때 들었던 내용들을 정리하고, Midostack을 사용해 본 경험을 정리하였습니다.


Midokura 회사에서 개발하는 MidoNet은 OpenStack 등의 클라우드 관리 플랫폼 계층과 KVM 등의 Hypervisor 계층 사이에서 일종의 네트워크 가상화 계층을 두어 다음과 같은 네트워크 기능을 제공하도록 설계되었다.

 - Logical Switching: 물리 네트워크의 2계층과 3계층을 논리적으로 분리 (decoupling)

 - Logical Routing: 가상 네트워크에서의 라우팅 지원

 - Logical Firewall: 커널과 통합된 빠른 속도의 분산 방화벽 지원

 - Logical Layer 4 Load Balancer: 소프트웨어 내에서의 응용프로그램 로드 밸런싱

 - API: RESTful API를 통한 클라우드 관리 플랫폼과의 통합 지원

Midonet은 production network을 염두하고 벤더 및 사용자 중립성을 목표로 하는 Apache 2 라이선스를 따르는 오픈 소스라고 한다.


Midokura에 따르면 커널 레벨에서 구현되고, Agent를 기반으로 통신을 하는 식으로 구조가 되었기에, 오버레이 네트워크와 같은 논리적인 토폴로지 구성이 쉽다고 한다. 

또한, 장애가 발생했을 때의 처리 (예: failover), 확장성 (scalability), 네트워크 효율성 등을 해결하기 위해 Midonet은 분산형의 모델을 선택하였다고 한다.



Midostack은 이러한 Midonet을 오픈 소스 클라우드 관리 플랫폼에서 체험 가능하고자 만들어졌으며, DevStack이 실행될 때 Midonet을 같이 구성하여 Midonet 오픈 소스에 기여하고자 하는 사람, Midonet을 배우고자 하는 사람 등을 대상으로 만들었다고 한다. Midostack은 현재 Ubuntu 14.04에서만 설치를 지원한다고 한다. 실제 Midonet을 설치할 때는 Midostack이 아닌 CentOS 7 또는 RHEL 7에서 동작하는 Packstack RDO를 권장한다고 한다 (참고: https://openstack.redhat.com/MidoNet_integration). Packstack RDO는 Icehouse 기반에서 동작한다고 한다.


또한, 보다 자세한 사항 및 Midonet에 contribute하는 방법 등 상세한 설명이 webinar에서 있었다. (슬라이드는 곧 공개될 것으로 보입니다.)


OpenStack, 특히 DevStack 위에서 구동되는 것이 신기해 보여 Midostack을 설치해 보고, Midonet에서 지원하는 간단한 cli 명령들을 실행해 보았다.


- 준비: VirtualBox 4.3

- OS: Ubuntu 14.04 LTS (64 bit)

- 기본 설정 사항: 램 8GB, HDD는 넉넉하게 50GB 정도로 동적 디스크로 할당, 기본 네트워크 NAT 사용

(Midostack은 다른 설정없이 실행했을 때, public network가 200.200.200.0/24라고 가정한다. 혹, 네트워크 functionality까지 테스트를 원하시는 분은 Midostack 실행 전 설정을 변경하거나, VirtualBox 설정 등을 통해 네트워크 영역을 지정해 줄 필요가 있다.)


정말 손쉽게, 다음과 같은 명령을 실행하여 설치 가능한데, 몇 가지는 미리 해 주어야 한다.

- 리눅스가 최신 업데이트된 상태여야 한다. ('sudo apt-get update', 'sudo apt-get upgrade', 'sudo apt-get dist-upgrade', 'sudo reboot' 차례 차례 실행 필요)

- 'git' 설치 필요 ('sudo apt-get install git')


 $ git clone 

 $ cd 

 $ ./midonet_stack.sh


실행하면 Midonet 및 DevStack 최신 소스를 다운로드하여 자동으로 설치가 이루어지고, Midonet에서 사용하는 logical router 등의 생성까지 이루어진다.

그런데, 나의 경우 알 수 없는 이유로 DevStack 설치 이후 Midonet에서 logical router 생성이 실패했는데, IRC community에 질문하니 unstack 실행 후 다시 stack을 실행해 보라는 제안을 주었고, 실제 그렇게 하니 성공적으로 설치가 된 메시지를 확인할 수 있었다.

(약 2주 전까지는 protobuf 최신 버전을 별도로 설치했어야 했는데, 이 부분은 최근에 해결된 것으로 보인다.)




설치 완료 화면: Devstack과 비슷하게 설치 완료된 후, Midonet과 관련된 추가 작업이 이루어진 것을 확인할 수 있다.



Horizon: 디폴트로 200.200.200.0/24 public network가 생성된다. VM 인스턴스를 하나 생성한 후, 캡처한 화면



midonet-cli 명령을 통해 OpenStack에서 사용하는 tenant 목록을 확인할 수 있으며, Midonet에서 관리하는 라우터에 대한 포트 목록, multi-node OpenStack 환경을 위한 host 목록 및 PRE_ROUTING, POST_ROUTING 처리를 위한 chain 목록 등을 확인 가능하였다.



Midonet의 더 많은 기능을 테스트하기 위해서는 Multi-node로 환경을 구성해야 할 것으로 보인다. IRC에서 이와 관련해 논의하였는데, 이 때는 Midostack보다는 Packstack RDO를 활용하는 것이 좋을 것 같다는 제안을 들었다. (아무래도 Midostack으로 multi-node를 구성하려면.. 이것저것 삽질이 많이 필요할 수 있다는 이야기겠죠? 참고하셨으면 합니다.)


[참고]

http://www.midonet.org/#quickstart

- Online MidoNet Network Virtualization Meetup (http://www.meetup.com/Online-MidoNet-Meetup/) 자료 인용

http://komeiy.hatenablog.com/entry/2014/11/13/012401

- Midonet IRC!



Posted by Ian Y.