ceph的命令行工具箱

ceph-workbench的Python项目详细描述


安装

  • 安装dockerhttp://docs.docker.com/engine/installation/

  • 将以下内容复制到~/.bashrc

    eval "$(docker run dachary/ceph-workbench install)"
    
  • 验证它是否工作:

    ceph-workbench --help
    
  • (可选)将openstack$PROJECT-openrc.sh文件复制到 ~/.ceph-workbench/openrc.sh:子命令ceph-qa-suite将 使用它。

黑客攻击

为了获得最好的结果,在ubuntu 14.04中以普通用户(而不是根用户)的身份进行开发。

  • 获取代码:

    git clone --recursive http://ceph-workbench.dachary.org/root/ceph-workbench.git
    
  • 设置开发环境:

    deactivate || true ; source bootstrap
    

    这将创建一个包含ceph-workbench 可执行文件和它需要工作的一切。

  • 激活开发环境并运行ceph-workbench

    source virtualenv/bin/activate
    PYTHONPATH=teuthology ceph-workbench --help
    
  • 运行测试(需要OpenStack凭据才能获得100%的覆盖率):

    deactivate || true ; bash run-tests.sh
    
  • 同步条件学子模块:

    git submodule update --remote teuthology
    
  • 运行单个测试:

    tox -e py27 -- -s -k test_run tests/test_ceph_qa_suite.py
    
  • 使用当前工作的开发环境运行ceph工作台 Docker容器中的目录,而不是安装的版本:

    eval "$(docker/entrypoint.sh install)"
    ceph-workbench --help # use what is installed in the container
    ceph-workbench-debug --help # use ceph-workbench from the working directory
    ceph-workbench-shell bash # login the container and debug
    
  • 查看文档:rst2html<;README.rst>;/tmp/a.html

发布管理

  • 准备新版本
  • version=1.3.0 ; perl -pi -e “s/^version.*/version = $version/” setup.cfg ; for i in 1 2 ; do python setup.py sdist ; amend=$(git log -1 –oneline | grep –quiet “version $version” && echo –amend) ; git commit $amend -m “version $version” ChangeLog setup.cfg ; git tag -a -f -m “version $version” $version ; done
  • 发布新版本
  • python setup.py sdist upload –sign
  • git push ; git push –tags
  • docker rmi dachary/ceph-workbench
  • docker build –no-cache –tag dachary/ceph-workbench docker
  • docker build –tag dachary/ceph-workbench:1.5.9 docker
  • docker login
  • docker push dachary/ceph-workbench
  • docker push dachary/ceph-workbench:1.5.9
  • PYPI维护

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException