/** * Returns the ready condition of the node. * * @param node The target node. * @return The {@link NodeCondition} or null if not found. */ private static NodeCondition getNodeReadyCondition(Node node) { Utils.checkNotNull(node, "Node can't be null."); if (node.getStatus() == null || node.getStatus().getConditions() == null) { return null; } for (NodeCondition condition : node.getStatus().getConditions()) { if (NODE_READY.equals(condition.getType())) { return condition; } } return null; } }
public NodeBuilder(){ this(new Node()); } public NodeBuilder( NodeFluent<?> fluent ){
public NodeFluentImpl(Node instance){ this.withApiVersion(instance.getApiVersion()); this.withKind(instance.getKind()); this.withMetadata(instance.getMetadata()); this.withSpec(instance.getSpec()); this.withStatus(instance.getStatus()); }
public void scanNode(Node node) { ObjectNode n = mapper.createObjectNode(); ObjectMeta meta = node.getMetadata(); n.put("nodeUid", meta.getUid()); n.put("resourceVersion", meta.getResourceVersion()); n.put("name", meta.getName()); n.put("namespace", meta.getNamespace()); n.put("clusterName", meta.getClusterName()); n.put("generateName", meta.getGenerateName()); n.put("creationTimestamp", meta.getCreationTimestamp()); n.put("deletionTimestamp", meta.getDeletionTimestamp()); n.put("deletionGracePeriod", meta.getDeletionGracePeriodSeconds()); n.put("selfLink", meta.getSelfLink()); NodeStatus ns = node.getStatus(); NodeSpec nodeSpec = node.getSpec(); n.put("externalId", nodeSpec.getExternalID()); n.put("unschedulable", nodeSpec.getUnschedulable()); n.put("podCIDR", nodeSpec.getPodCIDR()); n.put("providerId", nodeSpec.getProviderID()); n.put("clusterId", clusterId); getNeoRxClient().execCypher("merge (n:KubeNode {nodeUid:{nodeUid}}) set n.clusterId={clusterId}, n+={props}", "nodeUid", meta.getUid(), "props", n, "clusterId", clusterId); }
/** * Write the rack-id * * @return if the operation was executed successfully */ public boolean writeRack() { Map<String, String> nodeLabels = client.nodes().withName(config.getNodeName()).get().getMetadata().getLabels(); log.info("NodeLabels = {}", nodeLabels); String rackId = nodeLabels.get(config.getRackTopologyKey()); log.info("Rack: {} = {}", config.getRackTopologyKey(), rackId); if (rackId == null) { log.error("Node {} doesn't have the label {} for getting the rackid", config.getNodeName(), config.getRackTopologyKey()); return false; } return write(FILE_RACK_ID, rackId); }
@Override public NodeList getNodes() { // TODO we should replace HostNode with Node... NodeList answer = new NodeList(); List<Node> items = new ArrayList<>(); answer.setItems(items); Collection<HostNode> values = getHostNodes().values(); for (HostNode value : values) { Node minion = new Node(); NodeSpec nodeSpec = new NodeSpec(); minion.setSpec(nodeSpec); ObjectMeta metadata = new ObjectMeta(); metadata.setName(value.getId()); minion.setMetadata(metadata); // TODO no hostName on a minion //minion.setHostIP(value.getHostName()); items.add(minion); } return answer; }
open XML while xml source has next { add next node to allNodes, key = node.uniqueId, Val = node if next node.kind not in uniqueKinds, add node.kind to uniqueKinds } ClassNodeImporter method makeFilteredeMap: private boolean makeFilteredeMap() { if (uniqueKinds.isEmpty()) { return false; } else { for (String k : uniqueKinds) { HashMap<String, Node> aMap = new HashMap<String, Node>(); for (Node n : allNodes) { if (n.getKind().equals(k)) { aMap.put(n.getCode(), n); } } filteredNodes.put(k, aMap); } return true; } }
public NodeBuilder(NodeFluent<?> fluent,Node instance,Boolean validationEnabled){ this.fluent = fluent; fluent.withApiVersion(instance.getApiVersion()); fluent.withKind(instance.getKind()); fluent.withMetadata(instance.getMetadata()); fluent.withSpec(instance.getSpec()); fluent.withStatus(instance.getStatus()); this.validationEnabled = validationEnabled; } public NodeBuilder(Node instance){
.endMetadata() .withNewSpec() .withNodeSelector(node != null ? node.getMetadata().getLabels() : new HashMap<String, String>()) .withVolumes(volumes) .withContainers(containers)
public NodeBuilder(Node instance,Boolean validationEnabled){ this.fluent = this; this.withApiVersion(instance.getApiVersion()); this.withKind(instance.getKind()); this.withMetadata(instance.getMetadata()); this.withSpec(instance.getSpec()); this.withStatus(instance.getStatus()); this.validationEnabled = validationEnabled; }
public String getURL(Service service, String portName, String namespace, KubernetesClient client) { ServicePort port = URLFromServiceUtil.getServicePortByName(service, portName); String serviceProto = port.getProtocol(); NodePortUrlComponents urlComponents = null; Integer nodePort = port.getNodePort(); if(nodePort != null) { try { NodeList nodeList = client.nodes().list(); if(nodeList != null && nodeList.getItems() != null) { for(Node item : nodeList.getItems()) { urlComponents = getUrlComponentsFromNodeList(item.getStatus(), nodePort); if(urlComponents != null) { break; } } } } catch (KubernetesClientException exception) { logger.warn("Could not find a node! " + exception); } } return urlComponents != null ? (serviceProto + "://" + urlComponents.getClusterIP() + ":" + urlComponents.getPortNumber()).toLowerCase() : null; }
public NodeBuilder( NodeFluent<?> fluent ){ this(fluent, new Node()); } public NodeBuilder( NodeFluent<?> fluent , Node instance ){
public NodeBuilder( NodeFluent<?> fluent , Node instance ){ this.fluent = fluent; fluent.withApiVersion(instance.getApiVersion()); fluent.withKind(instance.getKind()); fluent.withMetadata(instance.getMetadata()); fluent.withSpec(instance.getSpec()); fluent.withStatus(instance.getStatus()); } public NodeBuilder( Node instance ){
/** * Write the external address of this node * * @return if the operation was executed successfully */ public boolean writeExternalAddress() { List<NodeAddress> addresses = client.nodes().withName(config.getNodeName()).get().getStatus().getAddresses(); log.info("NodeLabels = {}", addresses); String externalAddress = findAddress(addresses); if (externalAddress == null) { log.error("External address nto found"); return false; } else { log.info("External address found {}", externalAddress); } return write(FILE_EXTERNAL_ADDRESS, externalAddress); }
public NodeBuilder(NodeFluent<?> fluent,Boolean validationEnabled){ this(fluent, new Node(), validationEnabled); } public NodeBuilder(NodeFluent<?> fluent,Node instance){
public NodeBuilder( NodeFluent<?> fluent , Node instance ){ this.fluent = fluent; fluent.withApiVersion(instance.getApiVersion()); fluent.withKind(instance.getKind()); fluent.withMetadata(instance.getMetadata()); fluent.withSpec(instance.getSpec()); fluent.withStatus(instance.getStatus()); } public NodeBuilder( Node instance ){
public NodeBuilder(){ this(new Node()); } public NodeBuilder( NodeFluent<?> fluent ){
public NodeBuilder( Node instance ){ this.fluent = this; this.withApiVersion(instance.getApiVersion()); this.withKind(instance.getKind()); this.withMetadata(instance.getMetadata()); this.withSpec(instance.getSpec()); this.withStatus(instance.getStatus()); }
public NodeBuilder( NodeFluent<?> fluent ){ this(fluent, new Node()); } public NodeBuilder( NodeFluent<?> fluent , Node instance ){