橡树的基本protobuf数据模型
oaktreemodel的Python项目详细描述
Oaktree是一个用于与OpenStack云交互的GRPC接口,即 固有的互操作性和多云感知。
oaktreemodel是protobuf定义、库和/或代码 由此产生,使所有语言的人都有可能 与grpc系统交互,而不必在任何地方开发python依赖项。
开始时,支持GO、C++和Python。
使用go,生成的文件将签入git repo,因为 依赖关系如何工作。
用C++和Python,它们不是,因为我们消耗了消耗单位。 是一个内置的库和头文件的C++或PYPI包红宝石。是的 当我们为更多的语言添加结构时 遵循C++/Python方法,而不是GO方法——但决定 将在每种语言的基础上制作并在此处报告。
关于api compat的说明
升级oaktree绝不应该对最终用户产生负面影响。
在1.0.0版本被剪切之前,请考虑 此回购协议可以在没有通知或考虑向后中断的情况下更改 同胞。这是一种新的方法,而且很可能 我们会犯几次错误的。
post 1.0.0 oaktree和oaktreemodel将保持相同的向后兼容 承诺本身就是阴影。那就是-永远不会有向后的同胞 中断发布,并且应该始终安全地部署最新版本 在生产中。事实上,即使是那些运行老年稳定版本的人 openstack,建议运行最新的oaktree,以便 可以选择最新的交叉兼容性更改。
实施注意事项
oaktreemodel的目的就是要实现多个 基于原型BuffF描述存在客户端交互。事实上, 从这个回购协议生成和发布的代码在GRPC上的级别相当低 基本上,几乎可以肯定的是,每种语言都希望 在具有最终用户的其他库的上下文中使用此代码 专注的用户界面。
服务器的多个实现绝对不是目的 一边存在。
原因是,至少到目前为止, shade库是一个广泛而复杂的库。它处理一百万个角落的案子 下面的云。Oaktree服务器应该能够进行对话,而不仅仅是 部署到云中,也部署到其他OpenStack云中 要么与远程oaktree对话,要么直接与远程openstack api对话。
GRPC中的客户端接口应被认为是全面的 尽可能描述接口。对于想要橡树的人 服务器,请使用实际的橡树。
建筑
首先,您需要一些依赖关系:
pip install bindep apt-get install $(bindep -b) pip install -f requirements.txt pip install grpcio-tools go get -u github.com/golang/protobuf/protoc-gen-go
然后您可以生成代码:
autoreconf -fi ./configure make