自动化生成 Openstack 新项目开发框架
2017-01-03 18:11
302 查看
前言
OpenStack Developer 应该都知道, 开发一个 Openstack 的新项目并不是一个从 0 到 1 的过程, 而是在一个Project Template 的框架中, 为其填充 API/DB/Manager 等代码定义和实现. 一般来说, 搭建这个 Template 框架并不困难, 只是太过繁琐. 本篇推荐的开源小项目, 可以非常帮助我们完成这些繁琐的工作, 用法也很简单. 如果大家能帮忙提交 BUG 的话, 我会非常欢迎和感谢 .
Github 地址
环境
OS:Ubuntu 14.04
Openstack(Devstack) Version:
Liberty
openstack-project-generator
使用手册从 Github下载 :
git clone https://github.com/JmilkFan/openstack-project-generator.git[/code]1 1
[/code]
执行 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/stack1
2
3
4
1
2
3
4
[/code]
一个小 BUG: 新项目需要从 openstack-project-generator/.git 中获取 version 的信息cp -pr /opt/stack/openstack-project-generator/.git /opt/stack/proname1
1
[/code]
安装新项目sudo pip install -r /opt/stack/proname/requirements.txt -e .1
1
[/code]
生成配置文件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/proname1
2
3
4
1
2
3
4
[/code]
编辑配置文件
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
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
[/code]
tox 测试cd /opt/stack/proname tox -e genconfig tox -e pep8 tox -e py271
2
3
4
1
2
3
4
[/code]
创建项目数据库# 保证 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
1
2
3
4
5
6
[/code]
初始化数据库proname-manage db_sync1
1
[/code]
验证服务是否正常运行proname-api --config-file /etc/proname/proname.conf1
1
[/code]
到此为止, 新项目的服务就部署完成了, 赶紧撸代码吧 : )
相关文章推荐
- 自动化生成 Openstack 新项目开发框架
- 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(三)——搭建Android开发环境,用Hibernate生成Android项目的Model层
- 如何利用NB代码生成工具和NBear框架,快速开发WEB项目
- 代码生成器插件开发---代码生成项目框架的创建(2)
- 如何利用NB代码生成工具和NBear框架,快速开发WEB项目
- 循序渐进开发WinForm项目(1) --数据库设计和项目框架的生成
- 循序渐进开发WinForm项目(1) --数据库设计和项目框架的生成
- JFinal极速开发框架使用笔记(四) _JFinalDemoGenerator实体类生成及映射自动化
- 循序渐进开发WinForm项目(1) --数据库设计和项目框架的生成
- 如何利用NB代码生成工具和NBear框架,快速开发WEB项目
- 如何利用NB代码生成工具和NBear框架,快速开发WEB项目
- 解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)
- 总结项目中缺少的通用模块,添加到开发框架中
- 姚博文 maven 敏捷开发之一 ssh项目生成
- 移动项目开发笔记(动态生成xml文件生成导航菜单)
- 在spring+hibernate框架的java项目开发过程中,经常会遇到这样的错误: could not find a getter for ... in class ...
- 使项目开发自动化
- 没头没尾--项目开发笔记:异常处理与日志记录代码自动生成(工具能生成多少代码!?续一)
- 最近公司在某个项目上要开发基于.net的基础框架
- J2EE开发的框架或开源项目介绍(转)