22. 프로젝트 사용자, 역할 생성하기

openstack project create --domain default \

--description “Service Project” service

 

 

openstack project list

 

#openstack project list에서 해결하지 못한 장애-Internal Server Error(HTTP 500)

 

openstack domain list

openstack user create domain default\

--password-prompt demo

User Password : 비번쓰기

Repeat Password : 비번쓰기

 

openstack user list

openstack role create user

openstack role list

openstack role add --project service --user demo user

(openstack role list --user demo project service)????

openstack endpoint list

15. keystone 패키지 설치

yum --enablerepo=centos-openstack-train,epel -y install openstack-keystone

openstack-utils python-openstackclient httpd mod_wsgi

 

 

16. keystone 설정하기

vi /etc/keystone/keystone.conf

 

->line 431에 하기 내용 추가

memcache_servers = 10.0.0.30:11211

->line 572에 하기 내용 추가

connection = mysql+pymysql://keystone:123qwe@192.168.0.210/keystone

->line 2436 #을 지우기:

사용자 변환 but 내용만 삽입

 

그리고

su -s /bin/bash keystone -c "keystone-manage db_sync"

(keystone에서 생성한 keystone 데이터베이스에 필요한 테이블이 생기게 해준다.)

 

#internal server httpd401 장애발생

vi /etc/keystone/keystone.conf

connection = mysql+pymysql://keystone:123qwe@192.168.0.210/keystone

keystone 비번설정을 위에 작성 안할 경우 에러가 생긴다.

 

다음화면과 같이 완료 (참고 수정시 :set nu를 하면 왼쪽화면에 노란색번호가 나온다.)

 

17. mariadb rabbimq 작동 확인

systemctl start mariadb

systemctl start rabbimq

systemctl status 로 각각 확인 해줄 것

 

18. keystone manage 실행

keystone manage실행

keystone-manage fernet_setup --keystone-user keystone --keystone-group

keystone

keystone 초기세팅(사용자 및 그룹 지정)

keystone-manage credential_setup --keystone-user keystone keystone-group

keystone

 

keystone bootstrap작성

export controller=192.168.0.210 (내가 bridge 외부에 할당한 ip주소)

keystone-manage bootstrap\

> --bootstrap-password adminpassword\

> --bootstrap-admin-url http://$controller:5000/v3/ \

> --bootstrap-internal-url http://10.0.0.30:5000/v3/ \

> --bootstrap-public-url http://$controller:5000/v3/ \

> --bootstrap-region-id RegionOne

 

 

19. (selinux 에 있는 특정항목만 열어준다.)

setsebool -P httpd_use_openstack on

setsebool -P httpd_can_network_connect on

setsebool -P httpd_can_network_connect_db on

firewall-cmd add-port=5000/tcp --permanent

firewall-cmd reload

 

20. 웹 서버 및 방화벽 설정하기

ln s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

systemctl start httpd

systemctl enable httpd

 

21. vi ~/keystonerc 환경변수 생성

a. vi keystonerc

export OS_PROJECT_DOMAIN_NAME=default

export OS_USER_DOMAIN_NAME=default

export OS_PROJECT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=adminpassword

export OS_AUTH_URL=http://192.168.0.210:5000/v3

=>210은 내가 할당한 ip 102로 설정함

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2

export PS1='[\u@\h \W(keystone)]\$' ->프롬프트 변경

 

b. chmod 600 ~/keystonerc

source keystonerc

echo “source ~/keystonerc” >> ~/.bash_profile

openstack token issue

openstack token issue 실행후 마주한 에러

#export controller=192.168.0.210 를 타입 안하고 넘어가니

unexpected exception for http://5000:v3/ Invalid URL 애러가 나왔다.

 

#internal server httpd500에러 이유;

부트스트랩에서 설정한 것과 연계되는 keystone 데이터베이스가 없어서 internal server 문제였다.

그래서 maria dbkeystone 데이터베이스 생성했다.

 

httpd500같은 에러 메시지 발생

-역시나 같은 데이터베이스가 생성이 되지 않았고, 문제는 vi /etc/keystone.conf에서

571라인에서 mysql+pymysql에서 맨 끝에 keystone의 철자가 틀렸다.

 

그리고 다시 sync 명령어를 해줌으로써 keystone 데이터베이스를 생성해야 openstack token issue에서 넘어간다.

 

#error the request you have made requires authentication auth와 관계된 것이

vi /keystone/keystone.conf 설정에

mysql+pymysql 에 넣는 비번설정을 해주지 않아 auth 문제가 일어난 것.

 

#openstack token issue 하니 다음과 같은 장애발생 해결못함

 

#vi ~/keystonerc를 누르니 하기와 같은 문제가 발생했다.

~ = home directory

 

다른 프로세스가 사용 중인지 확인

 

확인결과 사용중이 아니고, 비정상 종료된 적이 있는지에 해당되는 것으로 보여

ls al swp 파일이 여러개 있는 것을 확인

rm rf .keystone.sw*

파일 삭제완료

 

#home directory에 있어 vi ~/keystonerc 아닌 vi keystonerc로 확인

나머지 하기에 있는 것을 작성한다.

 

##내가 풀지 못한 장애

-bad request http400

-internal server http500 (해결함)

 

#-sync 명령어가 되지 않고 데이터베이스 생성이 되지 않았다.

알고보니 책에 있는 비번을 grant all privileges to glance에 사용 되는 비번과 그대로 사용해서 그런 것이었다.

그러니 비번을 항상 잘 체크하면서 작성할 것

 

#새롭게 알게 된 것

openstack project delete + id 번호를 써야 삭제가 된다.

12. DB설정

mariaDB에 접속

mysql -u root p

 

#비번도 안만들었는데 자꾸 아래의 메시지가 발생

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

systemctl start mariadb 설정을 안해준 것이었다.

mariadb든 무엇이든 systemctl start mariadb를 작동시켜줄 것!!

 

13. Keystone이 사용할 DB생성

create database keystone;

 

14. Keystone 사용자를 생성하고 pw를 부여, 모든 권한 부여

- 로컬에서의 접속

grant all privileges on keystone.* to keystone@'localhost' identified by '123qwe';

 

- 원격지에서의 접속

grant all privileges on keystone.* to keystone@'%' identified by '123qwe';

 

-적용

flush privileges;

 

-나가기

exit

(여기서 show tables; 해도 아무것도 보이지 않은 아직 sync 하기 전)

 

 

+ Recent posts