跳转到主要内容

‘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 (24.4 kB 查看散列)

上传于 Python 3

由以下支持