summaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryClientMock.java
blob: 14de73e3f752d4fc87831fac8c9eea0105d93103 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.integration;

import com.yahoo.vespa.hosted.controller.api.integration.noderepository.MaintenanceJobList;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeList;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeMembership;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeOwner;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeRepositoryClientInterface;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeRepositoryNode;
import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeState;
import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneId;

import java.util.Arrays;
import java.util.Collection;

/**
 * @author bjorncs
 */
public class NodeRepositoryClientMock implements NodeRepositoryClientInterface {

    @Override
    public void addNodes(ZoneId zone, Collection<NodeRepositoryNode> nodes) {
        throw new UnsupportedOperationException();
    }

    @Override
    public NodeRepositoryNode getNode(ZoneId zone, String hostname) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void deleteNode(ZoneId zone, String hostname) {
        throw new UnsupportedOperationException();
    }

    @Override
    public NodeList listNodes(ZoneId zone, boolean recursive) {
        NodeRepositoryNode nodeA = createNodeA();
        NodeRepositoryNode nodeB = createNodeB();
        return new NodeList(Arrays.asList(nodeA, nodeB));
    }

    @Override
    public NodeList listNodes(ZoneId zone, String tenant, String applicationId, String instance) {
        NodeRepositoryNode nodeA = createNodeA();
        NodeRepositoryNode nodeB = createNodeB();
        return new NodeList(Arrays.asList(nodeA, nodeB));
    }

    private static NodeRepositoryNode createNodeA() {
        NodeRepositoryNode node = new NodeRepositoryNode();
        node.setHostname("hostA");
        node.setCost(10);
        node.setFlavor("C-2B/24/500");
        node.setMinCpuCores(24d);
        node.setMinDiskAvailableGb(500d);
        node.setMinMainMemoryAvailableGb(24d);
        NodeOwner owner = new NodeOwner();
        owner.tenant = "lsbe";
        owner.application = "local-search";
        owner.instance = "default";
        node.setOwner(owner);
        NodeMembership membership = new NodeMembership();
        membership.clusterid = "clusterA";
        membership.clustertype = "container";
        node.setMembership(membership);
        return node;
    }

    private static NodeRepositoryNode createNodeB() {
        NodeRepositoryNode node = new NodeRepositoryNode();
        node.setHostname("hostB");
        node.setCost(20);
        node.setFlavor("C-2C/24/500");
        node.setMinCpuCores(40d);
        node.setMinDiskAvailableGb(500d);
        node.setMinMainMemoryAvailableGb(24d);
        NodeOwner owner = new NodeOwner();
        owner.tenant = "mediasearch";
        owner.application = "imagesearch";
        owner.instance = "default";
        node.setOwner(owner);
        NodeMembership membership = new NodeMembership();
        membership.clusterid = "clusterB";
        membership.clustertype = "content";
        node.setMembership(membership);
        return node;
    }

    @Override
    public String resetFailureInformation(ZoneId zone, String nodename) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String restart(ZoneId zone, String nodename) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String reboot(ZoneId zone, String nodename) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String cancelReboot(ZoneId zone, String nodename) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String wantTo(ZoneId zone, String nodename, WantTo... actions) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String cancelRestart(ZoneId zone, String nodename) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String setHardwareFailureDescription(ZoneId zone, String nodename, String hardwareFailureDescription) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void setState(ZoneId zone, NodeState nodeState, String nodename) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String enableMaintenanceJob(ZoneId zone, String jobName) {
        throw new UnsupportedOperationException();
    }

    @Override
    public String disableMaintenanceJob(ZoneId zone, String jobName) {
        throw new UnsupportedOperationException();
    }

    @Override
    public MaintenanceJobList listMaintenanceJobs(ZoneId zone) {
        throw new UnsupportedOperationException();
    }

}