openstack-keystone(openstack)


mnq10_0@126.com
2019-12-29 08:17:06 (5年前)
租户 用户 角色openstack keystone OS juno

6配置OS_SERVICE_TOKEN 这里的ADMIN_TOKEN是上篇产生的值 1. export OS_SERVICE_TOKEN=ADMIN_TOKEN 复制代码 openstack juno(ubuntu14.04)安装5:Keystone部署及介绍

6配置OS_SERVICE_TOKEN


这里的ADMIN_TOKEN是上篇产生的值


export OS_SERVICE_TOKEN=ADMIN_TOKEN


复制代码


openstack juno ubuntu14.04 )安装 5 Keystone 部署及介绍










上面替换为:


export OS_SERVICE_TOKEN=570f150cb897e793e58f


复制代码






配置 endpoint:




export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0


复制代码






1创建租户、用户、角色






创建admin租户


keystone tenant-create —name admin —description “Admin Tenant”


复制代码










这里会遇到的问题




aboutyun@controller:~$ keystone tenant-create —name admin —description “admin Tenant”


An unexpected error prevented the server from fulfilling your request. (HTTP 500)




解决办法详细查看遇到问题及解决办法






创建admin用户






keystone user-create —name admin —pass ADMIN_PASS —email EMAIL_ADDRESS


复制代码










创建admin角色




keystone role-create —name admin


复制代码










添加admin角色到admin用户和租户【修改内容】


keystone user-role-add —user admin —tenant admin —role admin


复制代码








2创建Demo租户、用户、角色




a.创建demo租户


keystone tenant-create —name demo —description “Demo Tenant”


复制代码






b.创建demo租户下的用户


keystone user-create —name demo —tenant demo —pass DEMO_PASS —email EMAIL_ADDRESS


复制代码










至此demod用户完毕注意:在创建demo tenant的同时,demo user,demo role会自动创建










3.创建service租户


keystone tenant-create —name service —description “Service Tenant”


复制代码













遇到问题及解决办法:




问题1


aboutyun@controller:~$ keystone tenant-create —name admin —description “admin Tenant”


An unexpected error prevented the server from fulfilling your request. (HTTP 500)




原因1


环境变量错误


记得重启后,执行下面命令


export OS_SERVICE_TOKEN=570f150cb897e793e58f


export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0


复制代码








原因2


查看日志:








more keystone-all.log


复制代码






获取如下关键信息


(OperationalError) no such table: project u’INSERT INTO project (id, name, domain_id, des


cription, enabled, extra) VALUES (?, ?, ?, ?, ?, ?)’ (‘70c0487ba99743719d6721a34560fca2’, u’admin’, ‘default’, u’Admin Tenant’, 1, ‘{}’)


复制代码


意思是说表不存在,进入mysql




mysql -uroot -p


复制代码




use keystone


复制代码












show tables;


复制代码


竟然是空的,也就是没有同步成功。




执行命令,再次同步。


su -s /bin/sh -c “keystone-manage db_sync” keystone


复制代码


还需要输入密码,算了还是使用root




再次运行命令,还是不成功。


为什么那?还是从配置入手。




编辑 /etc/keystone/keystone.conf




数据库明明连接上了,为什么会不成功,


[database]



connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone


复制代码


后来在配置文件中,发现了sqllite,注释掉即可







再次运行命令




su -s /bin/sh -c “keystone-manage db_sync” keystone


复制代码











同步成功,表不在为空










遇到问题2




错误表现1


Unable to establish connection to http://controller:35357/v2.0/tenants


复制代码




错误表现2


unknown insance


复制代码


错误表现3


keystone启动后又挂掉




原因openstack安装问题




解决办法:


apt-get update




apt-get install ubuntu-cloud-keyring






echo “deb http://ubuntu-cloud.archive.canonical.com/ubuntu“ \


“trusty-updates/juno main” > /etc/apt/sources.list.d/cloudarchive-juno.list




apt-get update && apt-get dist-upgrade



0 条回复
  1. 动动手指,沙发就是你的了!
登录 后才能参与评论