chacra服务的客户端工具
chacractl的Python项目详细描述
chacractl
与chacra服务交互的客户端接口 (http://github.com/ceph/chacra)。
配置
客户机在$HOME/.chacractl处写入一个配置文件,其中包含一些所需的 信息:
# This file was automatically generated by the chacractl CLI # make sure to update it with the correct user and key to talk to the API url = "http://example/" user = "admin" key = "secret" ssl_verify = True
需要修改这些值,以便cli可以与远程 应用程序编程接口。
二进制文件
cli允许与二进制文件进行一些交互,具体取决于操作 需求可能会改变例如,当尝试上载二进制文件时, 该工具可以接受stdin或实际的文件输入。
创建
对于发布二进制文件,如果发布一个二进制文件,最好通过 完整路径作为binary子命令的最后一个参数:
chacractl binary create project/ref/distro/distro-version/arch /path/to/binary.rpm
但为了方便起见,如果发送许多文件,它也可以接受来自stdin的文件, 通常使用find命令的输出,可以使用 grep或类似。
下面是类似于ceph-deploy的项目的此类命令的示例:
find ~/repos | grep ceph-deploy | grep rpm | grep noarch | grep el6 | chacractl binary create ceph-deploy/master/centos/6/noarch
如果二进制已经存在,需要重新上载,^ {TT9}$ 必须使用标志在这种情况下,请求将是一个PUT,并且资源 将在API中被覆盖。
存在
检查给定的URL端点是否存在。此子命令需要 完整的url部分(与要求url启动的其他子命令不同 来自项目名称:
chacractl exists repos/ceph-deploy/master/centos/7
如果没有找到端点,它将返回非零退出状态
回购协议
存储库可以更新或完全重新创建。当API 未触发更改和存储库创建
重新创建
recreate调用将完全删除光盘上的存储库,并指示 对repo创建进行排队的api。这些操作不是立即执行的:删除 一旦请求被处理并且 当队列执行作业时(可能在 配置的超时)
一个简单的电话看起来像:
chacractl repo recreate ceph/infernalis/debian/jessie
请注意如何需要分发版本的完整路径
更新
类似于recreate,但它不会删除光盘上的实际存储库 在排队请求之前当添加了二进制文件并且 客户希望确保将其添加到回购:
chacractl repo update ceph/infernalis/debian/jessie