final String path = Paths.configDeploymentGroup(name); try { final byte[] data = client.getData(path);
private DeploymentGroup getDeploymentGroup(final ZooKeeperClient client, final String name) throws DeploymentGroupDoesNotExistException { try { final byte[] data = client.getData(Paths.configDeploymentGroup(name)); return Json.read(data, DeploymentGroup.class); } catch (NoNodeException e) { throw new DeploymentGroupDoesNotExistException(name); } catch (KeeperException | IOException e) { throw new HeliosRuntimeException("getting deployment-group " + name + " failed", e); } }
Paths.configDeploymentGroup(name), Paths.statusDeploymentGroup(name), Paths.statusDeploymentGroupHosts(name),
ops.add(set(Paths.statusDeploymentGroupRemovedHosts(groupName), Json.asBytes(removedHosts))); final Node dgn = client.getNode(Paths.configDeploymentGroup(groupName)); final Integer deploymentGroupVersion = dgn.getStat().getVersion(); DeploymentGroup deploymentGroup = Json.read(dgn.getBytes(), DeploymentGroup.class); ops.add(check(Paths.configDeploymentGroup(groupName), deploymentGroupVersion)); ops.add(set(Paths.configDeploymentGroup(deploymentGroup.getName()), deploymentGroup));
client.ensurePath(Paths.statusDeploymentGroups()); client.transaction( create(Paths.configDeploymentGroup(deploymentGroup.getName()), deploymentGroup), create(Paths.statusDeploymentGroup(deploymentGroup.getName())), create(Paths.statusDeploymentGroupHosts(deploymentGroup.getName()),
final ZooKeeperClient client = provider.get("rollingUpdate"); operations.add(set(Paths.configDeploymentGroup(updated.getName()), updated));
final String path = Paths.configDeploymentGroup(name); try { final byte[] data = client.getData(path);
private DeploymentGroup getDeploymentGroup(final ZooKeeperClient client, final String name) throws DeploymentGroupDoesNotExistException { try { final byte[] data = client.getData(Paths.configDeploymentGroup(name)); return Json.read(data, DeploymentGroup.class); } catch (NoNodeException e) { throw new DeploymentGroupDoesNotExistException(name); } catch (KeeperException | IOException e) { throw new HeliosRuntimeException("getting deployment-group " + name + " failed", e); } }
@Override public void removeDeploymentGroup(final String name) throws DeploymentGroupDoesNotExistException { log.info("removing deployment-group: name={}", name); final ZooKeeperClient client = provider.get("removeDeploymentGroup"); try { client.ensurePath(Paths.configDeploymentGroups()); client.delete(Paths.configDeploymentGroup(name)); if (client.exists(Paths.statusDeploymentGroupHosts(name)) != null) { client.delete(Paths.statusDeploymentGroupHosts(name)); } if (client.exists(Paths.statusDeploymentGroup(name)) != null) { client.delete(Paths.statusDeploymentGroup(name)); } } catch (final NoNodeException e) { throw new DeploymentGroupDoesNotExistException(name); } catch (final KeeperException e) { throw new HeliosRuntimeException("removing deployment-group " + name + " failed", e); } }
final ZooKeeperClient client = provider.get("rollingUpdate"); operations.add(set(Paths.configDeploymentGroup(deploymentGroup.getName()), updated));
@Override public void addDeploymentGroup(final DeploymentGroup deploymentGroup) throws DeploymentGroupExistsException { log.info("adding deployment-group: {}", deploymentGroup); final ZooKeeperClient client = provider.get("addDeploymentGroup"); try { try { client.ensurePath(Paths.configDeploymentGroups()); client.ensurePath(Paths.statusDeploymentGroups()); client.transaction( create(Paths.configDeploymentGroup(deploymentGroup.getName()), deploymentGroup), create(Paths.statusDeploymentGroup(deploymentGroup.getName())), create(Paths.statusDeploymentGroupHosts(deploymentGroup.getName())) ); } catch (final NodeExistsException e) { throw new DeploymentGroupExistsException(deploymentGroup.getName()); } } catch (final KeeperException e) { throw new HeliosRuntimeException("adding deployment-group " + deploymentGroup + " failed", e); } }