用于获取和重用计算资源的API。
项目描述
CRCache
版权(c)2013 crcache贡献者
根据用户的喜好,在Apache License,Version 2.0或BSD 3-clause许可下许可。两个许可证的副本都可在项目源中找到,分别为Apache-2.0和BSD。您不得使用此文件,除非符合这两个许可证中的一个。
除非适用法律要求或书面同意,否则在这些许可证下分发的软件是根据“现状”原则分发的,不提供任何形式的保证或条件,无论是明示的还是暗示的。请参阅您选择的许可证,了解具体管理该许可证下的权限和限制的语言。
概述
crcache - 计算资源缓存 - 是一个命令行工具,用于抽象化获取、使用和重用计算资源。这允许将项目关注点(例如“运行dpkg-buildpackage”)与环境影响(例如使用Debian wheezy chroot来运行命令)分离。
crcache允许您编写需要扩展到多台机器的程序,而无需将自己绑定到特定的供应系统。例如,运行本地测试、lxc容器或计算云中的测试可以通过一个crcache调用完成,用户可以告诉crcache在何处(以及如何)获取计算资源来运行测试。简单的配置系统和命令行API使您可以随时重新配置。
默认配置将在没有容器或任何其他隔离的情况下本地运行命令
$ crcache acquire local $ crcache run local echo foo foo $ crcache release local
有关配置详情,请参阅https://crcache.readthedocs.org/或源代码树中的docs/子目录中的手册。
与“云”API的差异
crcache 在几个关键方面与云API(包括云特定和供应商中立的API)不同。
它专注于在每个资源内运行简单命令,这提供了一个简单的编程模型。
在其上构建的程序不需要了解整个云计算模型,而是由用户来配置。
它本地管理状态,允许跨许多云和/或本地设施(如 chroots 和容器)混合匹配。
安装
Pip 是安装 crcache 的最简单方法。
$ pip install crcache
要求
crcache 旨在具有广泛的可移植性。只要有
Python 2.6+ 或 3.2+。
“extras” Python 模块。
“six” Python 模块。
cr_cache 的某些提供者插件可能不太可移植。当提供者依赖于标准库之外的内容(或比上述版本范围新)时,它将被放置在单独的树中,因此其安装是可选的。