def test_rack_grouping(): old_grouping_functions = HostMaintenance.GROUPING_FUNCTIONS.copy() HostMaintenance.GROUPING_FUNCTIONS["by_rack"] = rack_grouping example_host_list = [ "west-aaa-001.example.com", "west-aaa-002.example.com", "west-xyz-002.example.com", "east-xyz-003.example.com", "east-xyz-004.example.com", ] try: batches = list(HostMaintenance.iter_batches(example_host_list, 1, "by_rack")) assert batches[0] == Hosts(set(["west-aaa-001.example.com", "west-aaa-002.example.com"])) assert batches[1] == Hosts( set(["west-xyz-002.example.com", "east-xyz-003.example.com", "east-xyz-004.example.com"]) ) batches = list(HostMaintenance.iter_batches(example_host_list, 2, "by_rack")) assert batches[0] == Hosts(set(example_host_list)) batches = list(HostMaintenance.iter_batches(example_host_list, 3, "by_rack")) assert batches[0] == Hosts(set(example_host_list)) with pytest.raises(ValueError): list(HostMaintenance.iter_batches(example_host_list, 0)) finally: HostMaintenance.GROUPING_FUNCTIONS = old_grouping_functions
def test_default_grouping(): example_host_list = ["xyz321.example.com", "bar337.example.com", "foo001.example.com"] batches = list(HostMaintenance.iter_batches(example_host_list, 1)) assert batches[0] == Hosts(set(["bar337.example.com"])) assert batches[1] == Hosts(set(["foo001.example.com"])) assert batches[2] == Hosts(set(["xyz321.example.com"])) batches = list(HostMaintenance.iter_batches(example_host_list, 2)) assert batches[0] == Hosts(set(["bar337.example.com", "foo001.example.com"])) assert batches[1] == Hosts(set(["xyz321.example.com"]))
def test_none_grouping(): example_host_list = [ 'xyz321.example.com', 'bar337.example.com', 'foo001.example.com', ] batches = list(HostMaintenance.iter_batches(example_host_list, 'none')) assert batches[0] == Hosts(set(example_host_list)) assert len(batches) == 1
def test_default_grouping(): example_host_list = [ 'xyz321.example.com', 'bar337.example.com', 'foo001.example.com', ] batches = list(HostMaintenance.iter_batches(example_host_list)) assert batches[0] == Hosts(set(['bar337.example.com'])) assert batches[1] == Hosts(set(['foo001.example.com'])) assert batches[2] == Hosts(set(['xyz321.example.com']))
def test_default_grouping(): example_host_list = [ 'xyz321.example.com', 'bar337.example.com', 'foo001.example.com', ] batches = list(HostMaintenance.iter_batches(example_host_list)) assert batches[0] == Hosts(set(['bar337.example.com'])) assert batches[1] == Hosts(set(['foo001.example.com'])) assert batches[2] == Hosts(set(['xyz321.example.com']))
def test_rack_grouping(): example_host_list = [ 'west-aaa-001.example.com', 'west-aaa-002.example.com', 'west-xyz-002.example.com', 'east-xyz-003.example.com', 'east-xyz-004.example.com', ] with group_by_rack(): batches = list(HostMaintenance.iter_batches(example_host_list, 'by_rack')) assert batches[0] == Hosts(set([ 'west-aaa-001.example.com', 'west-aaa-002.example.com' ])) assert batches[1] == Hosts(set([ 'west-xyz-002.example.com', 'east-xyz-003.example.com', 'east-xyz-004.example.com', ]))
def test_rack_grouping(): example_host_list = [ 'west-aaa-001.example.com', 'west-aaa-002.example.com', 'west-xyz-002.example.com', 'east-xyz-003.example.com', 'east-xyz-004.example.com', ] with group_by_rack(): batches = list(HostMaintenance.iter_batches(example_host_list, 'by_rack')) assert batches[0] == Hosts(set([ 'west-aaa-001.example.com', 'west-aaa-002.example.com' ])) assert batches[1] == Hosts(set([ 'west-xyz-002.example.com', 'east-xyz-003.example.com', 'east-xyz-004.example.com', ]))