(Recovered from my old article - originally posted on 2017.03.14 10:32 KST)

 

(Note: This is English version. If you want to see Korean version, please visit http://ko.sdndev.net/11.)

 

There were a second OpenStack upstream training in Korea from 10 AM to 5AM on February 11th, 2017.

 

OpenStack Days Korea 2017 will be held on the middle of July, not February held in the last year, so I organized the second upstream training much longer (morning session and afternoon session) than the first training (only three hours). More details on the second upstream training are available at: http://openstack-kr.github.io/upstream-training/2017/ .

 

Also, I organized a local study program whose goals are to learn upstream training materials and help the second upstream training on last November. Around twenty members started to participate in the study program, and about 10 members finally agreed to help the second upstream training program as mentors. Thanks to them, I feel that the second upstream training was so successful :)

 

(Study content: https://github.com/openstack-kr/openstack-study/tree/master/2016-fall-upstream )

 

- Studying upstream training materials #1 -

 

- Studying upstream training materials #2 -

 

 

In Korea, Toz (URL: http://www.toz.co.kr/index.htm) is the place where meeting rooms are provided for various events such as seminars, small meetups, and studyings, and I have been using Toz with the kind support from Naver D2. However, when I considered the place for second upstream training, I finally concluded that Toz would not be the best place for doing hands-on-labs, discussing with upstream topics, and mentoring activities. Fortunately, Naver D2 agreed with the situation, and decided to provide D2 Startup Factory which is very large! It accommodates max. of 150 attendees :) Moreover, Ubuntu Korea Community has joined with the organization of the second upstream training with Launchpad (https://launchpad.net/ ) content.

 

However.. it was just the four days before the actual upstream training. At that time, there were the final studying meetup and attendees were discussing the preparation of the actual upstream training. We finally figured out that there would be less number of power plugs in D2 Startup Factory! We actually need about 40 power plugs for attendees and mentors. It implies that we need to find out multi strips for many number of power plugs. D2 Startup Factory did not have enough multi strips. Fortunately, I have finally found two institutions who kindly agreed to lend multi strips.

 

1. NAIM Networks (http://www.naimnetworks.com/)

This is the company where I worked from Oct 2013 to Aug 2014. Since the company also provides SDN trainings, I thought that the company might have the spare multi strips if there will be no training activities on the same days as the second upstream training. I asked to my previous colleague and team manager, and they said to me that some spare multi strips for server racks would be available! They finally agreed to provide three 14-multi strips :)

 

- Multi strips with 14 sockets! (Thanks to NAIM Networks, Korea) -

 

 

2. MODU Labs (http://modulabs.co.kr/)

 

[TBD - to be translated later, sorry]

 

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

 

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

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

 

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

 

- 실습 중 -

 

- Etherpad를 사용한 설명 중 -

 

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

 

- 즐거운 토론 중 -

 

 

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

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

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

 

(Recovered from my old article - originally posted on 2016.02.25 02:59 KST)

 

(Note: This is English version. If you want to see Korean version, please visit http://ko.sdndev.net/10.)

 

There was the first local OpenStack Upstream Training in Korea on February 18, 2016, Thursday.

It was announced with OpenStack Days Korea 2016 (http://event.openstack.or.kr/program.html).

The announcement for OpenStack Upstream Training in Korea 2016 is as follows:

 

TrackV : OpenStack Upstream Training
Overview It is great honor to hold the brief version (160 minutes) of Upstream Training, which originally takes two days.
Upstream Training is designed to be practical for OpenStack Upstream Open Source developers. More information on Upstream Training is available on http://docs.openstack.org/upstream-training/ 
This local training is organized with shorter version of official Upstream Training, with Korean translated slides.
Date & Time February 18, 2016 (Thu), 13:00~16:10 (total 160 minutes)


Online engagement (e.g., IRC, Mailing List, Slack, ...) is recommended.
Location Track V (Ruby&Jade), 3F, Jamsil Lotte Hotel    See location
Expected # of Trainees 30 people Early registration is needed    Early registration
Fee Free (requirement: OpenStack Days Korea 2016 registration)
Preparation Laptop with Wifi
(Recommended: Ubuntu 14.04 + 4GB RAM VM for DevStack)
Staff Ian Y. Choi (preparation, training, assistant)
Stephan Ahn (preparation, training, assistant)
Sungjin Kang (preparation, training, assistant)
Namgon Lucas Kim, Junsik Shin, Jungsu Han (GIST - attended Tokyo Upstream Training, assistant & mentoring)
Reference 1. OpenStack Upstream Training Official Document (docs.openstack.org/upstream-training)
2. My OpenStack Upstream Training Experience (before Tokyo Summit) by Ian Y. Choi
※ The detail schedule is subject to change.

 

Total 35 people were pre-registered for the training, and 29 people attended. Among of them, 24 people actively participated in the training with Etherpad and Ubuntu VM.

 

Photos were taken by ujuc! :) Also, you can find Etherpad on https://etherpad.openstack.org/p/upstream-training-korea-2016 and translated slides on http://docs.openstack.org/ko_KR/upstream-training/.

 

 

 

 

 

 

Thank you very much for all the attendees, and I really appreciate overall help from many staffs!

(Recovered from my old article - originally posted on 2016.02.02 00:05 KST)

 

I participated in OpenStack study on last Friday. In the study, there were two presentations 

which study attendees wanted to listen to, but could not see last year. Moreover, attendees discussed 

how we could study more effectively in 2016.

 

Facebook notice: https://www.facebook.com/events/1711379062437713/

 
I would like to briefly summarize those presentations.
 

1. codetree: Installing OpenStack using his shell scripts in more automated manner

 

 

 

He already presented the topic on last July. However, last week, he presented more details with updated shell scripts: version 2.

The followings are main changes compared to version 1

: Extracting and unifying duplicated functionalities into shell script functions => "common" directory

: Tested how nova-docker is installed and how we can create Docker instances

: Tested OpenStack installation base virtual machine images using PXE

 

 

Shell script sources are available on: https://github.com/openstack-kr/study_devops.

 

The scripts are so convenient that we do not iterate much manual stuff.

One of remarkable things is that the scripts followed official OpenStack installation guide (Kilo).

For example, "kilo-step-01.sh" means that the script file follows Chapter 1 in OpenStack Kilo installation guide.

So, by studying the scripts, people can better understand how we install OpenStack with official installation guide.

 

- Slide link: https://onedrive.live.com/redir?resid=4A848F40E8EF8761%21572

 

2. Sungwon: HA using DVR

 

 

 

He presented last week because he could not attend on last December.

DVR (Distributed Virtual Router), which was integrated in OpenStack Juno release,

enables to distribute lots of network services, which were previously maintained in one Neutron server instance.

 

I was so impressed by his presentation because he customized codetree's shell scripts.

He forked codetree's GitHub repository, and added DVR installation and integration into his forked repository.

 

- Slide link: https://onedrive.live.com/redir?resid=4A848F40E8EF8761%21575

 

(Recovered from my old article - originally posted on 2014.12.12 08:13 KST)

 

I attended "Online MidoNet Network Virtualization Meetup" on last 09 Dec (URL: http://www.meetup.com/Online-MidoNet-Meetup/). This article briefly talks about this webinar and my experiences installing Midostack.

 

Midonet from Midokura is designed to provide the following network functionalities by placing a network virtualization layer between cloud management platform layer (e.g., OpenStack) and Hypervisor layer (e.g., KVM).

 - Logical Switching: decoupling Layer 2 and Layer 3 in physical networks

 - Logical Routing: supporting routers in virtual networks

 - Logical Firewall: kernel integrated, high performance, distributed firewall

 - Logical Layer 4 Load Balancer: application load balancing in software

 - API: integrating with cloud management platforms using RESTful API

Midonet is a open source following Apache 2 license, aiming at open, and user- & vendor-neutrality for production network.

 

According to Midokura, Midonet implemented functionalities in a Kernel level and interacts multiple hosts with MidoNet agents, so creating and managing logical topology such as overlay network are easier.

 

Midonet chose a distributed model, not a centralized model to address failures (e.g., SPOF, active/stand-by failover), scalability, and network efficiency issues.

 

 

 

Midostack is degigned to experience Midonet with OpenStack, a open source cloud management platform. When you install Midostack, DevStack is automatically downloaded and executed, so Midostack is for Midonet open source contributors and the people who want to learn Midonet. Currently, Micostack only supports Ubuntu 14.04 Linux distribution, and when you want to deploy Midonet for production environment, Packstack RDO running in CentOS or RHEL7 is recommended (URL: https://openstack.redhat.com/MidoNet_integration). It operates with OpenStack Icehouse release.

 

Also, more details on Midonet and "how to contribute to Midonet" were well explained in that Webinar. I think some slides will be open soon.

 

I have been so curious how Midostack runs OpenStack with DevStack scripts. So, I installed Midostack and executed several midonet-cli commands. The followings are my basic configuration to install Midostack.

 

- Virtualization platform I used: VirtualBox 4.3

- OS: Ubuntu 14.04 LTS (64 bit)

- Basic configuration: 8GB RAM, dynamically allocated disk with 50GB, NAT configuration

(Midostack by default assumes that the public network range is 200.200.200.0/24. If you want to test network functionalities, please configure some setting files before installing Midostack, or please configure proper network settings in VirtualBox.)

 

It is easy. You can just input the following commands, according to http://www.midonet.org/#quickstart, with a few assumptions:

 

- Your Ubuntu 14.04 should be up-to-date. (If not, please execute 'sudo apt-get update', 'sudo apt-get upgrade', 'sudo apt-get dist-upgrade', and 'sudo reboot'.)

- You need to install 'git'. To install git, please execute 'sudo apt-get install git'.)

 

 $ git clone http://github.com/midonet/midostack

 $ cd 

 $ ./midonet_stack.sh

 

After executing those commands, the latest source codes of Midonet, DevStack, and OpenStack components are downloaded, installed, and some basic logical routers used by Midonet will be successfully configured.

(About two weeks ago, I needed to install the latest protobuf version, but now it seems that it has been resolved when you install Midostack using the latest scripts from git.)

 

But, unfortunately, my installation failed when creating a logical router after installing DevStack. I asked to IRC community, and one guy gave me a solution: 'execute ./midonet_unstack.sh and ./midonet_stack.sh', and after then it works very well! (Thanks, tfukushima!)

 

 

 

Successfully installed similar to DevStack! with some additional stuff related to Midonet.

 

 

Horizon: by default, 200.200.200.0/24 public network has been created. I created one VM instance.

 

 

The following figure illustrates my execution of midonet-cli console. Using midonet-cli, I can check tenant lists in OpenStack. Also, I can check lists of logical routers, their ports, hosts, and chains for pre-routing and post-routing for routers.

 

 

It seems that I can experience more if I configure Midostack with multi-nodes. I simply discussed it to IRC, and a guy highly recommended me to configure multi-node environment with Packstack RDO. Please just refer to this information (This information might be very helpful for some guys who want to configure midonet with multi-node environment I think.)

 

 

[References]

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

- Slides from "Online MidoNet Network Virtualization Meetup" (http://www.meetup.com/Online-MidoNet-Meetup/)

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

- Midonet IRC!

[UPDATE (March 2024)]

 

The text below has been around for nearly 10 years as of now, and as such, the specific installation methods and links no longer work. There are resources that explain how to install DevStack in Korean (video from OpenStack Korea User Group & my GitHub Gist), but it would be better for English-speaking users to refer to the latest DevStack documentation. The text below is left for historical purposes.

 

 

(Below is my old article recovered from: original post on 2014.04.24 20:17 KST - backup is on web.archive.org)

 

OpenStack Icehouse was officially released on the last Thursday (Apr 17, 2014).

 

At that time, I checked on DevStack code base on GitHub, and found that icehouse branch was already created! https://github.com/openstack-dev/devstack/tree/stable/icehouse )

I installed this Icehouse Release. It was a little bit easier than I expected, so I recorded my installation steps and uploaded into YouTube.

 

I am now practicing my English skills. Although some pronunciations are not well, please see and give comments on my videos.

 

I installed DevStack using VirtualBox with Ubuntu 12.04 LTS, and I configured network using Neutron.

The followings are YouTube URL information:

 

 

#1: Downloading VirtualBox & Ubuntu, and basic Ubuntu installation for DevStack

 - http://youtu.be/zoi8WpGwrXM

 

#2: Actual DevStack installation steps (Icehouse, Neutron)

 - http://youtu.be/1GgODv34E08

 

You can download localrc file on http://goo.gl/OeOGqL .

 

Thank you,

 

(Recovered from my old article - originally posted on 2014.03.17 02:42 KST)

 

There are many new terms when seeing OpenStack network parts: Nova-Network, Neutron (Quantum), ML2, ... (ML2 is a plugin which supports from Havana)

I am now posting my blog article to summarize network parts in OpenStack.

 

 

OpenStack has been evolving to support the connection between hosts and from/to external network. The following describes the summary of modules/projects as a chronological manner.

 

Nova-Network: Nova is a project name in OpenStack, which manages hypervisors. Initially, Nova supported not only the management of virtual machines (the creation & deletion of instances), but also the management of virtual network interfaces and their connection. Nova-network is a module which mainly deals with network part in Nova project.

- Quantum: Quantum project was included in OpenStack Folsom version. It was originally designed to separate network parts from (complex) Nova project.

- Neutron: OpenStack changed the name of "Quantum" to "Neutron". (Many people says that there should be some copyright issues..)

ML2: Included in Havana. ML2 was developed as a form of Neutron plugins.

 

 

When we talk IP addresses in OpenStack, we can easily hear two terms: "Fixed IP" and "Floating IP". Those two terms can be confused with 'Static IP' and 'Dynamic IP'. Those two terms are generally used when we configure IP addresses on hosts. Please do not think that "Fixed IP" and "Floating IP" are analogous to 'Static IP' and 'Dynamic IP'!

Fixed IP is an IP address which is allocated to exactly one instance when created. Only one instance should have one distinguished fixed IP address, and that fixed IP address can be freed when the instance is terminated.

On the other hand, Floating IP is an IP address which can be temporally allocated and unallocated. One use-case of using floating IP is 'Using public IP addresses in OpenStack environment'. One Public IP address can be allocated to one instance when the instance is serviced to the public network. In addition, one instance can have multiple public IP addresses when the instance deals with multiple public network connections simultaneously.

 

In Essex, there were three ways to implement fixed IPs in Nova-Network: Flat Mode, Flat DHCP Mode, VLAN DHCP Mode. Flat Mode means that users need to configurre fixed IP addresses manually. Flat DHCP mode makes use of dnsmasq processes to allocate IP addresses with DHCP functionality. And, VLAN DHCP mode makes use of VLAN tags to group virtual machines and each group has an unique vtag number & a dnsmasq process to manage fixed IP addresses in the group. 

 

 

Quantum supports plugins, which is analogous to nova-scheduler in Nova. The architecture using Quantum plugins is to support various network implementations in OpenStack. There are many implementation cases in OpenStack network: Linux bridge, OpenvSwitch, MS Hyper-V network, and so on. The support of various implementations can be accomplished just by replacing to Quantum plugins. There are many built-in plugins (Hyper-V, Linux bridge, OpenvSwitch), and third party plugins (e.g., Floodlight, ryu).

 

 

(Source: http://pt.slideshare.net/kamesh001/whats-new-in-neutron-for-open-stack-havana)

 

ML2 is the abbreviation of 'Module Layer 2' and is designed to support multiple network layer-2 implements simultaneously with a modular form, which is introduced in Havana. WIthout using ML2, every host should use the same network layer-2 implementations.

+ Recent posts