예제 #1
0
def test_create_table():
    slurm_nodes = [
        SlurmNode(name="foo-1",
                  state="idle",
                  state_flag=None,
                  features={},
                  reason=""),
        SlurmNode(name="foo-2",
                  state="idle",
                  state_flag="~",
                  features={},
                  reason=""),
    ]
    cloud_nodes = [
        AwsNode(name="foo-1",
                state=NodeState.RUNNING,
                ip="10.0.0.25",
                id="i-foobar")
    ]
    table, headers = create_table(slurm_nodes, cloud_nodes)
    assert table == [
        ["foo-1", "idle", "", NodeState.RUNNING],
        ["foo-2", "idle", "power save", None],
    ]
    assert headers == ["Name", "Slurm state", "Flag", "Cloud state"]
예제 #2
0
def test_crosscheck_one_match():
    slurm_nodes = [
        SlurmNode(name="foo-1", state="idle", state_flag=None, features={}, reason="")
    ]
    cloud_nodes = [AwsNode(name="foo-1", state=NodeState.RUNNING, ip="10.0.0.25", id="i-foobar")]

    res = crosscheck(slurm_nodes, cloud_nodes)
    res = list(res)
    assert not res
예제 #3
0
def test_print_table():
    slurm_nodes = [
        SlurmNode(name="foo-1",
                  state="idle",
                  state_flag=None,
                  features={},
                  reason="")
    ]
    cloud_nodes = [
        AwsNode(name="foo-1",
                state=NodeState.RUNNING,
                ip="10.0.0.25",
                id="i-foobar")
    ]
    table_data = create_table(slurm_nodes, cloud_nodes)
    print(tabulate(table_data))
예제 #4
0
def test_all_nodes(ec2, nodespace):
    launch_node("foo", ec2, nodespace)
    nodes = AwsNode.all(ec2, nodespace)
    assert len(nodes) == 1
예제 #5
0
def test_all_nodes_empty(ec2, nodespace):
    assert AwsNode.all(ec2, nodespace) == []
예제 #6
0
def test_awsnode(ec2, nodespace):
    launch_node("foo", ec2, nodespace)
    node = AwsNode.from_name("foo", ec2, nodespace)
    assert node.name == "foo"
    assert node.state == NodeState.RUNNING