def test_ssl(self, ssl): cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["node-0", "node-1", "node-2"], total_nodes_count=3, crate_node_name_prefix="node-", cluster_name="my-cluster", node_name="node", node_spec={"resources": { "cpus": 1, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=ssl, is_master=True, is_data=True, ) if ssl: assert "-Cssl.http.enabled=true" in cmd assert "-Cssl.psql.enabled=true" in cmd else: assert "-Cssl.http.enabled=true" not in cmd assert "-Cssl.psql.enabled=true" not in cmd
def test_node_name(self, random_string): node_name = random_string() crate_node_name_prefix = random_string() cmd = get_statefulset_crate_command( namespace=random_string(), name=random_string(), master_nodes=["data-node-0", "data-node-1", "data-node-2"], total_nodes_count=3, crate_node_name_prefix=crate_node_name_prefix, cluster_name="my-cluster", node_name=node_name, node_spec={"resources": { "cpus": 1, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=False, is_master=True, is_data=True, ) assert ( f"-Cnode.name={crate_node_name_prefix}$(hostname | rev | cut -d- -f1 | rev)" in cmd) assert f"-Cnode.attr.node_name={node_name}" in cmd
def test_cpus(self, cpus, ceiled): cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["node-0", "node-1", "node-2"], total_nodes_count=3, crate_node_name_prefix="node-", cluster_name="my-cluster", node_name="node", node_spec={"resources": { "cpus": cpus, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=False, is_master=True, is_data=True, ) assert f"-Cprocessors={ceiled}" in cmd
def test_entrypoint_first_item(self, random_string): cmd = get_statefulset_crate_command( namespace=random_string(), name="cluster1", master_nodes=["data-node-0", "data-node-1", "data-node-2"], total_nodes_count=3, crate_node_name_prefix="data-node-", cluster_name="my-cluster", node_name="node", node_spec={"resources": { "cpus": 1, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=False, is_master=True, is_data=True, ) assert ["/docker-entrypoint.sh", "crate"] == cmd[0:2]
def test_master_data_flags(self, master, data): cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["node-0", "node-1", "node-2"], total_nodes_count=3, crate_node_name_prefix="node-", cluster_name="my-cluster", node_name="node", node_spec={"resources": { "cpus": 1, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=False, is_master=master, is_data=data, ) assert f"-Cnode.master={str(master).lower()}" in cmd assert f"-Cnode.data={str(data).lower()}" in cmd
def test_disks_counts(self, count): cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["node-0", "node-1", "node-2"], total_nodes_count=3, crate_node_name_prefix="node-", cluster_name="my-cluster", node_name="node", node_spec={"resources": { "cpus": 1, "disk": { "count": count } }}, cluster_settings=None, has_ssl=False, is_master=True, is_data=True, ) arg = "-Cpath.data=" + ",".join(f"/data/data{i}" for i in range(count)) assert arg in cmd
def test_node_counts(self, total, quorum): cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["node-0", "node-1", "node-2"], total_nodes_count=total, crate_node_name_prefix="node-", cluster_name="my-cluster", node_name="node", node_spec={"resources": { "cpus": 1, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=False, is_master=True, is_data=True, ) assert f"-Cgateway.recover_after_nodes={quorum}" in cmd assert f"-Cgateway.expected_nodes={total}" in cmd
def test_cluster_name(self, random_string): cluster_name = random_string() cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["data-node-0", "data-node-1", "data-node-2"], total_nodes_count=3, crate_node_name_prefix="data-node-", cluster_name=cluster_name, node_name="node", node_spec={"resources": { "cpus": 1, "disk": { "count": 1 } }}, cluster_settings=None, has_ssl=False, is_master=True, is_data=True, ) assert f"-Ccluster.name={cluster_name}" in cmd
def test_node_and_cluster_settings_may_override(self): cmd = get_statefulset_crate_command( namespace="some-namespace", name="cluster1", master_nodes=["node-0", "node-1", "node-2"], total_nodes_count=3, crate_node_name_prefix="node-", cluster_name="my-cluster", node_name="node", node_spec={ "resources": { "cpus": 1, "disk": { "count": 1 } }, "settings": { "auth.host_based.enabled": "node-override", "node.attr.node_setting": "node-override", "node.attr.some_node_setting": "node", }, }, cluster_settings={ "auth.host_based.enabled": "cluster-override", "node.master": "cluster-override", "node.attr.some_cluster_setting": "cluster", }, has_ssl=False, is_master=True, is_data=True, ) assert "-Cauth.host_based.enabled=node-override" in cmd assert "-Cnode.attr.node_setting=node-override" in cmd assert "-Cnode.master=cluster-override" in cmd assert "-Cnode.attr.some_node_setting=node" in cmd assert "-Cnode.attr.some_cluster_setting=cluster" in cmd