本文整理汇总了Python中consul.Consul方法的典型用法代码示例。如果您正苦于以下问题:Python consul.Consul方法的具体用法?Python consul.Consul怎么用?Python consul.Consul使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类consul
的用法示例。
在下文中一共展示了consul.Consul方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_kv_encoding
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_kv_encoding(self, consul_port):
c = consul.Consul(port=consul_port)
# test binary
c.kv.put('foo', struct.pack('i', 1000))
index, data = c.kv.get('foo')
assert struct.unpack('i', data['Value']) == (1000,)
# test unicode
c.kv.put('foo', u'bar')
index, data = c.kv.get('foo')
assert data['Value'] == six.b('bar')
# test empty-string comes back as `None`
c.kv.put('foo', '')
index, data = c.kv.get('foo')
assert data['Value'] is None
# test None
c.kv.put('foo', None)
index, data = c.kv.get('foo')
assert data['Value'] is None
# check unencoded values raises assert * Python3 don't need
# pytest.raises(AssertionError, c.kv.put, 'foo', {1: 2})
示例2: test_kv_acquire_release
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_kv_acquire_release(self, consul_port):
c = consul.Consul(port=consul_port)
pytest.raises(
consul.ConsulException, c.kv.put, 'foo', 'bar', acquire='foo')
s1 = c.session.create()
s2 = c.session.create()
assert c.kv.put('foo', '1', acquire=s1) is True
assert c.kv.put('foo', '2', acquire=s2) is False
assert c.kv.put('foo', '1', acquire=s1) is True
assert c.kv.put('foo', '1', release='foo') is False
assert c.kv.put('foo', '2', release=s2) is False
assert c.kv.put('foo', '2', release=s1) is True
c.session.destroy(s1)
c.session.destroy(s2)
示例3: test_service_dereg_issue_156
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_service_dereg_issue_156(self, consul_port):
# https://github.com/cablehead/python-consul/issues/156
service_name = 'app#127.0.0.1#3000'
c = consul.Consul(port=consul_port)
c.agent.service.register(service_name)
time.sleep(80 / 1000.0)
index, nodes = c.health.service(service_name)
assert [node['Service']['ID'] for node in nodes] == [service_name]
# Clean up tasks
assert c.agent.service.deregister(service_name) is True
time.sleep(40 / 1000.0)
index, nodes = c.health.service(service_name)
assert [node['Service']['ID'] for node in nodes] == []
示例4: test_agent_register_check_no_service_id
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_agent_register_check_no_service_id(self, consul_port):
c = consul.Consul(port=consul_port)
index, nodes = c.health.service("foo1")
assert nodes == []
pytest.raises(consul.std.base.ConsulException,
c.agent.check.register,
'foo', Check.ttl('100ms'),
service_id='foo1')
time.sleep(40 / 1000.0)
assert c.agent.checks() == {}
# Cleanup tasks
c.agent.check.deregister('foo')
time.sleep(40 / 1000.0)
示例5: test_agent_node_maintenance
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_agent_node_maintenance(self, consul_port):
c = consul.Consul(port=consul_port)
c.agent.maintenance('true', "test")
time.sleep(40 / 1000.0)
checks_pre = c.agent.checks()
assert '_node_maintenance' in checks_pre.keys()
assert 'test' == checks_pre['_node_maintenance']['Notes']
c.agent.maintenance('false')
time.sleep(40 / 1000.0)
checks_post = c.agent.checks()
assert '_node_maintenance' not in checks_post.keys()
示例6: test_health_checks
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_health_checks(self, consul_port):
c = consul.Consul(port=consul_port)
c.agent.service.register(
'foobar', service_id='foobar', check=Check.ttl('10s'))
time.sleep(40 / 1000.00)
index, checks = c.health.checks('foobar')
assert [check['ServiceID'] for check in checks] == ['foobar']
assert [check['CheckID'] for check in checks] == ['service:foobar']
c.agent.service.deregister('foobar')
time.sleep(40 / 1000.0)
index, checks = c.health.checks('foobar')
assert len(checks) == 0
示例7: test_session_delete_ttl_renew
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_session_delete_ttl_renew(self, consul_port):
c = consul.Consul(port=consul_port)
s = c.session.create(behavior='delete', ttl=20)
# attempt to renew an unknown session
pytest.raises(consul.NotFound, c.session.renew, '1' * 36)
session = c.session.renew(s)
assert session['Behavior'] == 'delete'
assert session['TTL'] == '20s'
# trying out the behavior
assert c.kv.put('foo', '1', acquire=s) is True
index, data = c.kv.get('foo')
assert data['Value'] == six.b('1')
c.session.destroy(s)
index, data = c.kv.get('foo')
assert data is None
示例8: test_operator_autopilot
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_operator_autopilot(self, consul_port):
time.sleep(2) # http code 429 Too Many Requests
c = consul.Consul(port=consul_port)
assert c.operator.autopilot.configuration()['MaxTrailingLogs'] == 250
assert not c.operator.autopilot.health()['FailureTolerance']
payload = {
"CleanupDeadServers": True,
"LastContactThreshold": "200ms",
"MaxTrailingLogs": 251,
"ServerStabilizationTime": "10s",
"RedundancyZoneTag": "",
"DisableUpgradeMigration": False,
"UpgradeVersionTag": "",
"CreateIndex": 4,
"ModifyIndex": 4
}
assert c.operator.autopilot.update(payload)
config = c.operator.autopilot.configuration()
assert config['MaxTrailingLogs'] == 251
示例9: test_acl_translate
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_acl_translate(self, acl_consul):
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
payload = """
agent "" {
policy = "write"
}
"""
translate = c.acl.create_translate(
payload=payload, token=acl_consul.token)
assert translate == b'agent_prefix "" {\n policy = "write"\n}'
# fixme
pytest.raises(consul.ConsulException,
c.acl.get_translate,
c.acl.self()['AccessorID'],
acl_consul.token)
示例10: test_acl_operator_area
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_acl_operator_area(self, acl_consul):
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
payload = {
"PeerDatacenter": "dc1",
"RetryJoin": ["10.1.2.3", "10.1.2.4", "10.1.2.5"],
"UseTLS": False
}
area1 = c.operator.area.create(payload)
c.operator.area.get(area1['ID'])
payload["PeerDatacenter"] = "dc1"
c.operator.area.update(payload, area1['ID'])
c.operator.area.list()
payload2 = ["10.1.2.3", "10.1.2.4", "10.1.2.5"]
c.operator.area.join(payload2, area1['ID'])
c.operator.area.members()
c.operator.area.delete(area1['ID'])
c.operator.area.list()
示例11: test_kv_recurse
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_kv_recurse(self, acl_consul):
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
index, data = c.kv.get('foo/', recurse=True)
assert data is None
c.kv.put('foo/', None)
index, data = c.kv.get('foo/', recurse=True)
assert len(data) == 1
c.kv.put('foo/bar1', '1')
c.kv.put('foo/bar2', '2')
c.kv.put('foo/bar3', '3')
index, data = c.kv.get('foo/', recurse=True)
assert [x['Key'] for x in data] == [
'foo/', 'foo/bar1', 'foo/bar2', 'foo/bar3']
assert [x['Value'] for x in data] == [
None, six.b('1'), six.b('2'), six.b('3')]
c.kv.delete('foo')
c.kv.delete('foo/')
c.kv.delete('foo/bar1')
c.kv.delete('foo/bar2')
c.kv.delete('foo/bar3')
示例12: test_kv_acquire_release
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_kv_acquire_release(self, acl_consul):
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
pytest.raises(
consul.ConsulException, c.kv.put, 'foo', 'bar', acquire='foo')
s1 = c.session.create()
s2 = c.session.create()
assert c.kv.put('foo', '1', acquire=s1) is True
assert c.kv.put('foo', '2', acquire=s2) is False
assert c.kv.put('foo', '1', acquire=s1) is True
assert c.kv.put('foo', '1', release='foo') is False
assert c.kv.put('foo', '2', release=s2) is False
assert c.kv.put('foo', '2', release=s1) is True
c.session.destroy(s1)
c.session.destroy(s2)
示例13: test_service_dereg_issue_156
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_service_dereg_issue_156(self, acl_consul):
# https://github.com/cablehead/python-consul/issues/156
service_name = 'app#127.0.0.1#3000'
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
c.agent.service.register(service_name)
time.sleep(80 / 1000.0)
index, nodes = c.health.service(service_name)
assert [node['Service']['ID'] for node in nodes] == [service_name]
# Clean up tasks
assert c.agent.service.deregister(service_name) is True
time.sleep(40 / 1000.0)
index, nodes = c.health.service(service_name)
assert [node['Service']['ID'] for node in nodes] == []
示例14: test_session_delete_ttl_renew
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_session_delete_ttl_renew(self, acl_consul):
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
s = c.session.create(behavior='delete', ttl=20)
# attempt to renew an unknown session
pytest.raises(consul.NotFound, c.session.renew, '1' * 36)
session = c.session.renew(s)
assert session['Behavior'] == 'delete'
assert session['TTL'] == '20s'
# trying out the behavior
assert c.kv.put('foo', '1', acquire=s) is True
index, data = c.kv.get('foo')
assert data['Value'] == six.b('1')
c.session.destroy(s)
index, data = c.kv.get('foo')
assert data is None
示例15: test_config
# 需要导入模块: import consul [as 别名]
# 或者: from consul import Consul [as 别名]
def test_config(self, acl_consul):
c = consul.Consul(port=acl_consul.port, token=acl_consul.token)
payload = {
"Kind": "service-defaults",
"Name": "web",
"Protocol": "http",
}
assert c.config.put(payload)
config = c.config.get(kind=payload['Kind'], name=payload['Name'])
assert config['Kind'] == 'service-defaults'
assert config['Name'] == 'web'
assert config['Protocol'] == 'http'
configs = c.config.list(kind=payload['Kind'])
assert configs[0]['Kind'] == 'service-defaults'
assert configs[0]['Name'] == 'web'
assert configs[0]['Protocol'] == 'http'
isdel = c.config.delete(kind=payload['Kind'], name=payload['Name'])
assert isdel
config = c.config.get(kind=payload['Kind'], name=payload['Name'])
assert config[1] is None