private AmbariCluster getAmbariCluster() { return Iterables.getFirst(Iterables.filter(Entities.ancestors(this), AmbariCluster.class), null); } }
@Test public void testAncestors() throws Exception { Asserts.assertEqualsIgnoringOrder(Entities.ancestorsAndSelf(app), ImmutableList.of(app)); Asserts.assertEqualsIgnoringOrder(Entities.ancestors(app), ImmutableList.of(app)); Asserts.assertEqualsIgnoringOrder(Entities.ancestorsAndSelf(entity), ImmutableList.of(entity, app)); Asserts.assertEqualsIgnoringOrder(Entities.ancestors(entity), ImmutableList.of(entity, app)); }
private AmbariCluster getParentAmbariCluster() { Iterable<AmbariCluster> ancestors = Iterables.filter(Entities.ancestors(entity), AmbariCluster.class); return Iterables.getFirst(ancestors, null); }
protected AmbariCluster getParentAmbariCluster() { Iterable<AmbariCluster> ancestors = Iterables.filter( Entities.ancestors(entity), AmbariCluster.class); return Iterables.getFirst(ancestors, null); } }
@Override public boolean agentOnServer() { Iterable<AmbariCluster> ambariClusters = Iterables.filter(Entities.ancestors(this), AmbariCluster.class); for (Entity parent : ambariClusters) { return !parent.getConfig(AmbariCluster.SERVER_COMPONENTS).isEmpty(); } return false; }
@Override public void install() { String parentFQDN = entity.getParent() instanceof AmbariServer ? ((AmbariServer) entity.getParent()).getFqdn() : ""; Entity parentHostGroup = Iterables.getFirst( Iterables.filter(Entities.ancestors(entity), AmbariHostGroup.class), entity); String fqdn = parentFQDN.isEmpty() ? String.format("%s-%s.%s", parentHostGroup.getDisplayName().toLowerCase(), entity.getId().toLowerCase(), entity.getConfig(AmbariCluster.DOMAIN_NAME)) : parentFQDN; getEntity().setFqdn(fqdn); ImmutableList<String> commands = ImmutableList.<String>builder() .add(defaultAmbariInstallHelper.installAmbariRequirements(getMachine())) .addAll(BashCommands.setHostname(fqdn)) .add(installPackage("ambari-agent")) .add(BashCommands.appendToEtcHosts( getParentAmbariCluster().getMasterAmbariServer().sensors().get(Attributes.SUBNET_ADDRESS), getEntity().getAmbariServerFQDN())) .build(); newScript(INSTALLING).body .append(commands) .failOnNonZeroResultCode() .execute(); }