实验毒物管理的混沌工具箱扩展
chaostoolkit-toxiprox的Python项目详细描述
#ToxiProxy的Chaos工具箱驱动程序
[![构建状态](https://travis-ci.org/chaostolkit-incubator/chaostolkit-toxiproxy.svg?branch=master)(https://travis ci.org/chaostoulkit孵化器/haostoulkit toxiproxy)
[![python版本](https://img.shields.io/pypi/pyversions/chaostolkit toxiproxy.svg)(https://www.python.org/)
欢迎使用[toxiproxy][toxiproxy]的[chaos toolkit]驱动程序!此扩展允许您通过使用toxy proxy[http管理api](https://github.com/shopify/toxiproxy\http api)从chaostolkit设置toxy代理探测和方法。
[toxiproxy]:https://github.com/shopify/toxiproxy
[chaostolkit]:http://chaostolkit.org
Y有效。
```
$pip install-u chaostolkit toxiproxy
```
ey,转到实验json中的配置部分。如果未提供端口,则默认为8474。
```
此扩展遵循toxiproxy规则。代理是可以添加毒性的通道。因此,扩展分为代理管理和有毒管理。
扩展中的所有操作和探测都是python类型,与任何其他python扩展一样使用。
在ToxiProxy中,值为0的侦听端口告诉API分配随机可用端口。代理正在侦听的值将作为*\<;proxyname\>;端口*附加到**chaostolkit配置对象**。如果创建代理失败,则会引发断言错误,停止所有后续操作。
|是无
无无无
侦听toxiproproxy侦听的绑定IP地址无0.0.0.0
无
无无无无无124;否真
####修改代理
修改给定代理的配置。有助于更改上游配置。只有提供的参数才可修改代理。
参数描述必需默认;
;--;--;
代理代理名称是无;
;
侦听器addres ip:要修改的端口地址否无;无;
上游上游Res IP:上游港口No none
enabled开关启用/禁用状态no none
non;————————————————————————————————————————————————————————————————————————oxy to disable|Yes|None|
#### enable_proxy
Enables a disabled proxy.
|Argument|Description|Required|Default|
|--------|-----------|--------|-------|
|proxy_name|name for the proxy to enable|Yes|None|
#### delete_proxy
Removes the proxy from 系统。
示例用法"provider":{
"type":"python",
"module":"toxiproxy.proxy.actions",
"func":"create_proxy",
"arguments":{
"proxy name":"myproxy",
"listen_port":6666,
"上游主机":"10.28.188.118",
"上游端口":6040
}
},
"暂停":{
"之后":1
}
}
]
````
如果给定代理存在,则返回true为false。如果给定代理存在,则返回true为false。如果给定代理存在,则返回true为false。如果此扩展提供的所有操作都匹配此扩展提供的所有操作的类型和属性与此扩展提供的所有操作的类型和属性的类型和属性匹配,则此扩展提供的所有操作都匹配此扩展提供的所有操作的类型和属性的类型和属性都匹配。[有毒的(https://github.com/shopify/toxiproxy toxics)。
参数说明必需默认;
是否
参数说明说明必需默认
类型是无
溪流有毒"上游"o的方向r"下游"无下游
毒性毒性1.0百分率为100%,0.5百分率为50%等无毒性1.0
;属性;毒性类型属性字典;无;无
无
/>/>对所有通过的数据添加一个延迟,所有数据都要经过一个延迟,所有数据都要经过一个延迟。使用带有毒物的下游的代理100%的有效性。
自变量描述必需默认;
代理代理名称是无
以毫秒为单位添加延迟是无
抖动时间以毫秒为单位对抖动no 0进行抖动0
创建带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带毒性为100%。
要附加的代理的名称毒性是无
.
参数说明必需默认
|—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————·是;是;无;无;无35;创建有毒的切片器
在毒性为100%的每个切片"数据包"之间添加延迟时间。
参数;描述;必需;默认;
;--;--;
;\u proxy;;用于附加toxy的代理的名称;是;无;
;有毒有毒有毒有毒有毒有毒有毒有毒有毒
BYT中的平均尺寸平均包的es是无
越限越限,设为暗流,100%毒性。
参数描述必需默认;
是无
br/>字节要传输的字节数b在关闭连接之前是无
e toxy是无无有毒,
"func":"create_dowsntream_latency_toxic",
"arguments":{
"for_proxy":"edsproxy",
"toxic_name":"latency_toxic",
"latency":5000,
"jitter":200
}
},
"pauses":{
"after":1
}
}
]
````
请,fork这个项目,按照通常的代码风格进行更改,洒上测试并提交一个pr以供审查。
[pep8]:https://pycodestyle.readthedocs.io/en/latest/
希望将
合并到存储库的主分支中。请确保您在提交PR之前可以遵守DCO的规则。
[DCO]:https://github.com/probot/dco它的工作原理
\development
但首先,[创建一个虚拟环境][venv]然后安装
这些依赖项。
[venv]:http://chaostoolkit.org/reference/usage/install/create-a-virtual-environment
``控制台
$pip install-r requirements-dev.txt-r requirements.txt
```
$python setup.py develop
```
现在,您可以编辑这些文件,并且它们将被您的
环境自动看到,即使在本地从"chaos"命令运行时也是如此。
项目的sts执行以下操作:
````
$tox
````
[![构建状态](https://travis-ci.org/chaostolkit-incubator/chaostolkit-toxiproxy.svg?branch=master)(https://travis ci.org/chaostoulkit孵化器/haostoulkit toxiproxy)
[![python版本](https://img.shields.io/pypi/pyversions/chaostolkit toxiproxy.svg)(https://www.python.org/)
欢迎使用[toxiproxy][toxiproxy]的[chaos toolkit]驱动程序!此扩展允许您通过使用toxy proxy[http管理api](https://github.com/shopify/toxiproxy\http api)从chaostolkit设置toxy代理探测和方法。
[toxiproxy]:https://github.com/shopify/toxiproxy
[chaostolkit]:http://chaostolkit.org
Y有效。
```
$pip install-u chaostolkit toxiproxy
```
ey,转到实验json中的配置部分。如果未提供端口,则默认为8474。
```
此扩展遵循toxiproxy规则。代理是可以添加毒性的通道。因此,扩展分为代理管理和有毒管理。
扩展中的所有操作和探测都是python类型,与任何其他python扩展一样使用。
在ToxiProxy中,值为0的侦听端口告诉API分配随机可用端口。代理正在侦听的值将作为*\<;proxyname\>;端口*附加到**chaostolkit配置对象**。如果创建代理失败,则会引发断言错误,停止所有后续操作。
|是无
无无无
侦听toxiproproxy侦听的绑定IP地址无0.0.0.0
无
无无无无无124;否真
####修改代理
修改给定代理的配置。有助于更改上游配置。只有提供的参数才可修改代理。
参数描述必需默认;
;--;--;
代理代理名称是无;
;
侦听器addres ip:要修改的端口地址否无;无;
上游上游Res IP:上游港口No none
enabled开关启用/禁用状态no none
non;————————————————————————————————————————————————————————————————————————oxy to disable|Yes|None|
#### enable_proxy
Enables a disabled proxy.
|Argument|Description|Required|Default|
|--------|-----------|--------|-------|
|proxy_name|name for the proxy to enable|Yes|None|
#### delete_proxy
Removes the proxy from 系统。
示例用法"provider":{
"type":"python",
"module":"toxiproxy.proxy.actions",
"func":"create_proxy",
"arguments":{
"proxy name":"myproxy",
"listen_port":6666,
"上游主机":"10.28.188.118",
"上游端口":6040
}
},
"暂停":{
"之后":1
}
}
]
````
如果给定代理存在,则返回true为false。如果给定代理存在,则返回true为false。如果给定代理存在,则返回true为false。如果此扩展提供的所有操作都匹配此扩展提供的所有操作的类型和属性与此扩展提供的所有操作的类型和属性的类型和属性匹配,则此扩展提供的所有操作都匹配此扩展提供的所有操作的类型和属性的类型和属性都匹配。[有毒的(https://github.com/shopify/toxiproxy toxics)。
参数说明必需默认;
是否
参数说明说明必需默认
类型是无
溪流有毒"上游"o的方向r"下游"无下游
毒性毒性1.0百分率为100%,0.5百分率为50%等无毒性1.0
;属性;毒性类型属性字典;无;无
无
/>/>对所有通过的数据添加一个延迟,所有数据都要经过一个延迟,所有数据都要经过一个延迟。使用带有毒物的下游的代理100%的有效性。
自变量描述必需默认;
代理代理名称是无
以毫秒为单位添加延迟是无
抖动时间以毫秒为单位对抖动no 0进行抖动0
创建带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带带毒性为100%。
要附加的代理的名称毒性是无
.
参数说明必需默认
|—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————·是;是;无;无;无35;创建有毒的切片器
在毒性为100%的每个切片"数据包"之间添加延迟时间。
参数;描述;必需;默认;
;--;--;
;\u proxy;;用于附加toxy的代理的名称;是;无;
;有毒有毒有毒有毒有毒有毒有毒有毒有毒
BYT中的平均尺寸平均包的es是无
越限越限,设为暗流,100%毒性。
参数描述必需默认;
是无
br/>字节要传输的字节数b在关闭连接之前是无
e toxy是无无有毒,
"func":"create_dowsntream_latency_toxic",
"arguments":{
"for_proxy":"edsproxy",
"toxic_name":"latency_toxic",
"latency":5000,
"jitter":200
}
},
"pauses":{
"after":1
}
}
]
````
请,fork这个项目,按照通常的代码风格进行更改,洒上测试并提交一个pr以供审查。
[pep8]:https://pycodestyle.readthedocs.io/en/latest/
希望将
合并到存储库的主分支中。请确保您在提交PR之前可以遵守DCO的规则。
[DCO]:https://github.com/probot/dco它的工作原理
\development
但首先,[创建一个虚拟环境][venv]然后安装
这些依赖项。
[venv]:http://chaostoolkit.org/reference/usage/install/create-a-virtual-environment
``控制台
$pip install-r requirements-dev.txt-r requirements.txt
```
```
现在,您可以编辑这些文件,并且它们将被您的
环境自动看到,即使在本地从"chaos"命令运行时也是如此。
项目的sts执行以下操作:
````
$tox
````