TBD
devnest的Python项目详细描述
#devnest工具
一个简单的cli来管理devnest中硬件的“保留”。
此工具的主要用例是保留共享节点 用于调试和开发工作。
当前实现使用jenkins api和存储在其中的元数据 Jenkins负责管理devnest中硬件的生命周期。
一旦节点被保留,它就会被离线,所以没有其他的詹金斯 用户可以使用它,直到预订过期并正在清理它。
###用法
##配置文件
默认情况下,devnest会查找~/.config/jenkins_jobs/jenkins_jobs.ini, 或/etc/jenkins_jobs/jenkins_jobs.ini(按顺序)。
可以替换cli参数,如user、password和url 使用包含此信息的配置文件并将路径传递到此文件 使用–conf标志。:
` [jenkins] user=JENKINS_USERNAME password=JENKINS_API_TOKEN url=https://JENKINS_URL `
- 使用jenkins可以在以下位置找到jenkins_api_令牌:
- https://JENKINS_URL/user/JENKINS_USERNAME/configure
##运行devnest cli
在虚拟环境中运行:
` git clone https://github.com/rhos-infra/devnest.git virtualenv my-devnest-virtenv source my-devnest-virtenv/bin/activate pushd devnest pip install . devnest --help `
##示例命令
在“共享”服务器池中基于regexp列出 ` devnest --conf config.ini list -g shared "*my_node_0?" `
列出所有“共享”服务器池 ` devnest --conf config.ini list -g shared `
从“共享”池中保留节点4h(regex必须只匹配1个节点) ` devnest --conf config.ini reserve -g shared -t 4 *my_node_03 `
解除预约 ` devnest --conf config.ini release *my_node_03 `
更改
- 允许扩展已保留的节点
- 将选项添加到当前正在运行CI作业的强制保留节点
- 为非空闲节点添加新状态
- 允许从环境变量加载参数
- 使用crumbrequester而不是requester
- 确保节点在联机之前暂时脱机
- 在将节点标记为联机之前,请确保该节点处于临时脱机状态
- 添加选项以基于状态列出节点
- 将devnest从private移动到rhos infra repo后更新了链接
- 固定线头
- 如果json包含错误的引号,则修复对它的解析
- 基于xml文件向setup slave添加函数
- 修复函数参数名
- 添加了作者文件
- 添加了设置重新设置挂起状态的选项
- 将列中的组增强为逗号分隔列表
- 更新的选项更加方便用户
- 启用打包
- 用户可以选择可分析类型输出
- 配置文件的默认位置
- 将jenkins重命名为devnest
- 添加了额外的元数据以方便登录到框中
- 将jenkinsnodecli重命名为devnest
- 增加了VCPU功能
- 引入节点功能
- 更改了输出中的列名
- 更改了节点状态的术语
- 添加选项以指定保留节点的所有者
- 修复了节点与说明不同步的问题
- 添加了用于管理节点组/标签的选项
- 更改的cli参数和支持函数对标准用户的限制更严格,例如一个用户不能释放另一个用户的box
- 添加信息以获得更好的用户体验
- 修复对jenkins.node的不正确调用(性能)
- 固定函数get_reservation_endtime_epoch
- 未指定参数时添加了错误
- jenkins node cli的初始提交