[收藏学习]Openstack中Keystone及dashboard安装参考

装dashobard时候总报错,收集如下文档参考,版权归原作者.参见http://blog.sina.com.cn/s/blog_4b8481f70100xnw9.html

本文目的在于swift+Keystone+dashboard 安装

对swift的安装本文就先行忽略,keystone安装在swift的proxy节点处,为实验简单性,所使用的环境的 ESXi上的一台 ubuntu 11.04 的32bit 虚拟机

 

一) 源码安装

Git clone https://github.com/openstack/keystone.git  ~/keystone

 

主要安装步骤可以参考keystone源码包中的README.md

依赖项

 

# Show dependencies

$ cat tools/pip-requires

 

# You may need to install development files before using 'pip install'

# For example:

#  sudo apt-get install python-dev libxml2-dev libxslt1-dev libsasl2-dev libldap2-dev libsqlite3-dev libssl-dev

因此先要安装

apt-get install python-dev libxml2-dev libxslt1-dev libsasl2-dev libldap2-dev libsqlite3-dev libssl-dev

 

# Install dependencies (for production, testing, and development)

$ pip install -r tools/pip-requires

这个过程需要花一定的时间

 

# Optional: Install Memcache (if enabled as a backend)

Refer #(http://memcached.org/)

安装Memcache(可选)

 

运行 Keystone

配置文件在 etc/keystone.conf 包括各服务的绑定端口和ip修改,可将该文件拷贝到 /etc目录下

与swift集成,在proxy节点处

$ swift-init all stop

$ cd ~/keystone/bin && ./keystone

Starting the RAX-KEY extension

Starting the Legacy Authentication component

Service API listening on 0.0.0.0:5000

Admin API listening on 0.0.0.0:35357

 

开启另一个控制台终端

edit the ~/keystone/keystone/test/sampledata.py file,这个脚本是keystone-manage向keystone添加user,token及服务等,根据实际情况作相应修改

 In another window, edit the ~/keystone/keystone/test/sampledata.py file, find the swift.publicinternets.com text and replace it with the URL to your Swift cluster using the following format (note that we're going to change Swift to run on port 8888 later):http://127.0.0.1:8888/v1/AUTH_%tenant_id%

Create the sample data entries:

$ cd ~/keystone/bin && ./sampledata

 这一步是调用执行上面的sampledata.py文件,在keystone中进行注册。

多次运行sampledata会报错,那是因为数据库已经有先运行保留的数据原因,你应该删除数据库的记录,默认是sqlite3的话,你可以直接删除keystone.db这个文件

如果是mysql,可以

mysql -uroot -p123456 -e 'DROP DATABASE IF EXISTS keystone;'

mysql -uroot -p123456 -e 'CREATE DATABASE keystone;'

Reconfigure Swift's proxy server to use Keystone instead of TempAuth. Here's an example /etc/swift/proxy-server.conf:

[DEFAULT]

bind_port = 8888

user = root

 

[pipeline:main]

pipeline = catch_errors cache keystone proxy-server

 

[app:proxy-server]

use = egg:swift#proxy

account_autocreate = true

 

[filter:keystone]

use = egg:keystone#tokenauth

auth_protocol = http

auth_host = 127.0.0.1

auth_port = 35357

admin_token = 999888777666

delay_auth_decision = 0

service_protocol = http

service_host = 127.0.0.1

service_port = 5000

service_pass = dTpw

 

[filter:cache]

use = egg:swift#memcache

set log_name = cache

 

[filter:catch_errors]

use = egg:swift#catch_errors

 

$ swift-init main start

 

Joeuser用户已经在运行./sampledata 时生成

$ swift -A http://127.0.0.1:5000/v1.0 -U joeuser -K secrete post container

$ swift -A http://127.0.0.1:5000/v1.0 -U joeuser -K secrete stat -v

StorageURL: http://127.0.0.1:8888/v1/AUTH_1234

Auth Token: 74ce1b05-e839-43b7-bd76-85ef178726c3

  Account: AUTH_1234

Containers: 1

  Objects: 0

    Bytes: 0

Accept-Ranges: bytes

X-Trans-Id: tx25c1a6969d8f4372b63912f411de3c3b

 

 想手动添加用户,可以使用keystone-manage命令,具体参考

http://keystone.openstack.org/man/keystone-manage.html

OpenStack Dashboard 安装

git clone  https://github.com/openstack/horizon

 

cd openstack-dashboard/openstack-dashboard

cp local/local_settings.py.example local/local_settings.py

 

vim local/local_settings.py

# FIXME: This needs to be changed to allow for multi-node setup.

OPENSTACK_KEYSTONE_URL = "http://localhost:5000/v2.0/"

OPENSTACK_KEYSTONE_ADMIN_URL = "http://localhost:35357/v2.0"

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"

 

# NOTE(tres): Available services should come from the service

#       catalog in Keystone.

SWIFT_ENABLED = True

 

Install Horizon

 

$ apt-get install -y python-setuptools 
$ sudo easy_install virtualenv
$ python tools/install_venv.py

Installing the virtual environment will take some time depending on download speeds.

 

Run Horizon

启动dashboard的web服务

tools/with_venv.sh dashboard/manage.py runserver 0.0.0.0:8000

 

成功后可以在浏览器输入:http://dashboardhost:8000/ 进入登入界面

 

可选如果出现dashboard登入不了的情况,则可以选择数据同步

tools/with_venv.sh dashboard/manage.py syncdb

 

转载请注明出处:http://www.cnblogs.com/haochuang/ 8年IT工作经验,5年测试技术与管理,2年产品与项目管理,曾参与过云计算\云存储\车联网产品研发工作; 业余自媒体人,有技术类垂直微信公众号;如有招聘或求职方面需求,请Mail to uetest@qq.com ;或通过 QQ:363573922 微博:@念槐聚 联系;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值