自动化生成 Openstack 新项目开发框架
【摘要】 目录
目录前言环境openstack-project-generator
前言
Openstack Developer 应该都知道, 开发一个 Openstack 的新项目并不是一个从 0 到 1 的过程, 而是在一个 Project Template 的框架中, 为其填充 API/DB/Manager 等代码定义和实现. 一般来说, 搭建这...
目录
前言
Openstack Developer 应该都知道, 开发一个 Openstack 的新项目并不是一个从 0 到 1 的过程, 而是在一个 Project Template 的框架中, 为其填充 API/DB/Manager 等代码定义和实现. 一般来说, 搭建这个 Template 框架并不困难, 只是太过繁琐. 本篇推荐的开源小项目, 可以非常帮助我们完成这些繁琐的工作, 用法也很简单. 如果大家能帮忙提交 BUG 的话, 我会非常欢迎和感谢 .
环境
- OS:
- Ubuntu 14.04
- Openstack(Devstack) Version:
- Liberty
openstack-project-generator
- 从 Github下载 :
git clone https://github.com/JmilkFan/openstack-project-generator.git
- 1
- 执行 Bash 脚本 :
NOTE:<new_manager_service_name> <new_project_name>
不能同名
cd openstack-project-generator
./generate.sh -m <new_manager_service_name> <new_project_name> <new_project_path>
# EG:
./generate.sh -m promanager proname /opt/stack
- 1
- 2
- 3
- 4
- 一个小 BUG: 新项目需要从 openstack-project-generator/.git 中获取 version 的信息
cp -pr /opt/stack/openstack-project-generator/.git /opt/stack/proname
- 1
- 安装新项目
sudo pip install -r /opt/stack/proname/requirements.txt -e .
- 1
- 生成配置文件
mkdir /etc/proname
cd /opt/stack/proname/etc/proname/
sudo cp proname.conf.sample /etc/proname/proname.conf
sudo cp api-httpd.conf api-paste.ini logging_sample.conf policy.json rootwrap.conf /etc/proname
- 1
- 2
- 3
- 4
- 编辑配置文件
NOTE: 配置文件中 { } 内的值需要被替换
sudo vim /etc/proname/proname.conf
[database]
connection=mysql+pymysql://{username}:{password}@{mysql_ip}/pronname?charset=utf8
[default]
my_ip=127.0.0.1
rabbit_port=5672
rabbit_userid = stackrabbit
rabbit_password = {rabbit_password}
rabbit_hosts = {rabbit_hosts_ip}
osapi_proname_listen=0.0.0.0
osapi_proname_listen_port=8848
auth_strategy=keystone
debug = True
verbose = True
[keystone_authtoken]
admin_password = {password}
admin_user = nova
admin_tenant_name = service
identity_uri = http://{keystone_ip}:35357
auth_protocol = http
auth_port = 35357
auth_host = {keystone_host_ip}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- tox 测试
cd /opt/stack/proname
tox -e genconfig
tox -e pep8
tox -e py27
- 1
- 2
- 3
- 4
- 创建项目数据库
# 保证 proname 数据库下的所有表的编码集都是 utf8
CREATE DATABASE proname CHARACTER SET utf8;
GRANT ALL ON proname.* TO 'proname'@'%' IDENTIFIED BY 'password';
GRANT ALL ON proname.* TO 'proname'@'127.0.0.1' IDENTIFIED BY 'password';
GRANT ALL ON proname.* TO 'proname'@'localhost' IDENTIFIED BY 'password';
- 1
- 2
- 3
- 4
- 5
- 6
- 初始化数据库
proname-manage db_sync
- 1
- 验证服务是否正常运行
proname-api --config-file /etc/proname/proname.conf
- 1
到此为止, 新项目的服务就部署完成了, 赶紧撸代码吧 : )
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/52431938
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)