private void updateNodeLabelsInternal(Set<NodeId> nodes) throws IOException { Map<NodeId, Set<NodeLabel>> labelsUpdated = rmNodeLabelsMappingProvider.getNodeLabels(nodes); if (labelsUpdated != null && labelsUpdated.size() != 0) { Map<NodeId, Set<String>> nodeToLabels = new HashMap<NodeId, Set<String>>(labelsUpdated.size()); for (Map.Entry<NodeId, Set<NodeLabel>> entry : labelsUpdated.entrySet()) { nodeToLabels.put(entry.getKey(), NodeLabelsUtils.convertToStringSet(entry.getValue())); } rmContext.getNodeLabelManager().replaceLabelsOnNode(nodeToLabels); } }
private Response replaceLabelsOnNode( Map<NodeId, Set<String>> newLabelsForNode, HttpServletRequest hsr, String operation) throws IOException { NodeLabelsUtils.verifyCentralizedNodeLabelConfEnabled("replaceLabelsOnNode", isCentralizedNodeLabelConfiguration); UserGroupInformation callerUGI = getCallerUserGroupInformation(hsr, true); if (callerUGI == null) { String msg = "Unable to obtain user name, user not authenticated for" + " post to ..." + operation; throw new AuthorizationException(msg); } if (!rm.getRMContext().getNodeLabelManager().checkAccess(callerUGI)) { String msg = "User " + callerUGI.getShortUserName() + " not authorized" + " for post to ..." + operation; throw new AuthorizationException(msg); } try { rm.getRMContext().getNodeLabelManager() .replaceLabelsOnNode(newLabelsForNode); } catch (IOException e) { throw new BadRequestException(e); } return Response.status(Status.OK).build(); }
Set<String> nodeLabels = NodeLabelsUtils.convertToStringSet( request.getNodeLabels()); if (isDistributedNodeLabelsConf && nodeLabels != null) {
NodeLabelsUtils.verifyCentralizedNodeLabelConfEnabled(operation, isCentralizedNodeLabelConfiguration); } catch (IOException ioe) {
try { updateNodeLabelsFromNMReport( NodeLabelsUtils.convertToStringSet(request.getNodeLabels()), nodeId); nodeHeartBeatResponse.setAreNodeLabelsAcceptedByRM(true);
NodeAction.NORMAL, response.getNodeAction()); assertCollectionEquals(nodeLabelsMgr.getNodeLabels().get(nodeId), NodeLabelsUtils.convertToStringSet(registerReq.getNodeLabels())); Assert.assertTrue("Valid Node Labels were not accepted by RM", response.getAreNodeLabelsAcceptedByRM());
NodeAction.NORMAL, nodeHeartbeatResponse.getNodeAction()); assertCollectionEquals(nodeLabelsMgr.getNodeLabels().get(nodeId), NodeLabelsUtils.convertToStringSet(heartbeatReq.getNodeLabels())); Assert.assertTrue("Valid Node Labels were not accepted by RM", nodeHeartbeatResponse.getAreNodeLabelsAcceptedByRM());