public void destroyBroker(BrokerModel brokerModel) { int desiredNumber = model.getBrokerCount() - 1; if (scalingInProgress.startWork(desiredNumber)) { try { ReplicationController replicationController = getBrokerReplicationController(); int currentDesiredNumber = replicationController.getSpec().getReplicas(); if (desiredNumber == (currentDesiredNumber - 1)) { replicationController.getSpec().setReplicas(desiredNumber); model.remove(brokerModel); //Todo update when Kubernetes allows you to target exact pod to discard from replication controller //kubernetes.deletePod(brokerModel.getPod(),kubernetes.getNamespace()); Pod pod = brokerModel.getPod(); pod.getStatus().setStartTime("0"); //kubernetes.updateReplicationController(getReplicationControllerId(), replicationController,kubernetes.getNamespace()); LOG.info("Updated Broker Replication Controller desired state from " + currentDesiredNumber + " to " + desiredNumber + " and removed Broker " + brokerModel); } } catch (Throwable e) { LOG.error("Failed to create a Broker", e); } } }
public void createBroker() { int desiredNumber = model.getBrokerCount() + 1; if (scalingInProgress.startWork(desiredNumber)) { try { ReplicationController replicationController = getBrokerReplicationController(); ReplicationControllerSpec spec = replicationController.getSpec(); int currentDesiredNumber = 0; if (spec != null) { currentDesiredNumber = spec.getReplicas(); } else { spec = new ReplicationControllerSpec(); replicationController.setSpec(spec); } if (desiredNumber == (currentDesiredNumber + 1)) { replicationController.getSpec().setReplicas(desiredNumber); kubernetes.replicationControllers().inNamespace(namespace).withName(getReplicationControllerId()).replace(replicationController); LOG.info("Updated Broker Replication Controller desired state from " + currentDesiredNumber + " to " + desiredNumber); } } catch (Throwable e) { LOG.error("Failed to create a Broker", e); } } }
Integer replicas = oldSpec.getReplicas(); if (replicas != null) { newSpec.setReplicas(replicas);