본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# Manually Install OpenStack

OpenStack Barbican on CentOS(Rocky)

by iamlucia 2020. 10. 2.

 

Barbican : Key Manager Service  


🔨 데이터베이스 생성 및 접근 권한 설정

🟢  mysql 데이터베이스 생성

 

# mysql -u root -p
> CREATE DATABASE  barbican;
> GRANT ALL PRIVILEGES ON barbican.* TO 'barbican'@'localhost'  IDENTIFIED BY '[barbican db 비밀번호]';
> GRANT ALL PRIVILEGES ON barbican.* TO 'barbican'@'%'  IDENTIFIED BY '[barbican db 비밀번호]';

 

🟢 admin용 credential 스크립트 실행

 

#  .  admin-openrc

 

🟢 barbican credential 생성 
- user 생성 및 user-role-project 연결

 

# openstack user create --domain default --password-prompt barbican
# openstack role add --project service --user barbican admin

 

creator role 생성 및 user-role-project 연결

 

# openstack role create creator
# openstack role add --project service --user barbican creator

 

- service 생성

 

# openstack service create --name barbican --description "Key Manager" key-manager

 

 

🟢 barbican 서비스 endpoint 생성 

 

# openstack endpoint create --region RegionOne key-manager public http://controller:9311
# openstack endpoint create --region RegionOne  key-manager internal http://controller:9311
# openstack endpoint create --region RegionOne  key-manager admin http://controller:9311

 


🔨 구성 요소 설치 

🟢 barbican 관련 패키지 설치 :  

 

# yum install openstack-barbican-api

 

🟢 barbican 설정 파일 편집 :  

 

# vi /etc/barbican/barbican.conf

 

더보기

[DEFAULT]
...
sql_connection = mysql+pymysql://barbican:BARBICAN_DBPASS@controller/barbican
transport_url = rabbit://openstack:RABBIT_PASS@controller


[keystone_authtoken]
...
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = barbican
password =
BARBICAN_PASS

 

🟢 barbican 데이터베이스 테이블 생성 : 

 

# su -s /bin/sh -c "barbican-manage db upgrade" barbican

 


🔨 설치 마무리

🟢 /etc/httpd/conf.d/wsgi-barbican.conf 파일 생성 및 해당 내용 작성 

 

# vi /etc/httpd/conf.d/wsgi-barbican.conf

 

 

# systemctl enable httpd.service
# systemctl start httpd.service
# systemctl enable openstack-barbican-api
# systemctl start openstack-barbican-api


🔴 ERROR : REBOOT시 사라지는 /var/run/barbican 

🙋‍♀️ ! 이전에 생겼던 오류 : magnum으로 클러스터 생성 중 과부하로 아예 고장이 나버린 블록 스토리지 노드를 삭제했다. 
새로 노드를 만들었더니 삭제했던 노드로 생성한 볼륨으로 만든 클러스터에 오류가 생기면서
클러스터 삭제도 안고 magnum conductor service에서 계속 looping call이 돌았다 
=> cinder 데이터베이스  삭제 후 서비스 재생성

 

🟠cinder,magnum을 다시 설치하였으나 바비칸 여전히 오류

log확인 결과(#tail -f /var/log/messages) , /var/run/barbican 디렉토리 부재가 문제로 확인 

참고 자료를 찾아보니, reboot이후 barbican 실행 관련 디렉토리가 사라짐을 확인 

 

storyboard.openstack.org/#!/story/2006189

 

🟢 관련 오픈스택 패키지들이 삭제되지 않도록
rpm명령어로 바비칸 관련 패키지만 삭제한 다음(openstack-barbican-api & openstack-barbican-common)

yum으로 openstack-barbican-common 재설치