Search in sources :

Example 26 with V1Node

use of io.kubernetes.client.openapi.models.V1Node in project java by kubernetes-client.

the class CoreV1Api method readNodeStatusAsync.

/**
 * (asynchronously) read status of the specified Node
 *
 * @param name name of the Node (required)
 * @param pretty If 'true', then the output is pretty printed. (optional)
 * @param _callback The callback to be executed when the API call finishes
 * @return The request call
 * @throws ApiException If fail to process the API call, e.g. serializing the request body object
 * @http.response.details
 *     <table summary="Response Details" border="1">
 * <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
 * <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
 * <tr><td> 401 </td><td> Unauthorized </td><td>  -  </td></tr>
 * </table>
 */
public okhttp3.Call readNodeStatusAsync(String name, String pretty, final ApiCallback<V1Node> _callback) throws ApiException {
    okhttp3.Call localVarCall = readNodeStatusValidateBeforeCall(name, pretty, _callback);
    Type localVarReturnType = new TypeToken<V1Node>() {
    }.getType();
    localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
    return localVarCall;
}
Also used : Type(java.lang.reflect.Type) V1Node(io.kubernetes.client.openapi.models.V1Node)

Example 27 with V1Node

use of io.kubernetes.client.openapi.models.V1Node in project java by kubernetes-client.

the class CoreV1Api method patchNodeAsync.

/**
 * (asynchronously) partially update the specified Node
 *
 * @param name name of the Node (required)
 * @param body (required)
 * @param pretty If &#39;true&#39;, then the output is pretty printed. (optional)
 * @param dryRun When present, indicates that modifications should not be persisted. An invalid or
 *     unrecognized dryRun directive will result in an error response and no further processing of
 *     the request. Valid values are: - All: all dry run stages will be processed (optional)
 * @param fieldManager fieldManager is a name associated with the actor or entity that is making
 *     these changes. The value must be less than or 128 characters long, and only contain
 *     printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is
 *     required for apply requests (application/apply-patch) but optional for non-apply patch
 *     types (JsonPatch, MergePatch, StrategicMergePatch). (optional)
 * @param fieldValidation fieldValidation determines how the server should respond to
 *     unknown/duplicate fields in the object in the request. Introduced as alpha in 1.23, older
 *     servers or servers with the &#x60;ServerSideFieldValidation&#x60; feature disabled will
 *     discard valid values specified in this param and not perform any server side field
 *     validation. Valid values are: - Ignore: ignores unknown/duplicate fields. - Warn: responds
 *     with a warning for each unknown/duplicate field, but successfully serves the request. -
 *     Strict: fails the request on unknown/duplicate fields. (optional)
 * @param force Force is going to \&quot;force\&quot; Apply requests. It means user will
 *     re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply
 *     patch requests. (optional)
 * @param _callback The callback to be executed when the API call finishes
 * @return The request call
 * @throws ApiException If fail to process the API call, e.g. serializing the request body object
 * @http.response.details
 *     <table summary="Response Details" border="1">
 * <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
 * <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
 * <tr><td> 201 </td><td> Created </td><td>  -  </td></tr>
 * <tr><td> 401 </td><td> Unauthorized </td><td>  -  </td></tr>
 * </table>
 */
public okhttp3.Call patchNodeAsync(String name, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force, final ApiCallback<V1Node> _callback) throws ApiException {
    okhttp3.Call localVarCall = patchNodeValidateBeforeCall(name, body, pretty, dryRun, fieldManager, fieldValidation, force, _callback);
    Type localVarReturnType = new TypeToken<V1Node>() {
    }.getType();
    localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
    return localVarCall;
}
Also used : Type(java.lang.reflect.Type) V1Node(io.kubernetes.client.openapi.models.V1Node)

Example 28 with V1Node

use of io.kubernetes.client.openapi.models.V1Node in project java by kubernetes-client.

the class CoreV1Api method readNodeWithHttpInfo.

/**
 * read the specified Node
 *
 * @param name name of the Node (required)
 * @param pretty If &#39;true&#39;, then the output is pretty printed. (optional)
 * @return ApiResponse&lt;V1Node&gt;
 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
 *     response body
 * @http.response.details
 *     <table summary="Response Details" border="1">
 * <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
 * <tr><td> 200 </td><td> OK </td><td>  -  </td></tr>
 * <tr><td> 401 </td><td> Unauthorized </td><td>  -  </td></tr>
 * </table>
 */
