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嵌套循环打印一个数字,旁边有相同数量的星号   java JodReports替代方案   java如何将模型类parcelable对象从片段传递到活动?   java JCS缓存删除功能不删除特定元素   如何打开。Java的dll文件。   java在这种情况下如何选择聚合根?   java从CellEditorListener获取编辑的TreeNode   Java到web服务和mysql   从openssl ec在Java中创建公钥时出现加密无效密钥异常   Java数组:添加多个数组的元素时忽略空数组   java在初始化后向fragment发送数据   JButtons的java数组正在返回void   若联接列不包含特定值,则java JPA条件生成器仅返回实体   java ActionBar问题:NPE   java Portlet是被广泛使用还是非常罕见?