Devstack Install in CentOS 7 minimal

|


출처 : http://docs.openstack.org/developer/devstack/guides/single-machine.html

          http://naleejang.tistory.com/116


이제껏 Ubuntu 14.04 나 CentOS 6.6 으로 수도 없이 시도했지만 설치 조차 실패했었다.

헌데 CentOS 6.6 에서 update를 하다 보니 커널 업데이트로 인해 많은 명령어들이 바뀐 것을 확인했다.

그말인 즉, 현재의 openstack 은 가장 최신 버전의 리눅스와 궁합이 맞는 것 같다는 생각이 들었고,

Cent OS 최신 버전인 7 으로 설치까지 성공하였다.



설치 성공 후 리눅스를 껐다 키니 정상적으로 작동이 안된다. rejoin 하려 해도 진행이 안된다.

그래서 성공한 방법으로 설치를 시도했지만..... 이전과 다른 오류를 뿜으며 실패...

또한 kvm 가상 머신을 설치해보려 했지만 계속해서 kvm 모듈이 작동하지 않는다.

여러 번의 시도 끝에... 가상화로 돌리는 서버 위에서의 가상화는 지원이 되지 않는 듯하다.

나중에 가상화 지원되는 CPU 있는 리얼 서버로 제대로 시도 해보고 싶다...




==== '설치는' 성공한 방법 ====


(root 계정으로 진행)


stack 이라는 사용자가 필요하단다. 사용자 추가 후 비밀번호 변경

# useradd stack

# passwd stack


stack 이 sudo 명령어를 쓸 때 비밀번호 없이 사용하게 하는 명령어

# echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers


devstack 다운로드 시 필요한 git 과 서버의 시간을 맞춰주는 ntp 설치, ntp 는 서비스 시작 및 부팅 시 자동 실행 설정

# yum install -y git ntp

# chkconfig ntpd on

# service ntpd start


stack 사용자로 변경, 홈 디렉토리로 가서 devstack 설치 파일 다운로드

# su stack

$ cd ~

$ git clone https://git.openstack.org/openstack-dev/devstack


환경설정 후 설치 스크립트 실행

$ cd ./devstack


$ vi local.conf

[[local|localrc]]

HOST_IP=192.168.1.10

FLOATING_RANGE=192.168.1.224/27

FIXED_RANGE=10.11.12.0/24

FIXED_NETWORK_SIZE=256

FLAT_INTERFACE=eth0

ADMIN_PASSWORD=supersecret

MYSQL_PASSWORD=iheartdatabases

RABBIT_PASSWORD=flopsymopsy

SERVICE_PASSWORD=iheartksl

SERVICE_TOKEN=servicetoken


$ cp local.conf localrc


$ ./stack.sh




[Trouble Shooting]


CentOS 7  뿐 아니라 이전에 설치하면서 겪게된 여러 Trouble Shooting 들을 모아보았다.

나의 경우, CentOS 7  에서는 1번만 발생하였다.



1)

git call failed: [git clone' git://git.openstack.org/openstack/keystone.git '/opt/stack/keystone]'

=> 수동으로 진행, 설치


$ cd /opt/stack/keystone/   

$ ./run_tests.sh

$ cd ~

$ cd devstack/

$ ./stack.sh



2)

/usr/lib/python2.6/site-packages/keystoneclient/access.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_utils instead.

  from oslo.utils import timeutils

/usr/lib/python2.6/site-packages/keystoneclient/i18n.py:21: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_i18n instead.

  from oslo import i18n

/usr/lib/python2.6/site-packages/keystoneclient/session.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.

  from oslo.config import cfg

/usr/lib/python2.6/site-packages/keystoneclient/session.py:21: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_serialization instead.


$ sudo vi /usr/lib/python2.6/site-packages/keystoneclient/session.py

     20 from oslo_config import cfg

     21 from oslo_serialization import jsonutils

     22 from oslo_utils import importutils


$ ./stack.sh

To rejoin this session type 'screen -x stack'.


$ screen -x stack

Cannot open your terminal '/dev/pts/0' - please check.


root 계정에서 su stack 으로 stack 계정을 사용중이어서 그랬단다.

(출처 : http://makandracards.com/makandra/2533-solve-screen-error-cannot-open-your-terminal-dev-pts-0-please-check)

모두 logoff 하고 stack 으로 접속하여 진행


$ screen -x stack


하다가 중간에 멈췄다.


$ ./unstack.sh

$ ./stack.sh



3)

Hostname 이 정해진게 없어서 Error => 내가 가진 ip 에 대한 hostname 지정

$ sudo vi /etc/hosts

      3 192.168.1.10 devstack



4)

Missing packages detected 라길래 위에를 보니 qemu-img 이 없단다.

qemu 공식 홈페이지 통해 최신 PKG 설치 (http://wiki.qemu.org/Download)

$ git clone git://git.qemu-project.org/qemu.git


$ cd qemu

$ ./configure

ERROR: glib-2.12 gthread-2.0 is required to compile QEMU


$ sudo yum install -y glib glib2-devel

$ sudo yum install -y pixman

$ git submodule update --init pixman

$ cd pixman

$ ./configure; make; make install


(오류 보면서 진행했지만,,, 해결 되는 듯 싶더니 결국 안됨.)




And