博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[收藏学习]Openstack中Keystone及dashboard安装参考
阅读量:6229 次
发布时间:2019-06-21

本文共 4081 字,大约阅读时间需要 13 分钟。

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

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

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

 

一) 源码安装

Git clone   ~/keystone

 

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

依赖项

 

# 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命令,具体参考

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

 

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

 

可选如果出现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 微博:@念槐聚 联系;
你可能感兴趣的文章
【5】JVM-垃圾收集器
查看>>
音频变调技术
查看>>
Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
查看>>
解决App can’t be opened because it is from an unidentified developer
查看>>
读《那些年,那些事 一个程序猿的奋斗史》 一点自己的感触
查看>>
Java,泛型类型通配符和C#对照
查看>>
LeetCode(1) Symmetric Tree
查看>>
Curl命令
查看>>
HDU 2181 DFS
查看>>
Linux 用C语言判断文件和文件夹
查看>>
Eclipse中jsp、js文件编辑时,卡死现象解决汇总
查看>>
图的基本知识
查看>>
leetcode第一刷_Same Tree
查看>>
高速排序之算法导论实现
查看>>
$.post()提交了数据,return不给跳转
查看>>
检测和删除多余无用的css
查看>>
pip安装使用详解【转】
查看>>
Mybatis 中延时加载
查看>>
小程序追加数据的实现方法
查看>>
固本清源
查看>>