system-config/testinfra/test_zookeeper.py
Clark Boylan 7502b87837 Add zk04.opendev.org
We will be rotating zk01-03.openstack.org out and replacing them with
zk04-06.opendev.org. This is the first change in that process which puts
zk04 into the rotation. This should only be landed when operators are
ready to manually stop zookeeper on zk03 (which is being replaced by
zk04 in this change).

Change-Id: Iea69130f6b3b2c8e54e3938c60e4a3295601c46f
2021-04-15 13:20:29 -07:00

56 lines
1.9 KiB
Python

# Copyright 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import json
testinfra_hosts = ['zk04.opendev.org']
def test_id_file(host):
# Test that wacky hostname regex works
myid = host.file('/var/zookeeper/data/myid')
assert myid.content == b'4\n'
def test_zk_listening(host):
zk = host.socket("tcp://0.0.0.0:2181")
assert zk.is_listening
def test_zk_listening_ssl(host):
zk = host.socket("tcp://0.0.0.0:2281")
assert zk.is_listening
def test_l4_commands(host):
cmd = host.run("echo srvr | nc localhost 2181")
assert "Zookeeper version" in cmd.stdout
assert "not executed because it is not in the whitelist" not in cmd.stdout
cmd = host.run("echo stat | nc localhost 2181")
assert "Zookeeper version" in cmd.stdout
assert "not executed because it is not in the whitelist" not in cmd.stdout
cmd = host.run("echo dump | nc localhost 2181")
assert "SessionTracker dump" in cmd.stdout
assert "not executed because it is not in the whitelist" not in cmd.stdout
cmd = host.run("echo mntr | nc localhost 2181")
assert "zk_version" in cmd.stdout
assert "not executed because it is not in the whitelist" not in cmd.stdout
def test_zookeeper_statsd_running(host):
cmd = host.run("docker inspect zookeeper-compose_zookeeper-statsd_1")
out = json.loads(cmd.stdout)
assert out[0]["State"]["Status"] == "running"
assert out[0]["RestartCount"] == 0