AMBARI-22253. Modify TopologyManager to create service groups (magyari_sandor)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/58c83394 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/58c83394 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/58c83394 Branch: refs/heads/branch-feature-AMBARI-14714-ui Commit: 58c833946d8be370af2beb4735f8e21beea1359e Parents: 65d44cd Author: Sandor Magyari <[email protected]> Authored: Tue Oct 17 15:09:05 2017 +0200 Committer: Sandor Magyari <[email protected]> Committed: Tue Oct 17 15:43:40 2017 +0200 ---------------------------------------------------------------------- .../query/render/ClusterBlueprintRenderer.java | 45 +++++++++++-- .../StackAdvisorBlueprintProcessor.java | 27 +++++--- .../controller/internal/BaseClusterRequest.java | 17 ++++- .../BlueprintConfigurationProcessor.java | 22 ++++-- .../internal/ConfigurationContext.java | 4 +- .../internal/ExportBlueprintRequest.java | 25 +++++-- .../internal/ProvisionClusterRequest.java | 22 ++++-- .../internal/ScaleClusterRequest.java | 8 +-- .../server/controller/internal/StackV2.java | 11 ++- .../server/controller/internal/UnitUpdater.java | 6 +- .../ambari/server/topology/AmbariContext.java | 71 ++++++++++++++++---- .../server/topology/BlueprintFactory.java | 10 ++- .../ambari/server/topology/BlueprintImplV2.java | 6 +- .../ambari/server/topology/BlueprintV2.java | 6 +- .../server/topology/BlueprintValidatorImpl.java | 10 +-- .../topology/ClusterConfigurationRequest.java | 21 ++++-- .../ambari/server/topology/ClusterTopology.java | 6 +- .../server/topology/ClusterTopologyImpl.java | 15 +++-- .../ambari/server/topology/HostGroupInfo.java | 10 +-- .../ambari/server/topology/HostRequest.java | 20 ++++-- .../ambari/server/topology/LogicalRequest.java | 22 ++++-- .../server/topology/PersistedStateImpl.java | 34 ++++++++-- .../apache/ambari/server/topology/Service.java | 4 +- .../ambari/server/topology/TopologyManager.java | 42 +++++++++--- .../tasks/PersistHostResourcesTask.java | 17 +++-- .../validators/ClusterConfigTypeValidator.java | 6 +- .../validators/HiveServiceValidator.java | 11 ++- .../RequiredConfigPropertiesValidator.java | 15 ++++- .../validators/RequiredPasswordValidator.java | 15 +++-- .../validators/StackConfigTypeValidator.java | 6 +- .../topology/validators/UnitValidator.java | 10 +-- .../topology/ClusterTopologyImplTest.java | 18 +++-- 32 files changed, 414 insertions(+), 148 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java index 4f71255..7171fc7 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java @@ -18,24 +18,57 @@ package org.apache.ambari.server.api.query.render; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.api.query.QueryInfo; import org.apache.ambari.server.api.services.Request; -import org.apache.ambari.server.api.services.*; +import org.apache.ambari.server.api.services.Result; +import org.apache.ambari.server.api.services.ResultImpl; +import org.apache.ambari.server.api.services.ResultPostProcessor; +import org.apache.ambari.server.api.services.ResultPostProcessorImpl; import org.apache.ambari.server.api.util.TreeNode; import org.apache.ambari.server.api.util.TreeNodeImpl; import org.apache.ambari.server.controller.AmbariManagementController; import org.apache.ambari.server.controller.AmbariServer; -import org.apache.ambari.server.controller.internal.*; -import org.apache.ambari.server.controller.spi.*; +import org.apache.ambari.server.controller.internal.ArtifactResourceProvider; +import org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor; +import org.apache.ambari.server.controller.internal.BlueprintResourceProvider; +import org.apache.ambari.server.controller.internal.ConfigurationContext; +import org.apache.ambari.server.controller.internal.ExportBlueprintRequest; +import org.apache.ambari.server.controller.internal.RequestImpl; +import org.apache.ambari.server.controller.internal.ResourceImpl; +import org.apache.ambari.server.controller.spi.ClusterController; +import org.apache.ambari.server.controller.spi.NoSuchParentResourceException; +import org.apache.ambari.server.controller.spi.NoSuchResourceException; +import org.apache.ambari.server.controller.spi.Predicate; +import org.apache.ambari.server.controller.spi.Resource; +import org.apache.ambari.server.controller.spi.ResourceProvider; +import org.apache.ambari.server.controller.spi.SystemException; +import org.apache.ambari.server.controller.spi.UnsupportedPropertyException; import org.apache.ambari.server.controller.utilities.PredicateBuilder; import org.apache.ambari.server.state.SecurityType; -import org.apache.ambari.server.topology.*; +import org.apache.ambari.server.topology.AmbariContext; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.ClusterTopologyImpl; +import org.apache.ambari.server.topology.ComponentV2; +import org.apache.ambari.server.topology.Configuration; +import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.HostGroupV2; +import org.apache.ambari.server.topology.InvalidTopologyException; +import org.apache.ambari.server.topology.InvalidTopologyTemplateException; +import org.apache.ambari.server.topology.SecurityConfigurationFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; - /** * Renderer which renders a cluster resource as a blueprint. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java index 441f71d..ba35cce 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/StackAdvisorBlueprintProcessor.java @@ -18,23 +18,34 @@ package org.apache.ambari.server.api.services.stackadvisor; -import com.google.common.base.Preconditions; -import com.google.common.base.Predicates; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import com.google.inject.Singleton; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorRequest.StackAdvisorRequestType; import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse; import org.apache.ambari.server.api.services.stackadvisor.recommendations.RecommendationResponse.BlueprintConfigurations; import org.apache.ambari.server.controller.internal.ConfigurationTopologyException; import org.apache.ambari.server.controller.internal.StackV2; import org.apache.ambari.server.state.ValueAttributesInfo; -import org.apache.ambari.server.topology.*; +import org.apache.ambari.server.topology.AdvisedConfiguration; +import org.apache.ambari.server.topology.BlueprintV2; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.ConfigRecommendationStrategy; +import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.HostGroupV2; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; +import com.google.common.base.Preconditions; +import com.google.common.base.Predicates; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.inject.Singleton; /** * Generate advised configurations for blueprint cluster provisioning by the stack advisor. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BaseClusterRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BaseClusterRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BaseClusterRequest.java index c3858ba..e3e0aa2 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BaseClusterRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BaseClusterRequest.java @@ -18,15 +18,26 @@ package org.apache.ambari.server.controller.internal; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.api.predicate.InvalidQueryException; import org.apache.ambari.server.api.predicate.QueryLexer; import org.apache.ambari.server.api.predicate.Token; import org.apache.ambari.server.controller.spi.Resource; import org.apache.ambari.server.controller.spi.ResourceProvider; import org.apache.ambari.server.controller.utilities.ClusterControllerHelper; -import org.apache.ambari.server.topology.*; - -import java.util.*; +import org.apache.ambari.server.topology.BlueprintFactory; +import org.apache.ambari.server.topology.BlueprintV2; +import org.apache.ambari.server.topology.Configuration; +import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.InvalidTopologyTemplateException; +import org.apache.ambari.server.topology.SecurityConfiguration; +import org.apache.ambari.server.topology.Service; +import org.apache.ambari.server.topology.TopologyRequest; /** * Provides common cluster request functionality. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java index 4c51762..8c4a5eb 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java @@ -37,19 +37,29 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; - import org.apache.ambari.server.AmbariException; -import org.apache.ambari.server.state.*; -import org.apache.ambari.server.topology.*; +import org.apache.ambari.server.state.Cluster; +import org.apache.ambari.server.state.ConfigHelper; +import org.apache.ambari.server.state.PropertyDependencyInfo; +import org.apache.ambari.server.state.StackId; +import org.apache.ambari.server.state.ValueAttributesInfo; +import org.apache.ambari.server.topology.AdvisedConfiguration; +import org.apache.ambari.server.topology.BlueprintV2; +import org.apache.ambari.server.topology.Cardinality; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.ConfigRecommendationStrategy; +import org.apache.ambari.server.topology.Configuration; +import org.apache.ambari.server.topology.HostGroup; +import org.apache.ambari.server.topology.HostGroupInfo; import org.apache.ambari.server.topology.Service; import org.apache.ambari.server.topology.validators.UnitValidatedProperty; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Sets; + /** * Updates configuration properties based on cluster topology. This is done when exporting * a blueprint and when a cluster is provisioned via a blueprint. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationContext.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationContext.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationContext.java index 983bb9f..a313f5e 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationContext.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationContext.java @@ -18,10 +18,10 @@ package org.apache.ambari.server.controller.internal; -import org.apache.ambari.server.topology.Configuration; - import java.util.Map; +import org.apache.ambari.server.topology.Configuration; + /** * Provides a context for configuration. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java index 800e2ff..565369b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java @@ -19,6 +19,17 @@ package org.apache.ambari.server.controller.internal; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.api.util.TreeNode; import org.apache.ambari.server.controller.AmbariManagementController; @@ -27,14 +38,18 @@ import org.apache.ambari.server.controller.spi.Resource; import org.apache.ambari.server.controller.utilities.PropertyHelper; import org.apache.ambari.server.state.DesiredConfig; import org.apache.ambari.server.state.HostConfig; -import org.apache.ambari.server.topology.*; +import org.apache.ambari.server.topology.BlueprintV2; +import org.apache.ambari.server.topology.Component; +import org.apache.ambari.server.topology.Configuration; +import org.apache.ambari.server.topology.HostGroup; +import org.apache.ambari.server.topology.HostGroupImpl; +import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.InvalidTopologyTemplateException; +import org.apache.ambari.server.topology.Service; +import org.apache.ambari.server.topology.TopologyRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.*; - /** * Request to export a blueprint from an existing cluster. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java index 6d72b21..75ec9ba 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java @@ -17,19 +17,31 @@ */ package org.apache.ambari.server.controller.internal; -import com.google.common.base.Enums; -import com.google.common.base.Optional; -import com.google.common.base.Strings; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.api.predicate.InvalidQueryException; import org.apache.ambari.server.security.encryption.CredentialStoreType; import org.apache.ambari.server.stack.NoSuchStackException; import org.apache.ambari.server.state.quicklinksprofile.QuickLinksProfileBuilder; import org.apache.ambari.server.state.quicklinksprofile.QuickLinksProfileEvaluationException; -import org.apache.ambari.server.topology.*; +import org.apache.ambari.server.topology.ConfigRecommendationStrategy; +import org.apache.ambari.server.topology.ConfigurationFactory; +import org.apache.ambari.server.topology.Credential; +import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.InvalidTopologyTemplateException; +import org.apache.ambari.server.topology.NoSuchBlueprintException; +import org.apache.ambari.server.topology.SecurityConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; +import com.google.common.base.Enums; +import com.google.common.base.Optional; +import com.google.common.base.Strings; /** * Request for provisioning a cluster. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ScaleClusterRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ScaleClusterRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ScaleClusterRequest.java index 314fb26..c5cc061b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ScaleClusterRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ScaleClusterRequest.java @@ -19,6 +19,10 @@ package org.apache.ambari.server.controller.internal; +import java.util.Collections; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.api.predicate.InvalidQueryException; import org.apache.ambari.server.stack.NoSuchStackException; import org.apache.ambari.server.topology.BlueprintV2; @@ -28,10 +32,6 @@ import org.apache.ambari.server.topology.InvalidTopologyTemplateException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collections; -import java.util.Map; -import java.util.Set; - /** * A request for a scaling an existing cluster. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackV2.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackV2.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackV2.java index c5a6064..fb5d02c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackV2.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackV2.java @@ -26,16 +26,21 @@ import java.util.Map; import java.util.Set; import org.apache.ambari.server.AmbariException; -import org.apache.ambari.server.controller.*; +import org.apache.ambari.server.controller.AmbariManagementController; +import org.apache.ambari.server.controller.ReadOnlyConfigurationResponse; +import org.apache.ambari.server.controller.StackConfigurationRequest; +import org.apache.ambari.server.controller.StackLevelConfigurationRequest; +import org.apache.ambari.server.controller.StackServiceComponentRequest; +import org.apache.ambari.server.controller.StackServiceComponentResponse; +import org.apache.ambari.server.controller.StackServiceRequest; +import org.apache.ambari.server.controller.StackServiceResponse; import org.apache.ambari.server.orm.entities.StackEntity; - import org.apache.ambari.server.state.AutoDeployInfo; import org.apache.ambari.server.state.ComponentInfo; import org.apache.ambari.server.state.DependencyInfo; import org.apache.ambari.server.state.PropertyDependencyInfo; import org.apache.ambari.server.state.PropertyInfo; import org.apache.ambari.server.state.ValueAttributesInfo; - import org.apache.ambari.server.topology.Cardinality; import org.apache.ambari.server.topology.Configuration; http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UnitUpdater.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UnitUpdater.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UnitUpdater.java index 37725b1..a566625 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UnitUpdater.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UnitUpdater.java @@ -17,15 +17,15 @@ */ package org.apache.ambari.server.controller.internal; -import org.apache.ambari.server.topology.ClusterTopology; -import org.apache.ambari.server.topology.validators.UnitValidatedProperty; +import static org.apache.commons.lang.StringUtils.isBlank; import java.util.Collection; import java.util.Collections; import java.util.Map; import java.util.Optional; -import static org.apache.commons.lang.StringUtils.isBlank; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.validators.UnitValidatedProperty; /** * I append the stack defined unit to the original property value. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java index 3a65662..0434728 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java @@ -18,16 +18,52 @@ package org.apache.ambari.server.topology; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; -import com.google.common.util.concurrent.Striped; -import com.google.inject.Provider; -import org.apache.ambari.server.*; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.concurrent.Callable; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.Lock; + +import javax.annotation.Nullable; +import javax.inject.Inject; + +import org.apache.ambari.server.AmbariException; +import org.apache.ambari.server.ClusterNotFoundException; +import org.apache.ambari.server.DuplicateResourceException; +import org.apache.ambari.server.Role; +import org.apache.ambari.server.RoleCommand; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.actionmanager.HostRoleCommandFactory; import org.apache.ambari.server.actionmanager.HostRoleStatus; -import org.apache.ambari.server.controller.*; -import org.apache.ambari.server.controller.internal.*; +import org.apache.ambari.server.controller.AmbariManagementController; +import org.apache.ambari.server.controller.AmbariServer; +import org.apache.ambari.server.controller.ClusterRequest; +import org.apache.ambari.server.controller.ConfigGroupRequest; +import org.apache.ambari.server.controller.ConfigurationRequest; +import org.apache.ambari.server.controller.RequestStatusResponse; +import org.apache.ambari.server.controller.ServiceComponentHostRequest; +import org.apache.ambari.server.controller.ServiceComponentRequest; +import org.apache.ambari.server.controller.ServiceGroupRequest; +import org.apache.ambari.server.controller.ServiceRequest; +import org.apache.ambari.server.controller.internal.AbstractResourceProvider; +import org.apache.ambari.server.controller.internal.ComponentResourceProvider; +import org.apache.ambari.server.controller.internal.ConfigGroupResourceProvider; +import org.apache.ambari.server.controller.internal.HostComponentResourceProvider; +import org.apache.ambari.server.controller.internal.HostResourceProvider; +import org.apache.ambari.server.controller.internal.ProvisionClusterRequest; +import org.apache.ambari.server.controller.internal.RequestImpl; +import org.apache.ambari.server.controller.internal.ServiceGroupResourceProvider; +import org.apache.ambari.server.controller.internal.ServiceResourceProvider; +import org.apache.ambari.server.controller.internal.StackV2; +import org.apache.ambari.server.controller.internal.VersionDefinitionResourceProvider; import org.apache.ambari.server.controller.predicate.EqualsPredicate; import org.apache.ambari.server.controller.spi.ClusterController; import org.apache.ambari.server.controller.spi.Predicate; @@ -36,18 +72,25 @@ import org.apache.ambari.server.controller.utilities.ClusterControllerHelper; import org.apache.ambari.server.orm.dao.RepositoryVersionDAO; import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.security.authorization.AuthorizationException; -import org.apache.ambari.server.state.*; +import org.apache.ambari.server.state.Cluster; +import org.apache.ambari.server.state.Clusters; +import org.apache.ambari.server.state.Config; +import org.apache.ambari.server.state.ConfigFactory; +import org.apache.ambari.server.state.ConfigHelper; +import org.apache.ambari.server.state.DesiredConfig; +import org.apache.ambari.server.state.Host; +import org.apache.ambari.server.state.RepositoryType; +import org.apache.ambari.server.state.SecurityType; +import org.apache.ambari.server.state.StackId; import org.apache.ambari.server.state.configgroup.ConfigGroup; import org.apache.ambari.server.utils.RetryHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.annotation.Nullable; -import javax.inject.Inject; -import java.util.*; -import java.util.concurrent.Callable; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.locks.Lock; +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; +import com.google.common.util.concurrent.Striped; +import com.google.inject.Provider; /** http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintFactory.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintFactory.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintFactory.java index c8860f6..fc419cb 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintFactory.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintFactory.java @@ -19,7 +19,13 @@ package org.apache.ambari.server.topology; -import com.google.inject.Inject; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.ObjectNotFoundException; import org.apache.ambari.server.controller.AmbariManagementController; @@ -31,7 +37,7 @@ import org.apache.ambari.server.orm.dao.BlueprintDAO; import org.apache.ambari.server.orm.entities.BlueprintEntity; import org.apache.ambari.server.stack.NoSuchStackException; -import java.util.*; +import com.google.inject.Inject; /** * Create a Blueprint instance. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintImplV2.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintImplV2.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintImplV2.java index 79456e5..26dc41d 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintImplV2.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintImplV2.java @@ -19,14 +19,14 @@ package org.apache.ambari.server.topology; -import org.apache.ambari.server.controller.internal.StackV2; -import org.apache.ambari.server.orm.entities.BlueprintEntity; - import java.util.Collection; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import org.apache.ambari.server.controller.internal.StackV2; +import org.apache.ambari.server.orm.entities.BlueprintEntity; + /** * Blueprint implementation. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2.java index 3c71e41..10fa2fa 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintV2.java @@ -18,13 +18,13 @@ package org.apache.ambari.server.topology; -import org.apache.ambari.server.controller.internal.StackV2; -import org.apache.ambari.server.orm.entities.BlueprintEntity; - import java.util.Collection; import java.util.List; import java.util.Map; +import org.apache.ambari.server.controller.internal.StackV2; +import org.apache.ambari.server.orm.entities.BlueprintEntity; + /** * Blueprint representation. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java index 0244d7b..b207071 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/BlueprintValidatorImpl.java @@ -18,6 +18,11 @@ package org.apache.ambari.server.topology; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + import org.apache.ambari.server.controller.internal.Stack; import org.apache.ambari.server.state.AutoDeployInfo; import org.apache.ambari.server.state.DependencyConditionInfo; @@ -27,11 +32,6 @@ import org.apache.ambari.server.utils.VersionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - /** * Default blueprint validator. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterConfigurationRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterConfigurationRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterConfigurationRequest.java index 48f8fec..6b86ba5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterConfigurationRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterConfigurationRequest.java @@ -18,11 +18,26 @@ package org.apache.ambari.server.topology; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.api.services.stackadvisor.StackAdvisorBlueprintProcessor; import org.apache.ambari.server.controller.ClusterRequest; import org.apache.ambari.server.controller.ConfigurationRequest; -import org.apache.ambari.server.controller.internal.*; +import org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor; +import org.apache.ambari.server.controller.internal.ClusterResourceProvider; +import org.apache.ambari.server.controller.internal.ConfigurationContext; +import org.apache.ambari.server.controller.internal.ConfigurationTopologyException; +import org.apache.ambari.server.controller.internal.StackV2; import org.apache.ambari.server.serveraction.kerberos.KerberosInvalidConfigurationException; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.SecurityType; @@ -32,10 +47,6 @@ import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - /** * Responsible for cluster configuration. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java index f0d6e59..289f053 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopology.java @@ -18,13 +18,13 @@ package org.apache.ambari.server.topology; +import java.util.Collection; +import java.util.Map; + import org.apache.ambari.server.controller.RequestStatusResponse; import org.apache.ambari.server.controller.internal.ConfigurationContext; import org.apache.ambari.server.controller.internal.ProvisionAction; -import java.util.Collection; -import java.util.Map; - /** * Represents a full cluster topology including all instance information as well as the associated * blueprint which provides all abstract topology information. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java index 8feb979..4ef5d4c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java @@ -19,6 +19,16 @@ package org.apache.ambari.server.topology; +import static org.apache.ambari.server.controller.internal.ProvisionAction.INSTALL_AND_START; +import static org.apache.ambari.server.controller.internal.ProvisionAction.INSTALL_ONLY; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.controller.RequestStatusResponse; import org.apache.ambari.server.controller.internal.ConfigurationContext; @@ -27,11 +37,6 @@ import org.apache.ambari.server.controller.internal.ProvisionClusterRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; - -import static org.apache.ambari.server.controller.internal.ProvisionAction.INSTALL_AND_START; -import static org.apache.ambari.server.controller.internal.ProvisionAction.INSTALL_ONLY; - /** * Represents a cluster topology. * Topology includes the the associated blueprint, cluster configuration and hostgroup -> host mapping. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroupInfo.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroupInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroupInfo.java index 4db3a92..7cbdd98 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroupInfo.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/HostGroupInfo.java @@ -18,17 +18,17 @@ package org.apache.ambari.server.topology; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + import org.apache.ambari.server.api.predicate.InvalidQueryException; import org.apache.ambari.server.api.predicate.PredicateCompiler; import org.apache.ambari.server.controller.spi.Predicate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - /** * Host Group information specific to a cluster instance. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/HostRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/HostRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/HostRequest.java index d8390c6..3243359 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/HostRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/HostRequest.java @@ -18,6 +18,16 @@ package org.apache.ambari.server.topology; +import static org.apache.ambari.server.controller.internal.ProvisionAction.INSTALL_AND_START; +import static org.apache.ambari.server.controller.internal.ProvisionAction.INSTALL_ONLY; +import static org.apache.ambari.server.controller.internal.ProvisionAction.START_ONLY; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.api.predicate.InvalidQueryException; import org.apache.ambari.server.api.predicate.PredicateCompiler; @@ -31,14 +41,14 @@ import org.apache.ambari.server.orm.entities.TopologyHostRequestEntity; import org.apache.ambari.server.orm.entities.TopologyHostTaskEntity; import org.apache.ambari.server.orm.entities.TopologyLogicalTaskEntity; import org.apache.ambari.server.state.Host; -import org.apache.ambari.server.topology.tasks.*; +import org.apache.ambari.server.topology.tasks.InstallHostTask; +import org.apache.ambari.server.topology.tasks.PersistHostResourcesTask; +import org.apache.ambari.server.topology.tasks.RegisterWithConfigGroupTask; +import org.apache.ambari.server.topology.tasks.StartHostTask; +import org.apache.ambari.server.topology.tasks.TopologyTask; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; - -import static org.apache.ambari.server.controller.internal.ProvisionAction.*; - /** http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/LogicalRequest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/LogicalRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/LogicalRequest.java index 1049b90..fc6101d 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/LogicalRequest.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/LogicalRequest.java @@ -18,7 +18,18 @@ package org.apache.ambari.server.topology; -import com.google.common.collect.Iterables; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicLong; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.actionmanager.HostRoleStatus; @@ -28,14 +39,17 @@ import org.apache.ambari.server.controller.AmbariServer; import org.apache.ambari.server.controller.RequestStatusResponse; import org.apache.ambari.server.controller.ShortTaskStatus; import org.apache.ambari.server.orm.dao.HostRoleCommandStatusSummaryDTO; -import org.apache.ambari.server.orm.entities.*; +import org.apache.ambari.server.orm.entities.StageEntity; +import org.apache.ambari.server.orm.entities.TopologyHostGroupEntity; +import org.apache.ambari.server.orm.entities.TopologyHostInfoEntity; +import org.apache.ambari.server.orm.entities.TopologyHostRequestEntity; +import org.apache.ambari.server.orm.entities.TopologyLogicalRequestEntity; import org.apache.ambari.server.state.Host; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; -import java.util.concurrent.atomic.AtomicLong; +import com.google.common.collect.Iterables; /** http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/PersistedStateImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/PersistedStateImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/PersistedStateImpl.java index dfeb99b..8b51fab 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/PersistedStateImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/PersistedStateImpl.java @@ -18,23 +18,43 @@ package org.apache.ambari.server.topology; -import com.google.gson.Gson; -import com.google.inject.Inject; -import com.google.inject.persist.Transactional; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.inject.Singleton; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.api.predicate.InvalidQueryException; import org.apache.ambari.server.controller.internal.BaseClusterRequest; -import org.apache.ambari.server.orm.dao.*; -import org.apache.ambari.server.orm.entities.*; +import org.apache.ambari.server.orm.dao.HostDAO; +import org.apache.ambari.server.orm.dao.HostRoleCommandDAO; +import org.apache.ambari.server.orm.dao.TopologyHostGroupDAO; +import org.apache.ambari.server.orm.dao.TopologyHostInfoDAO; +import org.apache.ambari.server.orm.dao.TopologyHostRequestDAO; +import org.apache.ambari.server.orm.dao.TopologyLogicalRequestDAO; +import org.apache.ambari.server.orm.dao.TopologyLogicalTaskDAO; +import org.apache.ambari.server.orm.dao.TopologyRequestDAO; +import org.apache.ambari.server.orm.entities.HostRoleCommandEntity; +import org.apache.ambari.server.orm.entities.TopologyHostGroupEntity; +import org.apache.ambari.server.orm.entities.TopologyHostInfoEntity; +import org.apache.ambari.server.orm.entities.TopologyHostRequestEntity; +import org.apache.ambari.server.orm.entities.TopologyHostTaskEntity; +import org.apache.ambari.server.orm.entities.TopologyLogicalRequestEntity; +import org.apache.ambari.server.orm.entities.TopologyLogicalTaskEntity; +import org.apache.ambari.server.orm.entities.TopologyRequestEntity; import org.apache.ambari.server.stack.NoSuchStackException; import org.apache.ambari.server.state.Host; import org.apache.ambari.server.topology.tasks.TopologyTask; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.inject.Singleton; -import java.util.*; +import com.google.gson.Gson; +import com.google.inject.Inject; +import com.google.inject.persist.Transactional; /** * Implementation which uses Ambari Database DAO and Entity objects for persistence http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java index f897f7b..1505107 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/Service.java @@ -19,10 +19,10 @@ package org.apache.ambari.server.topology; -import org.apache.ambari.server.controller.internal.StackV2; - import java.util.Set; +import org.apache.ambari.server.controller.internal.StackV2; + public class Service { private final String type; http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java index cfd3501..7691619 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/TopologyManager.java @@ -18,10 +18,22 @@ package org.apache.ambari.server.topology; -import com.google.common.eventbus.Subscribe; -import com.google.inject.Inject; -import com.google.inject.Singleton; -import com.google.inject.persist.Transactional; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.actionmanager.HostRoleStatus; @@ -30,9 +42,21 @@ import org.apache.ambari.server.configuration.Configuration; import org.apache.ambari.server.controller.AmbariServer; import org.apache.ambari.server.controller.RequestStatusResponse; import org.apache.ambari.server.controller.ShortTaskStatus; +import org.apache.ambari.server.controller.internal.ArtifactResourceProvider; +import org.apache.ambari.server.controller.internal.BaseClusterRequest; +import org.apache.ambari.server.controller.internal.CalculatedStatus; +import org.apache.ambari.server.controller.internal.CredentialResourceProvider; +import org.apache.ambari.server.controller.internal.ProvisionClusterRequest; +import org.apache.ambari.server.controller.internal.RequestImpl; +import org.apache.ambari.server.controller.internal.ScaleClusterRequest; import org.apache.ambari.server.controller.internal.StackV2; -import org.apache.ambari.server.controller.internal.*; -import org.apache.ambari.server.controller.spi.*; +import org.apache.ambari.server.controller.spi.NoSuchParentResourceException; +import org.apache.ambari.server.controller.spi.RequestStatus; +import org.apache.ambari.server.controller.spi.Resource; +import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException; +import org.apache.ambari.server.controller.spi.ResourceProvider; +import org.apache.ambari.server.controller.spi.SystemException; +import org.apache.ambari.server.controller.spi.UnsupportedPropertyException; import org.apache.ambari.server.events.AmbariEvent; import org.apache.ambari.server.events.ClusterConfigFinishedEvent; import org.apache.ambari.server.events.HostsRemovedEvent; @@ -55,8 +79,10 @@ import org.apache.ambari.server.utils.RetryHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; -import java.util.concurrent.*; +import com.google.common.eventbus.Subscribe; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.google.inject.persist.Transactional; /** * Manages all cluster provisioning actions on the cluster topology. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/tasks/PersistHostResourcesTask.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/tasks/PersistHostResourcesTask.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/tasks/PersistHostResourcesTask.java index f8ad78e..00eb706 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/tasks/PersistHostResourcesTask.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/tasks/PersistHostResourcesTask.java @@ -17,17 +17,22 @@ */ package org.apache.ambari.server.topology.tasks; -import com.google.inject.assistedinject.Assisted; -import com.google.inject.assistedinject.AssistedInject; -import org.apache.ambari.server.topology.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Map; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.ComponentV2; +import org.apache.ambari.server.topology.HostGroupV2; +import org.apache.ambari.server.topology.HostRequest; +import org.apache.ambari.server.topology.Service; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.inject.assistedinject.Assisted; +import com.google.inject.assistedinject.AssistedInject; + public class PersistHostResourcesTask extends TopologyHostTask { private final static Logger LOG = LoggerFactory.getLogger(PersistHostResourcesTask.class); http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidator.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidator.java index 4895c40..94a1a5c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/ClusterConfigTypeValidator.java @@ -13,6 +13,9 @@ */ package org.apache.ambari.server.topology.validators; +import java.util.HashSet; +import java.util.Set; + import org.apache.ambari.server.topology.ClusterTopology; import org.apache.ambari.server.topology.InvalidTopologyException; import org.apache.ambari.server.topology.Service; @@ -20,9 +23,6 @@ import org.apache.ambari.server.topology.TopologyValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashSet; -import java.util.Set; - /** * Validates configuration types related to services specified in the blueprint. * If the cluster creation template contains configuration types that are not related to services in the blueprint the http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/HiveServiceValidator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/HiveServiceValidator.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/HiveServiceValidator.java index 3f8b517..80b6560 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/HiveServiceValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/HiveServiceValidator.java @@ -14,12 +14,17 @@ package org.apache.ambari.server.topology.validators; -import org.apache.ambari.server.topology.*; +import java.util.Collection; + +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.ComponentV2; +import org.apache.ambari.server.topology.Configuration; +import org.apache.ambari.server.topology.InvalidTopologyException; +import org.apache.ambari.server.topology.Service; +import org.apache.ambari.server.topology.TopologyValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collection; - /** * Validates hive service related setup before provisioning the cluster. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredConfigPropertiesValidator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredConfigPropertiesValidator.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredConfigPropertiesValidator.java index 4d37a02..05c063c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredConfigPropertiesValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredConfigPropertiesValidator.java @@ -14,14 +14,23 @@ package org.apache.ambari.server.topology.validators; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.TreeMap; +import java.util.TreeSet; + import org.apache.ambari.server.controller.internal.StackV2; import org.apache.ambari.server.state.PropertyInfo; -import org.apache.ambari.server.topology.*; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.HostGroupV2; +import org.apache.ambari.server.topology.InvalidTopologyException; +import org.apache.ambari.server.topology.Service; +import org.apache.ambari.server.topology.TopologyValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; - /** * Validates the configuration by checking the existence of required properties for the services listed in the blueprint. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java index 9a2b846..41dee07 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/RequiredPasswordValidator.java @@ -14,15 +14,22 @@ package org.apache.ambari.server.topology.validators; * limitations under the License. */ -import org.apache.ambari.server.controller.internal.StackV2; -import org.apache.ambari.server.state.PropertyInfo; -import org.apache.ambari.server.topology.*; - import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Map; +import org.apache.ambari.server.controller.internal.StackV2; +import org.apache.ambari.server.state.PropertyInfo; +import org.apache.ambari.server.topology.BlueprintV2; +import org.apache.ambari.server.topology.ClusterTopology; +import org.apache.ambari.server.topology.ComponentV2; +import org.apache.ambari.server.topology.HostGroupInfo; +import org.apache.ambari.server.topology.HostGroupV2; +import org.apache.ambari.server.topology.InvalidTopologyException; +import org.apache.ambari.server.topology.Service; +import org.apache.ambari.server.topology.TopologyValidator; + /** * Validates that all required passwords are provided. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidator.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidator.java index 55660e3..2adda10 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/StackConfigTypeValidator.java @@ -14,6 +14,9 @@ package org.apache.ambari.server.topology.validators; +import java.util.HashSet; +import java.util.Set; + import org.apache.ambari.server.topology.ClusterTopology; import org.apache.ambari.server.topology.InvalidTopologyException; import org.apache.ambari.server.topology.Service; @@ -21,9 +24,6 @@ import org.apache.ambari.server.topology.TopologyValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashSet; -import java.util.Set; - /** * Validates whether incoming config types (form the blueprint or the cluster creation template) are valid. * A configuration type is considered valid if the stack based on which the cluster is to be created contains such a http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/UnitValidator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/UnitValidator.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/UnitValidator.java index 50bdec6..8c8475a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/UnitValidator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/validators/UnitValidator.java @@ -17,17 +17,17 @@ */ package org.apache.ambari.server.topology.validators; +import static org.apache.ambari.server.controller.internal.UnitUpdater.PropertyValue; + +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.controller.internal.StackV2; import org.apache.ambari.server.controller.internal.UnitUpdater.PropertyUnit; import org.apache.ambari.server.topology.ClusterTopology; import org.apache.ambari.server.topology.InvalidTopologyException; import org.apache.ambari.server.topology.TopologyValidator; -import java.util.Map; -import java.util.Set; - -import static org.apache.ambari.server.controller.internal.UnitUpdater.PropertyValue; - /** * I validate the unit of properties by checking if it matches to the stack defined unit. * Properties with different unit than the stack defined unit are rejected. http://git-wip-us.apache.org/repos/asf/ambari/blob/58c83394/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java index 87d6363..a8674b3 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java @@ -18,16 +18,24 @@ package org.apache.ambari.server.topology; +import static org.easymock.EasyMock.expect; +import static org.powermock.api.easymock.PowerMock.createNiceMock; +import static org.powermock.api.easymock.PowerMock.replay; +import static org.powermock.api.easymock.PowerMock.reset; +import static org.powermock.api.easymock.PowerMock.verify; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.controller.internal.Stack; import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.util.*; - -import static org.easymock.EasyMock.expect; -import static org.powermock.api.easymock.PowerMock.*; - /** * Unit tests for ClusterTopologyImpl. */
