自动化生成 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 的话, 我会非常欢迎和感谢 .

Github 地址

环境

  • 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 <new_manager_service_name> <new_project_name> <new_project_path>
# 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/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
  • 编辑配置文件
    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}
  • tox 测试
cd /opt/stack/proname
tox -e genconfig 
tox -e pep8 
tox -e py27
  • 创建项目数据库
# 保证 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';
  • 初始化数据库
proname-manage db_sync
  • 验证服务是否正常运行
proname-api --config-file /etc/proname/proname.conf

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

相关文章
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
456 11
|
4月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
2月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
5月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
5月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
274 11
|
5月前
|
Java 测试技术 API
自动化测试框架深度解析与选择指南
Apache JMeter是Apache组织基于Java开发的一款压力测试工具,旨在测试软件的性能承受能力。它支持多种协议测试及功能测试,提供灵活的断言创建能力,如同创建带断言的脚本来验证程序是否返回预期结果。
|
6月前
|
人工智能 监控 数据可视化
微信养号脚本插件,全自动化工具,【autojs实现框架】
这是一套微信养号自动化脚本,包含主脚本`wechat_auto.js`和配置文件`config.json`。脚本实现自动浏览朋友圈、订阅号新闻文章及指定公众号历史文章三大功能,支持自定义滚动次数、阅读时长与运行时间等参数。特点包括随机化操作、多种浏览模式交替及完善的日志记录。配套UI模块提供可视化控制界面,方便监控任务状态与调整参数。下载地址:https://www.pan38.com/share.php?code=n6cPZ,提取码:8888(仅供学习参考)。
|
9月前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
11月前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
535 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期