博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动化生成 Openstack 新项目开发框架
阅读量:6814 次
发布时间:2019-06-26

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

目录

前言

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
  • 执行 Bash 脚本 :
    NOTE: <new_manager_service_name> <new_project_name> 不能同名
cd openstack-project-generator./generate.sh -m 
# EG:./generate.sh -m promanager proname /opt/stack
  • 一个小 BUG: 新项目需要从 openstack-project-generator/.git 中获取 version 的信息
cp -pr /opt/stack/openstack-project-generator/.git /opt/stack/proname
  • 安装新项目
sudo pip install -r /opt/stack/proname/requirements.txt -e .
  • 生成配置文件
mkdir /etc/pronamecd /opt/stack/proname/etc/proname/sudo cp proname.conf.sample /etc/proname/proname.confsudo cp api-httpd.conf api-paste.ini logging_sample.conf policy.json rootwrap.conf  /etc/proname
  • 编辑配置文件
    NOTE: 配置文件中 { } 内的值需要被替换
    sudo vim /etc/proname/proname.conf
[database]connection=mysql+pymysql://{username}:{password}@{mysql_ip}/pronname?charset=utf8[default]my_ip=127.0.0.1rabbit_port=5672rabbit_userid = stackrabbitrabbit_password = {rabbit_password}rabbit_hosts = {rabbit_hosts_ip}osapi_proname_listen=0.0.0.0osapi_proname_listen_port=8848auth_strategy=keystone debug = Trueverbose = True[keystone_authtoken]admin_password = {password}admin_user = novaadmin_tenant_name = serviceidentity_uri = http://{keystone_ip}:35357auth_protocol = httpauth_port = 35357auth_host = {keystone_host_ip}
  • tox 测试
cd /opt/stack/pronametox -e genconfig tox -e pep8 tox -e py27
  • 创建项目数据库
# 保证 proname 数据库下的所有表的编码集都是 utf8CREATE 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';
  • 初始化数据库
proname-manage db_sync
  • 验证服务是否正常运行
proname-api --config-file /etc/proname/proname.conf

到此为止, 新项目的服务就部署完成了, 赶紧撸代码吧 : )

转载地址:http://qnkzl.baihongyu.com/

你可能感兴趣的文章
千里马大赛落下帷幕!天池众智平台即将升级!
查看>>
oracle 删除用户下对象 脚本生成
查看>>
oc字符串的用法
查看>>
跟小静学CLR via C#(12)-委托Delegate
查看>>
android多线程-AsyncTask之工作原理深入解析(下)
查看>>
Python 文件操作
查看>>
CentOS 5/6 安装 GNOME 或 KDE 桌面
查看>>
finereport与OA系统集成的完全方案
查看>>
飞鱼星无线方案助力河北体育馆升级改造
查看>>
vmware的p2v迁移前准备工作
查看>>
当主库发生宕机,从库如何接管主库
查看>>
卷影副本(Shadow Copies)
查看>>
重新回归
查看>>
AngularJs 知识
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>
Spring.NET的AOP怎么玩
查看>>
Linux下配置Mysql允许远程访问详解
查看>>
nginx作为tcp代理 虚拟主机配置 模板
查看>>
超市购物小票案例
查看>>
file.src.rpm 使用方法的简单介绍
查看>>