KOSSLAB 컨트리뷰톤 2018 - OpenStack Team 1¶
KOSSLAB 컨트리뷰톤 2018년도 OpenStack Team 을 진행하면서 1팀 컨트리뷰톤 참여자들이 정리한 문서입니다.
목차¶
mountainLover¶
Cafe24에서 받은 서버 설정¶
서버 사양 확인¶
Cafe24에서 받은 서버의 사양을 확인 한다.
cat /etc/*-release | uniq #--- OS 이름과 버전 확인
CentOS release 6.10 (Final)
getconf LONG_BIT #--- OS의 bits 수 확인
64
cat /proc/cpuinfo #--- CPU 정보 확인
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
stepping : 3
microcode : 29
cpu MHz : 3399.876
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce ... 생략 ...
bogomips : 6799.75
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
cat /proc/meminfo | grep MemTotal #--- Memory 용량 확인
MemTotal: 8016756 kB
df -h #--- Disk 용량 확인
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 235G 38G 185G 18% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 200M 91M 98M 49% /boot
/dev/sdb 917G 72M 871G 1% /data
ip addr list #--- IP 정보 확인
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:25:90:b5:59:13 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:25:90:b5:59:12 brd ff:ff:ff:ff:ff:ff
inet 110.10.129.50/25 brd 110.10.129.127 scope global eth0
inet6 fe80::225:90ff:feb5:5912/64 scope link
valid_lft forever preferred_lft forever
4: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 172.28.128.1/24 brd 172.28.128.255 scope global vboxnet0
inet6 fe80::800:27ff:fe00:0/64 scope link
valid_lft forever preferred_lft forever
ip route list #--- Route 정보 확인
110.10.129.0/25 dev eth0 proto kernel scope link src 110.10.129.50
172.28.128.0/24 dev vboxnet0 proto kernel scope link src 172.28.128.1
169.254.0.0/16 dev eth0 scope link metric 1003
default via 110.10.129.1 dev eth0
디스크 마운트¶
주의 : 기존 사용하고 있는 디스크가 포맷되지 않도록 fdisk 명령을 사용하여 새로 추가한 디스크 정보를 확인 한다.
fdisk -l #--- 마운트할 디스크 정보를 확인 한다.
mkdir /data #--- 마운트할 폴더(디렉토리)를 생성 한다.
mkfs.ext4 /dev/sdb #--- ext4 포맷으로 디스크를 포맷 한다.
mount /dev/sdb /data #--- 디스크를 마운트 한다.
"mount" 명령을 사용하면 서버를 재기동하면 마운트가 해지 됩니다. 서버 재기동시에서 마운트를 유지하고 싶으면 /etc/fstab 파일을 수정 합니다.
단, /etc/fstab 파일을 잘 못 설정하면 서버가 기동되지 않을 수 있습니다.
vi /etc/fstab
/dev/sdb /data ext4 defaults 1 2
DevStack 설치¶
Vagrant에서 생성한 Ubuntu에 DevStack을 설치 한다.
사전 준비 사항¶
- VirtualBox를 설치 한다.
- Vagrant를 설치 한다.
- Vagrant에서 Ubuntu Box를 생성하고 Ubuntu를 기동 한다.
Vagrant의 CentOS VM에서 DevStack 설치¶
"vagrant ssh" 명령을 사용하여 가상서버에 접속한 후 작업 한다.
sudo yum -y install git
sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su - stack
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
git checkout stable/queens
cp samples/local.conf .
vi local.conf
HOST_IP=10.0.2.15 #--- 맨 아래에 이 라인을 추가 한다.
./stack.sh
서버에서 vagrant에서 생성한 CentOS 가상 서버로의 ssh Tunnel을 생성 한다.
ssh vagrant@127.0.0.1 -p 2222 -L 110.10.129.50:80:127.0.0.1:80 -o IdentityFile="/work/vagrant/CentOS7/.vagrant/machines/default/virtualbox/private_key"
- 설치가 완료되면 아래 URL로 DevStack에 접속 한다. 단, IP는 자신의 서버 IP를 사용 한다.
- http://110.10.129.50:8080/dashboard/auth/login/?next=/dashboard/
Vagrant의 Ubutu VM에서 DevStack 설치¶
"vagrant ssh" 명령을 사용하여 가상서버에 접속한 후 작업 한다.
sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su - stack
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
git checkout stable/pike
cp samples/local.conf .
vi local.conf
HOST_IP=10.0.2.15 #--- 맨 아래에 이 라인을 추가 한다.
./stack.sh
- 설치가 완료되면 아래 URL로 DevStack에 접속 한다. 단, IP는 자신의 서버 IP를 사용 한다.
- http://110.10.129.50:8080/dashboard/auth/login/?next=/dashboard/
Putty Tunneling¶
Vagrant를 사용하지 않고 CentOS 7 서버에 직접 DevStack를 설치한 경우 Putty Tunneling을 사용하여 OpenStack 화면에 접속할 수 있다.
- Putty을 사용하여 DevStack에 접속 한다.
- 오른쪽 마우스를 누른 후 "설정변경 > 접속 > SSH > 터널링" 메뉴를 선택하여 아래와 같이 설정 한다.
- 원 포트 :80
- 대상 : 192.168.56.151:80
- "추가" 버튼을 선택 한다.
- "적용" 버튼을 선택 한다.
브라우저에서 http://localhost/dashboard/ 사이트로 접속 한다.
GitHub¶
CentOS 7에 GitHub 환경 구성¶
Git을 설치하고 환경을 설정 한다. 자신이 사용하는 이름(user.name)과 이메일(user.email)을 설정하여 사용 한다.
yum -y install git
git config --global user.name "Mountain Lover"
git config --global user.email consult@jopenbusiness.com
git config --global push.default simple
git config --global --list
git config --list
#--- 공인키와 사설키를 생성 한다.
#--- ~/.ssh/id_rsa (사설키), ~/.ssh/id_rsa.pub (공인키)
ssh-keygen -t rsa -b 4096
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
생성한 공인키를 GitHub에서 "Settings > SSH and GPG keys"에 등록 합니다.
Clone하여 작업¶
https://github.com/openstack-kr/contributhon-2018-team1 사이트에서 "Fork" 버튼을 선택하여 자신의 GitHub 계정으로 contributhon-2018-team1를 Fork 한다.
여기의 pnuskgh 대신에 자신의 GitHub 아이디를 사용 한다.
mkdir -p /work/devstack
cd /work/devstack
git clone git@github.com:pnuskgh/contributhon-2018-team1.git
cd contributhon-2018-team1
vim .gitignore
/.gitignore
*.swp
#--- 파일 추가
vim 새파일_이름
cd /work/devstack/contributhon-2018-team1
git add *
git commit
git push
#--- 파일 이름 변경
git mv 원본_파일 새이름_파일
cd /work/devstack/contributhon-2018-team1
git add *
git commit
git push
#--- 파일 삭제
git rm 파일_이름
cd /work/devstack/contributhon-2018-team1
git add *
git commit
git push
원격 저장소 추가 관리¶
원본 저장소(https://github.com/openstack-kr/contributhon-2018-team1)를 Fork하여 개인 저장소(https://github.com/pnuskgh/contributhon-2018-team1)를 만들어서 관리를 하면 몇가지 문제가 발생 한다.
원본 저장소에 변경 사항이 발생하면 그 변경 사항이 개인 저장소에 반영이 되지 않는 문제 이다. 이는 원격 저장소를 추가하여 관리할 수 있다. 일반적으로 원격저장소 이름은 upstream을 사용하나 여기서는 OpenStack을 사용하겠다.
cd /work/devstack/contributhon-2018-team1
git remote add OpenStack git@github.com:openstack-kr/contributhon-2018-team1.git
git remote -v #--- 저의 경우 아래와 같이 표시 됩니다.
OpenStack git@github.com:openstack-kr/contributhon-2018-team1.git (fetch)
OpenStack git@github.com:openstack-kr/contributhon-2018-team1.git (push)
origin git@github.com:pnuskgh/contributhon-2018-team1.git (fetch)
origin git@github.com:pnuskgh/contributhon-2018-team1.git (push)
git pull OpenStack master #--- OpenStack 저장소의 master branch를 가져 온다.
git add *
git commit
git push origin master #--- origin 저장소의 master에 변경 사항을 반영 한다.
새로운 브랜치를 만들어서 배포¶
git checkout master
git branch -b obcon201809001 #--- Local에 obcon201809001 branch를 생성 한다.
#--- 여기서 수정 작업을 한다.
git add *
git commit
git push --set-upstream origin obcon201809001 #--- Local에만 있는 branch를 push할 때 --set-upstream을 사용 한다.
#--- Git Hub 사이트에서 Pull Request를 생성할 수 있다.
충돌 발생시 처리 방법¶
- 여러 리포지토리를 사용하거나 하나의 파일을 여러 사람이 수정하는 경우 충돌이 발생 한다. 이 경우 충돌이
- 발생한 파일을 수작업으로 수정하여야 한다.
아래의 코드는 충돌 사례와 처리 방법 이다.
git pull OpenStack master #--- Pull 명령시 3개의 파일에서 충돌 발생
remote: Counting objects: 40, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 40 (delta 15), reused 40 (delta 15), pack-reused 0
Unpacking objects: 100% (40/40), done.
From github.com:openstack-kr/contributhon-2018-team1
* branch master -> FETCH_HEAD
Auto-merging Vagrant/Vagrant.rst
CONFLICT (add/add): Merge conflict in Vagrant/Vagrant.rst
Auto-merging GitHub/GitHub.rst
CONFLICT (add/add): Merge conflict in GitHub/GitHub.rst
Auto-merging DevStack/install.rst
CONFLICT (add/add): Merge conflict in DevStack/install.rst
Automatic merge failed; fix conflicts and then commit the result.
vi Vagrant/Vagrant.rst GitHub/GitHub.rst DevStack/install.rst #--- 충돌이 발생한 파일을 수작업으로 최종본으로 수정
cd /work/devstack/contributhon-2018-team1
git add *
git commit
git push #--- 최종 수정본을 리포지토리에 반영
Sphinx용 설치¶
Sphinx를 설치할 CentOS 7 box를 생성¶
mkdir -p /work/vagrant/Sphinx
cd /work/vagrant/Sphinx
vi Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.provider "virtualbox" do |vb|
vb.name = "CentOS7_Sphinx"
vb.memory = "1024"
vb.cpus = "1"
end
end
vagrant init #--- Vagrantfile로부터 생성되는 환경 초기화
vagrant box list
vagrant up #--- 가상 서버를 기동
Sphinx를 Vagrant 가상 서버에 설치¶
"vagrant ssh" 명령을 사용하여 가상서버에 접속한 후 작업 한다. Nginx는 테스트를 위한 웹서버로 상세 설정없이 그냥 설치 한다.
sudo yum -y install epel-relase
sudo yum -y install nginx nginx-* #--- Nginx 설치
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
sudo systemctl disable firewalld.service
sudo systemctl stop firewalld.service
sudu yum -y install python-sphinx python-sphinx-doc #--- Sphinx 설치
sphinx-quickstart 명령으로 Sphinx 폴더 생성¶
테스트를 위해 sphinx-quickstart 명령을 사용하여 Sphinx 폴더를 생성 한다. sphinx-quickstart 실행시 설정값은 대부분 디폴트 값을 사용 한다.
cd /usr/share/nginx/html
sudo mkdir sphinx
cd /usr/share/nginx/html/sphinx
sudo sphinx-quickstart
Welcome to the Sphinx 1.1.3 quickstart utility.
Please enter values for the following settings (just press Enter to
accept a default value, if one is given in brackets).
Enter the root path for documentation.
> Root path for the documentation [.]:
You have two options for placing the build directory for Sphinx output.
Either, you use a directory "_build" within the root path, or you separate
"source" and "build" directories within the root path.
> Separate source and build directories (y/N) [n]:
Inside the root directory, two more directories will be created; "_templates"
for custom HTML templates and "_static" for custom stylesheets and other static
files. You can enter another prefix (such as ".") to replace the underscore.
> Name prefix for templates and static dir [_]:
The project name will occur in several places in the built documentation.
> Project name: Shpinx
> Author name(s): Mountain Lover
Sphinx has the notion of a "version" and a "release" for the
software. Each version can have multiple releases. For example, for
Python the version is something like 2.5 or 3.0, while the release is
something like 2.5.1 or 3.0a1. If you don't need this dual structure,
just set both to the same value.
> Project version: 0.00.001
> Project release [0.00.001]:
The file name suffix for source files. Commonly, this is either ".txt"
or ".rst". Only files with this suffix are considered documents.
> Source file suffix [.rst]:
One document is special in that it is considered the top node of the
"contents tree", that is, it is the root of the hierarchical structure
of the documents. Normally, this is "index", but if your "index"
document is a custom template, you can also set this to another filename.
> Name of your master document (without suffix) [index]:
Sphinx can also add configuration for epub output:
> Do you want to use the epub builder (y/N) [n]:
Please indicate if you want to use one of the following Sphinx extensions:
> autodoc: automatically insert docstrings from modules (y/N) [n]:
> doctest: automatically test code snippets in doctest blocks (y/N) [n]:
> intersphinx: link between Sphinx documentation of different projects (y/N) [n]:
> todo: write "todo" entries that can be shown or hidden on build (y/N) [n]:
> coverage: checks for documentation coverage (y/N) [n]:
> pngmath: include math, rendered as PNG images (y/N) [n]:
> mathjax: include math, rendered in the browser by MathJax (y/N) [n]:
> ifconfig: conditional inclusion of content based on config values (y/N) [n]:
> viewcode: include links to the source code of documented Python objects (y/N) [n]:
A Makefile and a Windows command file can be generated for you so that you
only have to run e.g. `make html' instead of invoking sphinx-build
directly.
> Create Makefile? (Y/n) [y]:
> Create Windows command file? (Y/n) [y]:
Creating file ./conf.py.
Creating file ./index.rst.
Creating file ./Makefile.
Creating file ./make.bat.
Finished: An initial directory structure has been created.
You should now populate your master file ./index.rst and create other documentation
source files. Use the Makefile to build the docs, like so:
make builder
where "builder" is one of the supported builders, e.g. html, latex or linkcheck.
sudo make html #--- html 파일 생성
설치 완료 후 아래 URL로 접속 한다. 단, IP는 자신이 가진 서버의 IP를 사용 한다.
Vagrant¶
Vagrant는 간소화된 가상머신(VM, Virtual Machine) 관리 서비스 이다.
CentOS6에 VirtualBox 설치¶
Vagrant에서 사용할 VirtualBox를 설치 합니다
wget -O /etc/yum.repos.d/virtualbox.repo http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
yum install VirtualBox-5.2
virtualbox -help
CentOS6에 Vagrant 설치¶
rpm -ivh https://releases.hashicorp.com/vagrant/2.1.4/vagrant_2.1.4_x86_64.rpm
vagrant plugin install vagrant-disksize
vagrant -v
Vagrant 2.1.4
CentOS 7 box 생성¶
CentOS 7 설치를 위한 Vagrantfile을 작성한 후 box를 생성 한다.
mkdir -p /work/vagrant/CentOS7
cd /work/vagrant/CentOS7
vi Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.disksize.size = '100GB'
config.vm.provider "virtualbox" do |vb|
vb.name = "CentOS7"
vb.memory = "4096"
vb.cpus = "4"
end
end
vagrant init #--- Vagrantfile로부터 생성되는 환경 초기화
vagrant box list #--- Vagrant Box 목록 조회
Ubuntu 18.04.1 LTS box 생성¶
Ubuntu 18.04.1 LTS 설치를 위한 Vagrantfile을 작성한 후 box를 생성 한다.
mkdir -p /work/vagrant/Ubuntu18
cd /work/vagrant/Ubuntu18
vi Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.provider "virtualbox" do |vb|
vb.name = "Ubuntu18"
vb.memory = "6144"
vb.cpus = "6"
end
end
vagrant init #--- Vagrantfile로부터 생성되는 환경 초기화
vagrant box list #--- Vagrant Box 목록 조회
VM 관리¶
vagrant up #--- startup
vagrant reload #--- 변경된 Vagrantfile 적용 (shutdown & startup)
vagrant halt #--- shutdown
vagrant destroy -f #--- shutdown & destroy
vagrant status #--- 상태 조회
vagrant suspend #--- VM 멈춤
vagrant resume #--- 멈춘 VM 다시 시작
#--- ssh 127.0.0.1:2222, vagrant / vagrant
#--- port는 vagrant up시 표시되는 메시지에서 확인할 것
vagrant ssh #--- VM에 ssh로 접속
Snapshot 관리¶
vagrant snapshot push #--- 환경 저장
vagrant ssh #--- 환경 저장 후 여러가지 작업을 한다.
vagrant snapshot pop #--- 저장(push)된 환경으로 복구
vagrant snapshot save ${name} #--- Snapshot 생성
vagrant snapshot restore ${name} #--- Snapshot으로 복구
vagrant snapshot list #--- Snapshot 목록 조회
vagrant snapshot delete ${name} #--- Snapshot을 삭제
Vagrant 주요 폴더¶
- /root/.vagrant.d/
- boxes/ : Vagrant Box 폴더
- /root/VirtualBox VMs/ : VirtualBox의 VM이 저장된 폴더
ardentpark¶
Contributhon 2018 OpenStack Team Meeting Overview¶
컨트리뷰톤 2018 오픈스택 팀 회의 현황 [*]
일자 | 장소 | 개요 |
---|---|---|
8/16 | 코엑스 |
|
8/31 | KOSSLAB |
|
9/6 | TOZ 강남 |
|
9/14 | KOSSLAB |
|
9/20 | KOSSLAB |
|
회의 내용 및 링크¶
[20180816] 1차 모임¶
- [2018 KOSSLAB 컨트리뷰톤] 오픈스택(OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션 : https://www.slideshare.net/ianychoi/2018-kosslab-openstack
- Git는 머꼬? GitHub는 또 머지? : https://www.slideshare.net/ianychoi/git-github-46020592
- 파운데이션 멤버 가입과 계정 준비
- www.openstack.org 사이트에서 Foundation Member로 회원 가입 한다.
- Ubuntu One 회원가입 한다. (www.launchpad.net 사이트에서 회원 가입 가능)
- www.launchpad.net 사이트에서 사용
- review.openstack.org 사이트에서 사용
- "Setting > Profile" 메뉴에서 username을 생성 한다.
- "Setting > SSH Public Keys" 메뉴에서 SSH 공개키를 등록 한다.
- "Setting > Agreements" 메뉴에서 "New Contributor Agreement" 링크를 선택하여 ICLA에 동의 한다.
- translate.openstack.org 사이트에서 사용
- OpenStack 설치 with DevStack
- 오픈스택을 설치하기 위한 시스템 준비 : https://www.youtube.com/watch?v=_wT1wYmQ3G8&index=3&list=PLkgLtPJ7Lg3paDba9_z8m-VRGR88CFK67
- DevStack으로 오픈스택 시작하기 : https://www.youtube.com/watch?v=cysJ9PvMKAY&list=PLkgLtPJ7Lg3paDba9_z8m-VRGR88CFK67&index=4
- 오픈스택 매뉴얼 설치 - 1 : https://www.youtube.com/watch?v=T4uXBGkHfXw&index=5&list=PLkgLtPJ7Lg3paDba9_z8m-VRGR88CFK67
- 오픈스택 매뉴얼 설치 - 2 : https://www.youtube.com/watch?v=Zmr2fcvyz0I&index=6&list=PLkgLtPJ7Lg3paDba9_z8m-VRGR88CFK67
- DevStack (1) - All-in-one : https://www.slideshare.net/ianychoi/openstack-devstack-install-1-allinone
- DevStack (2) - Multi-nodes : https://www.slideshare.net/ianychoi/openstack-devstack-install-2-multinodes
[20180914] 4차 모임¶
OpenStack 정리¶
Contributhon I18N Project¶
주요 추진 내용¶
- 프로젝트 문서 번역 : Stein Release에 필요한 문서들을 Zanata를 통해 번역
주요 번역 내용
- Early Bird Projects : horizon, openstack-ansible, 그리고 openstack-helm에 대한 문서 한글화
- White Paper : OpenStack과 직접적인 연관은 없기에 번역 기여로 인정은 안하고 있었지만 White Paper 번역에 대해서도 부분 인정할 예정
- Dashboard : 주요 Component 별 Dashboard 및 UI, horizon, zaqar 한글화
- Documentation : api-site, openstack-manuals, security-doc, trainin-guides 에 대한 문서 한글화
- Storyboard 번역 : launchpad에서 스토리보드로 migrate하며 Storyboard의 dashboard, ui에 대한 번역이 필요, Storyboard 웹페이지와 Storyboard 내 프로젝트들의 번역 고려
- 번역 툴 개발 : rst 포맷으로 작성된 웹 상의 OpenStack 설명서들을 pdf 문서로 빌드하여 제공(한글 문서 포함)할 수 있도록 하는 문서화 툴 개발
- 비영문 문서의 영문 문서화 : openstack-helm에 관한 한국 팀에서의 한글 문서를 영문 문서로 번역하는 파일럿 프로젝트를 추진 고려
Contributed by ardentpark¶
About Contributor¶
Name: | Soonyeul Park (박순렬) |
---|---|
Email: | ardentpark@gmail.com (ardentpark@naver.com) |
GitHub: | ardentpark (ardentpark@outlook.com) |
Translation¶
Progress¶
프로젝트 | 문서 | 기여도 [†] | 비고 |
---|---|---|---|
openstack-helm (master) | doc/source/locale/doc
doc/source/locale/
doc/source/locale/
doc-install
doc-devref
doc/source/locale/
doc-testing
doc/source/locale/
doc-troubleshooting
|
81.44%
100%
62.7%
59.13%
100%
|
완료
완료
완료
|
horizon(master) | horizon/locale/
djangojs
openstack_auth/
locale/django
openstack_dashboard/
locale/django
openstack_dashboard/
locale/djangojs
doc/source/locale/
doc-install
|
1.47%
1.56%
0.62%
2.71%
100%
|
완료
완료
완료
완료
완료
|
leveraging-containers -and-openstack(paper) | leveraging-containers -and-openstack | 6.72% | White Paper |
designate-dashboard (master) | releasenotes/source/ locale/releasenotes | 9.09% | 완료 |
neutron-lbaas -dashboard(master) | neutron_lbaas_dashboard/ locale/djangojs | 0.35% | 완료 |
i18n(master) | doc | 3.28% | 완료 |
trove-dashboard (master) | releasenotes/source/ locale/releasenotes | 38.86% | 완료 |
Log¶
Format: | [번역 일자] [번역 내용] [번역 집계] [‡] |
---|
20180920 openstack-helm(master)/doc/source/locale/doc 327
20180921 openstack-helm(master)/doc/source/locale/doc 599
20180921 Horizon(master)/Openstack_auth/locale/django 2
20180921 Horizon(master)/Openstack_dashboard/locale/django 82
20180922 openstack-helm(master)/doc-devref 922
20180922 Horizon(master)/horizon/locale/djangojs 8
20180922 Horizon(master)/Openstack_dashboard/locale/djangojs 165
20180922 leveraging-containers-and-openstack(paper)/
leveraging-containers-and-openstack 101
20180922 designate-dashboard(master)/
releasenotes/source/locale/releasenotes 4
20180922 neutron-lbaas-dashboard(master)/
neutron_lbaas_dashboard/locale/djangojs 5
20180923 openstack-helm(master)/doc/source/locale/doc-testing 305
20180923 i18n(master)/doc 221
20180923 trove-dashboard(master)/releasenotes/source/locale/releasenotes 89
20180924 openstack-helm(master)/doc/source/locale/doc-devref 175
20180925 openstack-helm(master)/doc/source/locale/doc-devref 1324
20180926 openstack-helm(master)/doc/source/locale/doc-devref 806
20180926 openstack-helm(master)/doc/source/locale/doc-troubleshooting 442
20180926 i18n(master)/doc 36
20180927 horizon(master)/doc/source/locale/doc-install 821
20180929 leveraging-containers-and-openstack(paper)/
leveraging-containers-and-openstack 278
20180929 openstack-helm(master)/doc/source/locale/doc-testing 812
20181001 horizon(master)/doc/source/locale/doc-install 265
20181001 openstack-helm(master)/doc/source/locale/doc-install 412
20181004 horizon(master)/doc/source/locale/doc-install 659
20181004 openstack-helm(master)/doc/source/locale/doc-install 1190
[*] | 2018년 10월 4일 기준 |
[†] | (번역 단어 수 / 총 단어 수) * 100 |
[‡] | yyyyMMdd 프로젝트/문서 단어수 |
컨트리뷰톤 및 오픈스택 관련 주요 링크¶
Contributhon¶
- Team1
Repository: GitHub (Team1) Documentation: Read the Docs (Team1)
- Team2
Repository: GitHub (Team2) Documentation: Read the Docs (Team2)
- Archive : EtherPad
OpenStack Korea¶
OpenStack¶
- Home
- Docs
- Develop [6]
- Spec
- Wiki
- Mailing Lists
- Translate [7]
- Code Review [8]
- Task Tracker [9]
- Git
- Github [10]
- Bug Report [11]
[1] | Slack 가입 신청 URL(http://openstack-checkin.herokuapp.com/), 가입 승인 후에 Slack 참여 가능 |
[2] | OpenStack 국제화 프로젝트 가이드 |
[3] | I18N 한국 번역 팀 |
[4] | 번역 단어집 |
[5] | 발표 자료 (+ http://slideshare.net/ianychoi/) |
[6] | API 가이드 URL (https://developer.openstack.org/ko_KR/api-guide/quick-start/) |
[7] | Zanata |
[8] | Gerrit, openstack-dev/sandbox URL (https://review.openstack.org/#/admin/projects/openstack-dev/sandbox/) |
[9] | StoryBoard |
[10] | Git Mirror |
[11] | LaunchPad |
bnitech¶
[컨트리뷰톤 2018] 오픈스택 2팀: 사전 오프 모임 (8/31 금, 저녁 7시) 내용¶
- 카페24 서버 확인
서비스 사용현황 * 1.234.**.*** * 서버 임시정보 확인
- 계정 * root
- IPMI 계정 * b******
- 임시 비밀번호 * a*******
Varant로 설치
언제든지 부시고 재설치 할수 있는 환경
- 가상환경을 만들어서 오픈스택을 설치한다.
- 그럼 버리고 다시 생성하기 쉬워진다.
가상환경을 코드로 관리할 수 있게 해준다.
VM을 여러개 만들어서 테스트용을 따로 가진다.
- 오픈스택 설치
yum install -y binutils gcc make patch libgomp dkms glibc-headers glibc-devel kernel-headers kernel-devel
- 필요한 패키지 설치
wget https://download.virtualbox.org/virtualbox/5.2.18/VirtualBox-5.2-5.2.18_124319_el6-1.x86_64.rpm
rpm 안되서설치
- 아닐수도
- wget -O /etc/yum.repos.d/virtualbox.repo http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
- yum list VirtualBox*
- yum update
- yum install VirtualBox-5.2
rpm -ivh https://releases.hashicorp.com/vagrant/2.1.4/vagrant_2.1.4_x86_64.rpm
아키텍처
- PENCIL로 그림
- 사진1
- PENCIL로 그림
root에 contributon 폴더 만들고
안에서
vagrantfile만듬
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" end
작성
vagrant up
vagrant status
- 상태확인
vagrant ssh
- vatrantfile이 있는곳에서
- 가상머신 접속
vagrant destroy
- 가상머신 삭제
vagrant up 으로 재생성 가능
- 처음보다 빠르게 된다.
- 로컬에 기본 파일들이 다운되어있어서
ubuntu (가상서버) 에서 작업
- logout
- 나가기
- logout
vagrant 수정
config.vm.provider "virtualbox" do |vb| vb.memory = "6144" vb.cpus = "6" end
코드로 인프라를 구성할 수 있다.
조성수님 블로그에서
- https://nhnent.dooray.com/share/posts/NksDQdLvSA-KRSuJra5jlA
- virtualbox 네트워크 설명
- host-only networking 이용
- vagrant networking 탭
- vagrantfile 수정
- config.vm.network "forwarded_port", guest: 80, host: 8080
- 추가
- vagrant reload
- NAT IP는 접속불가 됨
snapshot 지원
프로비져닝도 가능
도커는 컨테이너
- vagrant는 VM
vm 이름도 지정 가능
최종 vagrantfile
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" config.vm.provider "virtualbox" do |vb| vb.memory = "6144" vb.cpus = "6" end config.vm.network "forwarded_port", guest: 80, host: 8080 end
devstack 설치
- https://docs.openstack.org/devstack/latest/
- download devstack 까지 진행
- git branch -l
- 브랜치확인
- git branch -r
- master 브랜치에서 하면 확임
- git checkout stable/pike
- git status
- 브랜치확인
- local.conf 파일 만들기
- [[local|localrc]]
- HOST_IP=10.0.2.15
- 기본 지정
- ADMIN_PASSWORD=secret
- DATABASE_PASSWORD=$ADMIN_PASSWORD
- RABBIT_PASSWORD=$ADMIN_PASSWORD
- SERVICE_PASSWORD=$ADMIN_PASSWORD
- ./stack.sh
- 오래걸림
- 기본적인 모든 서비스 설치
- 공인아이피로 접속
- admin
- secret
- https://docs.openstack.org/devstack/latest/
screen
- 가상의 화면을 띄운다
- yum install screen
- screen -S devstack
- ctrl+a,d
- screen -list
- screen -r 이름
- screen session 지우는 방법은 아래와 같습니다.
- screen -X -S [없애고 싶은 세션 숫자] quit
- 백그라운드로 실행가능해짐
- 작업하던 환경 유지시켜줌
- 깃허브 운영
- rst 파일형식 사용
- spec
- 개발하고싶은거 적어두는 곳
- 저장소에 문서 작성하는법
- 저장소를 fork한다.
- 계정선택
- 복제되어
- 쓰기권한이 생긴다.
- $ ssh-keygen -t rsa -b 4096
- 생성된 키 깃허브에 입력
- tect.ssut
- git 작성 참조
swift¶
Devtack-Swift-install¶
Devstack 기반의 Swift install Guide 문서이다.
Devstack Install문서를 참고하여 작성함
Prerequisites¶
- DevStack setup requires to have 1 VM/ BM machine with internet connectivity.
- Devstack은 현재 Ubuntu16.04 및 CentOS 7을 지원하며, Devstack은 공식적으로 Ubuntu16.04를 권장함에 따라 Ubuntu16.04 설치함.
- Install Git
apt-get install git
- Installing python-systemd package on Ubuntu 16.04
sudo apt-get install -y python-systemd
- Need to update package source information for Ubuntu Basic Package installation
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed 's/kr.archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade
Add stack User¶
sudo useradd -s /bin/bash -d /opt/stack -m stack
- stack 사용자는 시스템을 많이 변경하므로 sudo 권한이 꼭 필요함(sudo 명령어에 따른 password를 묻지 않도록 설정)
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su - stack
Download DevStack¶
git clone https://git.openstack.org/openstack-dev/devstack
cd ./devstack
Devstack configuration file¶
cp ./samples/local.conf .
vi local.conf
Devstack SAIO configuration file setup¶
[[local|localrc]]
HOST_IP=10.1.0.6
FLAT_INTERFACE=eth0
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
enable_service s-proxy s-object s-container s-account
SWIFT_REPLICAS=1
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
enable_service h-eng h-api h-api-cfn h-api-cw
enable_plugin heat git://git.openstack.org/openstack/heat
FLOATING_RANGE=192.168.42.128/25
* Set FLAT_INTERFACE to the Ethernet interface that connects the host to your local network.
This is the interface that should be configured with the static IP address mentioned above.
* Set FLOATING_RANGE to a range not used on the local network. ex) 192.168.42.128/25
This configures IP addresses ending in 225-254 to be used as floating IPs.
* Set SWIFT_REPLICAS to every object in Swift is replicated across different devices and nodes
Devstack SAIO installation start¶
./stack.sh
Devstack SAIO start complete Report¶
=========================
DevStack Component Timing
(times are in seconds)
=========================
run_process 37
test_with_retry 3
apt-get-update 10
pip_install 500
osc 243
wait_for_service 32
git_timed 328
dbsync 65
apt-get 367
-------------------------
Unaccounted time 599
=========================
=========================
Total runtime 2184
Horizon is now available at http://localhost/dashboard
Keystone is serving at http://localhost/identity/
Login 성공 후 화면¶

오브젝트 스토리지 컨테이너 생성 완료화면¶
- 컨테이너 Btn을 Click하여 신규 컨테이너 생성
- 컨테이너 생성 후 이름 SwiftObject
- Public Access : CheckBox "Select"

SwiftObjct - AppDevelopmentOpenStackSwiftStorage.pdf 파일 업로드 완료¶

PC Web Browser 파일 다운로드 및 확인¶

Devstack VM Instance에서 파일 다운로드 및 확인¶
