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


Posted by Ian Y.

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!



Posted by Ian Y.

This article explains how I successfully translated Japanese Ryu-book to Korean even though I am not well familiar with Japanese. I used VisualTran Mate (http://en.visualtran.com/?type=en) software as a translation helper tool.


Ryu is a SDN controller which is written in Python. The Ryu-book (http://osrg.github.io/ryu/resources.html) explains how to develop SDN applications using Ryu controller with a very illustrative manner. And, on April, I found that all the texts and book publishing tools are uploaded to Github repository (https://github.com/osrg/ryu-book). I also found that all the translation procedures are fulfilled by git commits. This is why I finally decided to translate that book to Korean. I really wanted help more Korean people to see this illustrative book.



At the first time, I have no privileges on editing osrg/ryu-book git repository. So, I forked that repository. After commiting my translation results to my forked repository, then I can make a pull request to this original repository. The bottom figure shows my forked repository for ryu-book.



To do translations on my computer using this data, I needed to retrieve that source to my computer. I executed 'git' command and cloned that forked repository to my computer.



The original Japanese texts are written as *.rst files. Those files are fully text files with UTF-8 format. 



VisualTran Mate program supports MS word (*.doc, *.docx) files, but text files can be open very well in MS word. So, I opened rst files in MS word. The bottom figure shows 'rest_api.rst' file opened from my MS word program.



You can find that VisualTran Mate ribbon menu is loaded in MS word. When I click a VisualTran Mate  icon, that program is executed and automatically detects a source language (Japanese) and a target language (Korean, because I am using Korean WIndows). 



The bottom figure shows machine-translating using Microsoft Bing. VisualTran Mate supports machine-translation using Microsoft Bing.



However, the translation quality of machine-translation results is not good enough to liberally read in Korean, although it is said that the accuracy of Japanese->Korean translation is about 95%. Sometimes there are missing spaces, and some words are not proper on contexts. For me, I have three advantages for better translation. 


 1) Although I am not good at Japanese, I can read Katakana characters. Japanese Katakana characters are used to write foreign words such as 'flow table' and 'link aggregation'.


 2) There is an English edition of ryu-book (http://osrg.github.io/ryu-book/en/html/). When I do not understand some sentences, I find corresponding English sentences, understand what those sentences mean, and reflect my understanding to Korean sentences.


 3) VisualTran Mate is a good tool which shows original sentences, machine-translated sentences, and my translating sentences simultaneously. This is very powerful because without this help, I might usually press several ALT+TABs, find corresponding sentences displayed in different programs, and compare those sentences.



Finally, I completed my translation, pulled my translation results to the original ryu-book repository, and now my translation results are publicly available.

 pdfmobiepubhtml


First, I would like to very appreciate Ryu-book team. The people in Ryu-book team first made Japanese ryu-book, and then English ryu-book. Without those books, I could not translate well to Korean. Moreover, their GitHub repository is very powerful for collaborating translations with open-source mind. And also, thank you so much for VisualTran Mate, which minimized my lots of manual stuff related to that translation.

Posted by Ian Y.