@Override public void waitForEntityStart() { Entities.waitForServiceUp(this); }
protected void waitForServiceUp(Duration duration) { Entities.waitForServiceUp(this, duration); }
public void waitForServiceUp(Duration duration) { Entities.waitForServiceUp(this, duration); }
public void waitForServiceUp(long duration, TimeUnit units) { Entities.waitForServiceUp(this, Duration.of(duration, units)); }
public static void waitForServiceUp(final Entity entity, long duration, TimeUnit units) { waitForServiceUp(entity, Duration.of(duration, units)); } public static void waitForServiceUp(final Entity entity) {
public static void waitForServiceUp(final Entity entity) { Duration timeout = entity.getConfig(BrooklynConfigKeys.START_TIMEOUT); waitForServiceUp(entity, timeout); }
private void addNode(Entity member, String name) { synchronized (clusterMutex) { LOG.info("Adding node {}: {}; {} to cluster", new Object[] { this, member, name }); Map<Entity, String> nodes = MutableMap.copyOf(sensors().get(ETCD_CLUSTER_NODES)); nodes.put(member, name); recalculateClusterAddresses(nodes); member.sensors().set(EtcdNode.ETCD_NODE_HAS_JOINED_CLUSTER, Boolean.TRUE); Entities.waitForServiceUp(member); } }
public static Map<String, Object> generateLinks(Entity source, Entity target, String alias) { Entities.waitForServiceUp(target); String from = DockerUtils.getContainerName(source); String to = DockerUtils.getContainerName(target);
log.warn("No nimbus entity available; not blocking before starting supervisors"); } else { Entities.waitForServiceUp(nimbus, entity.getConfig(SoftwareProcess.START_TIMEOUT)); needsSleep = true;
Entities.waitForServiceUp(dockerHost);
@Override public Void call() throws Exception { // Wait for first node to be ready Entities.waitForServiceUp(firstNode); Task<Boolean> joined = DynamicTasks.submit(DependentConfiguration.attributeWhenReady(firstNode, EtcdNode.ETCD_NODE_HAS_JOINED_CLUSTER), EtcdClusterImpl.this).asTask(); if (joined.blockUntilEnded(timeout) && joined.getUnchecked()) { // Try invoking joinCluster effector synchronized (clusterMutex) { boolean success = Repeater.create("Calling joinCluster effector") .every(Duration.ONE_MINUTE) .limitIterationsTo(3) .limitTimeTo(timeout) .until(new InvokeJoinEffector()) .run(); if (!success) { throw new IllegalStateException(String.format("Node %s failed to join cluster %s", member, EtcdClusterImpl.this)); } } } return null; }
node.start(ImmutableList.of(getMachine())); getEntity().sensors().set(DockerHost.ETCD_NODE, node); Entities.waitForServiceUp(node);
@Override public void postStart() { Entities.waitForServiceUp(this); sensors().get(DOCKER_CONTAINER_CLUSTER).sensors().set(SERVICE_UP, Boolean.TRUE); if (Boolean.TRUE.equals(sensors().get(DOCKER_INFRASTRUCTURE).config().get(SdnAttributes.SDN_ENABLE))) { LOG.info("Waiting on SDN agent"); SdnAgent agent = Entities.attributeSupplierWhenReady(this, SdnAgent.SDN_AGENT).get(); Entities.waitForServiceUp(agent); LOG.info("SDN agent running: " + agent.sensors().get(SERVICE_UP)); } String imageId = config().get(DOCKER_IMAGE_ID); if (Strings.isBlank(imageId)) { String dockerfileUrl = config().get(DockerInfrastructure.DOCKERFILE_URL); String imageName = DockerUtils.imageName(this, dockerfileUrl); imageId = buildImage(dockerfileUrl, null, null, imageName, config().get(DockerHost.DOCKER_USE_SSH), ImmutableMap.<String, Object>of("fullyQualifiedImageName", imageName)); sensors().set(DOCKER_IMAGE_NAME, imageName); } sensors().set(DOCKER_IMAGE_ID, imageId); scan = scanner(); // If a registry URL is configured with credentials then log in String registryUrl = config().get(DockerInfrastructure.DOCKER_IMAGE_REGISTRY_URL); Boolean internalRegistry = config().get(DockerInfrastructure.DOCKER_SHOULD_START_REGISTRY); if (Strings.isNonBlank(registryUrl) && !internalRegistry) { String username = config().get(DockerInfrastructure.DOCKER_IMAGE_REGISTRY_USERNAME); String password = config().get(DockerInfrastructure.DOCKER_IMAGE_REGISTRY_PASSWORD); if (Strings.isNonBlank(username) && Strings.isNonBlank(password)) { runDockerCommand(String.format("login -e \"fake@example.org\" -u %s -p %s %s", username, password, registryUrl)); } } }
public static final VirtualNetwork createNetwork(final SdnProvider provider, final String networkId) { boolean createNetwork = false; Cidr subnetCidr = null; VirtualNetwork network = null; synchronized (provider.getNetworkMutex()) { subnetCidr = provider.getSubnetCidr(networkId); if (subnetCidr == null) { subnetCidr = provider.getNextSubnetCidr(networkId); createNetwork = true; } } if (createNetwork) { // Get a CIDR for the subnet from the availabkle pool and create a virtual network EntitySpec<VirtualNetwork> networkSpec = EntitySpec.create(VirtualNetwork.class) .configure(SdnAttributes.SDN_PROVIDER, provider) .configure(VirtualNetwork.NETWORK_ID, networkId) .configure(VirtualNetwork.NETWORK_CIDR, subnetCidr); // Start and then add this virtual network as a child of SDN_NETWORKS network = provider.sensors().get(SdnProvider.SDN_NETWORKS).addChild(networkSpec); Entities.start(network, provider.getLocations()); Entities.waitForServiceUp(network); } else { network = lookupNetwork(provider, networkId); } return network; }