def test_orphaned_services_multi_rack(db_cluster): """ Issue https://github.com/scylladb/scylla-operator/issues/514 """ new_nodes = [] log.info("Add node to the rack 1") new_nodes.append( db_cluster.add_nodes(count=1, dc_idx=0, enable_auto_bootstrap=True, rack=1)) log.info("Add node to the rack 2") new_nodes.append( db_cluster.add_nodes(count=1, dc_idx=0, enable_auto_bootstrap=True, rack=2)) assert not get_orphaned_services( db_cluster ), "Orphaned services were found after grow cluster with new racks" log.info("Decommission of 2 nodes") for node in new_nodes: db_cluster.decommission(node[0]) db_cluster.wait_for_pods_readiness(pods_to_wait=2, total_pods=len(db_cluster.nodes)) assert not get_orphaned_services( db_cluster), "Orphaned services were found after decommission"
def test_orphaned_services_after_shrink_cluster(db_cluster): """ Issue https://github.com/scylladb/scylla-operator/issues/514 """ log.info("Decommission of two node") db_cluster.decommission(db_cluster.nodes[-1]) db_cluster.wait_for_pods_readiness(pods_to_wait=1, total_pods=len(db_cluster.nodes)) assert not get_orphaned_services( db_cluster), "Orphaned services were found after decommission" db_cluster.decommission(db_cluster.nodes[-1]) db_cluster.wait_for_pods_readiness(pods_to_wait=1, total_pods=len(db_cluster.nodes)) assert not get_orphaned_services( db_cluster), "Orphaned services were found after decommission"
def test_orphaned_services_after_drain(db_cluster): """ Issue https://github.com/scylladb/scylla-operator/issues/514 """ node_to_remove = random.choice(db_cluster.non_seed_nodes) node_to_remove_uid = node_to_remove.k8s_pod_uid log.info('TerminateNode %s (uid=%s)', node_to_remove, node_to_remove_uid) node_to_remove.drain_k8s_node() db_cluster.wait_for_pods_readiness(pods_to_wait=1, total_pods=len(db_cluster.nodes)) assert not get_orphaned_services( db_cluster), "Orphaned services were found after drain" node_to_remove.mark_to_be_replaced() node_to_remove.wait_till_k8s_pod_get_uid(ignore_uid=node_to_remove_uid) node_to_remove.wait_for_pod_readiness() db_cluster.wait_for_pods_readiness(pods_to_wait=1, total_pods=len(db_cluster.nodes)) assert not get_orphaned_services( db_cluster), "Orphaned services were found after replace"
def test_orphaned_services_multi_rack(db_cluster): """ Issue https://github.com/scylladb/scylla-operator/issues/514 """ log.info("Add node to the rack 1") new_node = db_cluster.add_nodes(count=1, dc_idx=0, enable_auto_bootstrap=True, rack=1)[0] log.info("Decommission newly added node from the rack 1") svc_name = new_node.name db_cluster.decommission(new_node) db_cluster.wait_for_pods_readiness(pods_to_wait=1, total_pods=len(db_cluster.nodes)) log.info("Wait for deletion of the '%s' svc for just deleted pod", svc_name) wait_for_resource_absence( db_cluster=db_cluster, resource_type="svc", resource_name=svc_name, step=2, timeout=60) assert not get_orphaned_services(db_cluster), "Orphaned services were found after decommission"