public ApiResponse<V1Node> readNodeWithHttpInfo(String name, String pretty) throws ApiException {
    okhttp3.Call localVarCall = readNodeValidateBeforeCall(name, pretty, null);
    Type localVarReturnType = new TypeToken<V1Node>() {
    }.getType();
    return localVarApiClient.execute(localVarCall, localVarReturnType);
}
Also used : Type(java.lang.reflect.Type) V1Node(io.kubernetes.client.openapi.models.V1Node)

Example 29 with V1Node

use of io.kubernetes.client.openapi.models.V1Node in project twister2 by DSC-SPIDAL.

the class KubernetesController method getNodeInfo.

/**
 * get NodeInfoUtils objects for the nodes on this cluster
 *
 * @return the NodeInfoUtils object list. If it can not get the list from K8s master, return null.
 */
public ArrayList<JobMasterAPI.NodeInfo> getNodeInfo(String rackLabelKey, String datacenterLabelKey) {
    V1NodeList nodeList = null;
    try {
        nodeList = coreApi.listNode(null, null, null, null, null, null, null, null, null);
    } catch (ApiException e) {
        LOG.log(Level.SEVERE, "Exception when getting NodeList.", e);
        return null;
    }
    ArrayList<JobMasterAPI.NodeInfo> nodeInfoList = new ArrayList<>();
    for (V1Node node : nodeList.getItems()) {
        List<V1NodeAddress> addressList = node.getStatus().getAddresses();
        for (V1NodeAddress nodeAddress : addressList) {
            if ("InternalIP".equalsIgnoreCase(nodeAddress.getType())) {
                String nodeIP = nodeAddress.getAddress();
                String rackName = null;
                String datacenterName = null;
                // get labels
                Map<String, String> labelMap = node.getMetadata().getLabels();
                for (String key : labelMap.keySet()) {
                    if (key.equalsIgnoreCase(rackLabelKey)) {
                        rackName = labelMap.get(key);
                    }
                    if (key.equalsIgnoreCase(datacenterLabelKey)) {
                        datacenterName = labelMap.get(key);
                    }
                }
                JobMasterAPI.NodeInfo nodeInfo = NodeInfoUtils.createNodeInfo(nodeIP, rackName, datacenterName);
                nodeInfoList.add(nodeInfo);
                break;
            }
        }
    }
    return nodeInfoList;
}
Also used : JobMasterAPI(edu.iu.dsc.tws.proto.jobmaster.JobMasterAPI) V1Node(io.kubernetes.client.openapi.models.V1Node) V1NodeList(io.kubernetes.client.openapi.models.V1NodeList) ArrayList(java.util.ArrayList) V1NodeAddress(io.kubernetes.client.openapi.models.V1NodeAddress) ApiException(io.kubernetes.client.openapi.ApiException)

Aggregations

V1Node (io.kubernetes.client.openapi.models.V1Node)29 Type (java.lang.reflect.Type)14 Test (org.junit.Test)8 CoreV1Api (io.kubernetes.client.openapi.apis.CoreV1Api)4 V1NodeList (io.kubernetes.client.openapi.models.V1NodeList)4 ApiClient (io.kubernetes.client.openapi.ApiClient)3 V1ObjectMeta (io.kubernetes.client.openapi.models.V1ObjectMeta)3 Pair (org.apache.commons.lang3.tuple.Pair)3 NodeMetrics (io.kubernetes.client.custom.NodeMetrics)2 PodMetrics (io.kubernetes.client.custom.PodMetrics)2 SharedInformerFactory (io.kubernetes.client.informer.SharedInformerFactory)2 Lister (io.kubernetes.client.informer.cache.Lister)2 V1Pod (io.kubernetes.client.openapi.models.V1Pod)2 CallGeneratorParams (io.kubernetes.client.util.CallGeneratorParams)2 ArrayList (java.util.ArrayList)2 ImmutablePair (org.apache.commons.lang3.tuple.ImmutablePair)2 JobMasterAPI (edu.iu.dsc.tws.proto.jobmaster.JobMasterAPI)1 Metrics (io.kubernetes.client.Metrics)1 ContainerMetrics (io.kubernetes.client.custom.ContainerMetrics)1 NodeMetricsList (io.kubernetes.client.custom.NodeMetricsList)1