zoukankan      html  css  js  c++  java
  • 自动化生成 Openstack 新项目开发框架

    目录

    前言

    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

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

  • 相关阅读:
    安装sqlserver后 服务启动过几秒就自动停止
    MVC使用基架添加控制器出现的错误:无法检索XXX的元数据
    HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
    解决 NDP40-KB2468871不能安装
    十进制转二进制and位运算符
    行万里路
    grunt使用小记之uglify:最全的uglify使用DEMO
    grunt使用小记之开篇:grunt概述
    HTTP权威指南阅读笔记五:Web服务器
    ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/11825094.html
Copyright © 2011-2022 走看看