‘loadbalancer’接口协议API库
项目描述
loadbalancer
接口协议API库
此库提供了一种API,用于从一个charm请求和提供负载均衡器或入口端点到另一个charm。它可以用于使用较新的Operator Framework编写的charm,或者仍然使用charms.reactive Framework的旧charm。
安装/设置
将此库作为依赖项包含在您的charm中,对于Operator Framework charm,在requirements.txt
中,对于reactive charm,在wheelhouse.txt
中
loadbalancer_interface
用法
请求负载均衡器
从服务提供商请求负载均衡器是通过LBProvider
类完成的。使用该类的通用模式是
- 等待提供商变得可用
- 通过
get_request(name)
方法获取Request
对象 - 在请求对象上设置适当的字段
- 通过
send_request(request)
方法发送Request
- 等待提供(或更新)
Response
- 通过
get_response(name)
方法或通过new_responses
属性获取Response
对象 - 确认请求成功并使用提供的LB地址
- 通过
ack_response(response)
确认Response
有关如何在操作符魅力或响应式魅力中执行此操作,请参阅存储库中的示例。
提供负载均衡器
通过LBConsumers
类向消费者提供负载均衡器。使用该类的通用模式是
- 等待新的或更新的请求到来
- 遍历
new_requests
属性中的每个请求对象 - 根据请求的字段创建负载均衡器
- 在请求的
response
对象上设置适当的字段 - 通过
send_response(request)
方法发送请求的响应
有关如何在操作符魅力或响应式魅力中执行此操作,请参阅存储库中的示例。
API参考
有关API的详细参考,请参阅API文档。
测试魅力
为了简化使用此接口的魅力的测试,此库提供测试魅力,可与pytest-operator插件集成的测试一起使用,作为提供或需要此接口的魅力的基本对应物。
魅力通过一个lb_charms
固定装置访问,该装置是会话范围的。该装置提供一个对象,具有对存储库中示例魅力的每个属性。(属性名称将是魅力名称,用下划线替换短划线。)例如
async def test_build_and_deploy(ops_test, lb_charms):
my_charm = await ops_test.build_charm(".")
lb_provider = await ops_test.build_charm(lb_charms.lb_provider)
await ops_test.model.deploy(my_charm)
await ops_test.model.deploy(lb_provider)
await ops_test.model.add_relation("my-charm", "lb-provider")
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
loadbalancer_interface-1.2.0.tar.gz (17.5 kB 查看散列)
构建分发
关闭
哈希值 对于 loadbalancer_interface-1.2.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 26a90cdac756e8a9cbed0a0068a30d572fd103a7dfdd9627d8a5f4288ba9bd19 |
|
MD5 | f95bf60548a2cd78a5cd4ddb4c27cf9f |
|
BLAKE2b-256 | 2e6b4ef4718014382676723c7c95dce41926c138ed65eb8a63f84cbcf7e88ec3 |