자바스크립트를 활성화 해주세요

d102 devstack 설치할 때 패키지를 못 받아오고 실패할 때 대응방법

 ·  ☕ 2 min read

최근에 devstack을 설치할 일이 있어서 설치를 했습니다.
OS는 ubuntu 20.04. tasksel에서 ubuntu desktop 설치하고 xrdp설치했습니다.

맥에서도 설치하려고 시도해봤고, 윈도우즈에서도 설치를 시도해 봤습니다만, unittest를 돌리려면 linux에서 하는 것이 좋습니다.

centos는 stream 8에서도 디폴트 python이 2.7입니다. 아마도 돌아가게끔 환경은 잡을 수 있을 테지만, venv가 아닌 오리지널 환경을 사용하는 것을 추천합니다. 이건 pycharm등의 ide를 사용할 때도 중요합니다. 베이스로 패키지를 설치하는 것이 여러모로 불편한 것을 줄여줍니다.

devstack 설치는 공식 문서를 참고했습니다.

과거의 레거시 패키지를 이용하는 경우가 있습니다.

그런데 ./stack.sh를 실행했을 때, 특정 패키지를 받아오지 못하는 상황이 발생했습니다.
cpu는 코어 하나가 100를 사용하고 있는데, 컴파일 하는 것도 아니고 redirect loop하고 있는 것 처럼 보였습니다.

아마도 pip 레포지토리에서 제대로 못받아오나보다 싶었는데, 과거의 패키지를 사용하는 경우는 pypi가 제공하고 있지 않은 경우도 있습니다.

이러한 경우의 해결로 결국 중국쪽의 어느 사이트를 잠고해서 해결했습니다.

패키지의 설치는 stack 어카운트가 아니라 root권한으로 설치하기 때문에 root의 디렉토리에 .pip를 만들고 실행해 줘야 했습니다.

 root@v160-251-123-8:~# cat .pip/pip.conf 
 [global]
 index-url = https://pypi.org/simple
 trusted-host = repo.huaweicloud.com
 extra-index-url = https://repo.huaweicloud.com/repository/pypi/simple

경험적으로 pip repository를 확신하지 않는 것도 중요하다고 느끼고 있습니다.

  • pypi라고 해서 모든 패키지의 인덱스가 항상 존재하는 것이 아닙니다. 다른 repository에 존재하는 경우도 있습니다.
  • 인덱스가 있어도 다운로드 링크가 404를 되돌려 주고 있는 곳도 있습니다.
  • 반복하지 않으려면 자체로 pypi repository를 운영하는 것도 방법입니다만, 운영에는 리소스가 들어갑니다.

꼭 devstack을 설치하지 않더라도, 권장사항으로 미리미리 해두면 좋을 것 같습니다.

TimeOut 나는 경우가 있습니다.

export PIP_DEFAULT_TIMEOUT=100

devstack을 설치할 때는 root권한으로 패키지를 받아옵니다. 그러므로 stack쪽이 아닌 root쪽의 환경에서 실행해 줘야 합니다.

시스템이 사용하는 패키지여서 설치안되는 경우가 있습니다.

export PIP_IGNORE_INSTALLED=1

이 옵션을 환경변수에 넣거나,
root 어카운트로 직접 패키지를 설치해 줍니다.
pip install –ignore-installed package_name

d102_ubuntu_devstack.png

공유하기

tkim
글쓴이
tkim
Software Engineer