安装以下几个模块:
cloudkitty-api: API service cloudkitty-processor: Processing service
(collecting and rating) cloudkitty-dbsync: Tool to create and upgrade
the database schema cloudkitty-storage-init: Tool to initiate the
storage backend cloudkitty-writer: Reporting tool
1. git clone git://git.openstack.org/openstack/cloudkitty
2. cd cloudkitty
3. python setup.py install
4. mkdir /etc/cloudkitty
5. cp etc/cloudkitty/cloudkitty.conf.sample /etc/cloudkitty/cloudkitty.conf
6. cp etc/cloudkitty/policy.json /etc/cloudkitty
对于kilo版本可以用完备的规范的文档库
1. apt-get install ubuntu-cloud-keyring
2. echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/kilo main" > \
/etc/apt/sources.list.d/cloudarchive-kilo.list
安装CloudKitty仓库公钥和配置apt:
1. apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 71E414B3
2. echo 'deb http://archive.objectif-libre.com/cloudkitty/ubuntu trusty/kilo main' > \ /etc/apt/sources.list.d/cloudkitty-kilo.list
3. apt-get update
安装cloudkitty-api 、cloudkitty-processor 、cloudkitty-dashboard这三个包
apt-get install cloudkitty-api cloudkitty-processor cloudkitty-dashboard
修改配置文件/etc/cloudkitty/cloudkitty.conf
[DEFAULT]
verbose = True
log_dir = /var/log/cloudkittyrabbit_host = RABBIT_HOST (将斜体改为controller的ip地址)
rabbit_userid = openstack
rabbit_password =RABBIT_PASSWORD(将斜体改为设置的rabbit密码)[auth]
username = cloudkitty
password = CK_PASSWORD (将斜体改为CloudKitty密码)
tenant = service
url = http://localhost:5000/v2.0(将斜体改为controller的ip地址)[keystone_authtoken]
username = cloudkitty
password = CK_PASSWORD(将斜体改为CloudKitty密码)
project_name = service
region = RegionOne auth_url =http://localhost:5000/v2.0 (将斜体改为controller的ip地址)
auth_plugin = password[database]
connection =mysql://cloudkitty:CK_DBPASS@localhost/cloudkitty(将斜体改为数据库中CloudKitty的密码)[keystone_fetcher]
username = admin
password = ADMIN_PASSWORD (将斜体改为admin的密码)
tenant =admin
region = RegionOne
url = http://localhost:5000/v2.0(将斜体改为controller的ip地址)[ceilometer_collector]
username = cloudkitty
password = CK_PASSWORD(将斜体改为CloudKitty密码)
tenant = service
region = RegionOne
url = http://localhost:5000(将斜体改为controller的ip地址)
安装数据库
mysql -uroot -p << EOF
CREATE DATABASE cloudkitty;
GRANT ALL PRIVILEGES ON cloudkitty.* TO 'cloudkitty'@'localhost' IDENTIFIED BY 'CK_DBPASS';
EOF
运行数据库同步脚本
cloudkitty-dbsync upgrade
初始化存储后端:
cloudkitty-storage-init
安装keystone
keystone user-create --name cloudkitty --pass CK_PASS
keystone user-role-add --user cloudkitty --role admin --tenant service
给rating角色cloudkitty使由CloudKitty处理每个租户:
keystone role-create --name rating
keystone user-role-add --user cloudkitty --role rating --tenant XXX(**XXX改为admin或者service**)
创建CloudKitty服务和端点
keystone service-create --name CloudKitty --type rating
keystone endpoint-create --internalurl http://localhost:8888\
--publicurl http://localhost:8888 \
--adminurl http://localhost:8888 \
--service-id RATING_SERVICE_ID ()
启动CloudKitty
cloudkitty-api --config-file /etc/cloudkitty/cloudkitty.conf
cloudkitty-processor --config-file /etc/cloudkitty/cloudkitty.conf
移动pricing.js代码(因为实例加载时需要)
cp -rf /usr/lib/python2.7/dist-packages/cloudkittydashboard/static/cloudkitty/ /usr/share/openstack-dashboard/static/
改pricing.js代码
/usr/share/openstack-dashboard/static/cloudkitty/js/pricing.js
在 /project/rating/quote
前加入/horizon
变成
/horizon/project/rating/quote
BUG:
1 输入以下命令
cloudkitty-dbsync upgrade
出现bug:
然后进入数据库drop database cloudkitty; 就可以了。
2 输入以下命令
cloudkitty-processor --config-file /etc/cloudkitty/cloudkitty.conf
出现bug:
改配置文件/etc/cloudkitty/cloudkitty.conf 中的[keystone_authtoken]
auth_url为控制节点并且[keystone_fetcher]auth_url为控制节点。
3
(配置文件中[database] connection为localhost,mysql创建表cloudkitty时为controller)