http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/conf/unix/ambari.properties ----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/assemblies/server.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinition.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java index d4e45a8,f0f13e1..ef72399 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java @@@ -939,24 -911,9 +931,28 @@@ public interface AmbariManagementContro */ QuickLinkVisibilityController getQuicklinkVisibilityController(); + ConfigGroupResponse getConfigGroupUpdateResults(ConfigGroupRequest configGroupRequest); + + void saveConfigGroupUpdate(ConfigGroupRequest configGroupRequest, ConfigGroupResponse configGroupResponse); + + /** + * Fetch the packlet info for a given mpack. + * + * @param mpackId + * @return List of packlets + */ + ArrayList<Packlet> getPacklets(Long mpackId); + + /** + * Get the software registries identified by the given request objects. + * + * @param requests the request objects which identify the software registries to be returned + * + * @return a set of software registry responses + * + * @throws AmbariException thrown if the resource cannot be read + */ + Set<RegistryResponse> getRegistries(Set<RegistryRequest> requests) + throws AmbariException; } http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java index eed45dd,5639dc1..7b2c2ae --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java @@@ -503,77 -501,8 +508,66 @@@ public class AmbariManagementController } // Create cluster widgets and layouts initializeWidgetsAndLayouts(c, null); - - if (null != versionEntity) { - ClusterVersionDAO clusterVersionDAO = injector.getInstance(ClusterVersionDAO.class); - - ClusterVersionEntity clusterVersion = clusterVersionDAO.findByClusterAndStackAndVersion(request.getClusterName(), stackId, - request.getRepositoryVersion()); - - if (null == clusterVersion) { - c.createClusterVersion(stackId, versionEntity.getVersion(), getAuthName(), RepositoryVersionState.INIT); - } - } } + /** + * {@inheritDoc} + */ + @Override + public RegistryResponse addRegistry(RegistryRequest request) { + Registry registry = registryManager.addRegistry( + request.getRegistryName(), request.getRegistryType(), request.getRegistryUri()); + return new RegistryResponse(registry); + } + + /** + * {@inheritDoc} + */ + @Override + public Set<RegistryResponse> getRegistries(Set<RegistryRequest> requests) + throws AmbariException { + Set<RegistryResponse> responses = new HashSet<>(); + for (RegistryRequest request : requests) { + responses.addAll(getRegistries(request)); + } + return responses; + } + + private Set<RegistryResponse> getRegistries(RegistryRequest request) + throws AmbariException { + Set<RegistryResponse> responses; + + Long registryId = request.getRegistryId(); + + if (registryId != null) { + Registry registry = registryManager.getRegistry(registryId); + responses = Collections.singleton(new RegistryResponse(registry)); + } else { + Collection<Registry> registries = registryManager.getRegistries().values(); + responses = new HashSet<>(); + for (Registry registry: registries) { + responses.add(new RegistryResponse(registry)); + } + } + return responses; + } + + /** + * {@inheritDoc} + */ + @Override + public MpackResponse registerMpack(MpackRequest request) + throws IOException, AuthorizationException, ResourceAlreadyExistsException{ + MpackResponse mpackResponse = ambariMetaInfo.registerMpack(request); + updateStacks(); + return mpackResponse; + } + + @Override + public ArrayList<Packlet> getPacklets(Long mpackId) { + return ambariMetaInfo.getPacklets(mpackId); + } + @Override public synchronized void createHostComponents(Set<ServiceComponentHostRequest> requests) throws AmbariException, AuthorizationException { http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/stack/StackManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog251.java ---------------------------------------------------------------------- diff --cc ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog251.java index dd7434a,07c7d3e..87c4972 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog251.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog251.java @@@ -30,13 -31,12 +31,18 @@@ import org.apache.ambari.server.state.C import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.SecurityType; import org.apache.commons.lang.StringUtils; + import org.slf4j.Logger; + import org.slf4j.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.inject.Inject; +import com.google.inject.Injector; + + import com.google.inject.Inject; + import com.google.inject.Injector; + /** * The {@link UpgradeCatalog251} upgrades Ambari from 2.5.0 to 2.5.1. */ http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/main/resources/META-INF/persistence.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java ---------------------------------------------------------------------- diff --cc ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java index c58cedd,eadc678..bd7dc20 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java @@@ -95,11 -90,8 +93,10 @@@ import org.apache.ambari.server.state.C import org.apache.ambari.server.state.DesiredConfig; import org.apache.ambari.server.state.Host; import org.apache.ambari.server.state.MaintenanceState; +import org.apache.ambari.server.state.Mpack; +import org.apache.ambari.server.state.Packlet; import org.apache.ambari.server.state.PropertyInfo; import org.apache.ambari.server.state.RepositoryInfo; - import org.apache.ambari.server.state.RepositoryVersionState; import org.apache.ambari.server.state.SecurityType; import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; @@@ -109,7 -101,7 +106,8 @@@ import org.apache.ambari.server.state.S import org.apache.ambari.server.state.StackId; import org.apache.ambari.server.state.StackInfo; import org.apache.ambari.server.state.State; + import org.apache.ambari.server.state.stack.OsFamily; + import org.easymock.Capture; import org.easymock.EasyMock; import org.junit.Before; @@@ -2399,50 -2392,8 +2398,50 @@@ public class AmbariManagementController controller.createCluster(cr); // verification - verify(injector, clusters, ambariMetaInfo, stackInfo, cluster, repoVersionDAO, repoVersion, clusterVersionDAO); + verify(injector, clusters, ambariMetaInfo, stackInfo, cluster, repoVersionDAO, repoVersion); } + @Test + public void testRegisterMpacks() throws Exception{ + MpackRequest mpackRequest = createNiceMock(MpackRequest.class); + Mpack mpack = new Mpack(); + mpack.setMpackId((long)100); + mpack.setPacklets(new ArrayList<Packlet>()); + mpack.setPrerequisites(new HashMap<String, String>()); + mpack.setRegistryId(new Long(100)); + mpack.setVersion("3.0"); + mpack.setMpackUri("abc.tar.gz"); + mpack.setDescription("Test mpack"); + mpack.setName("testMpack"); + MpackResponse mpackResponse = new MpackResponse(mpack); + Injector injector = createNiceMock(Injector.class); + expect(injector.getInstance(MaintenanceStateHelper.class)).andReturn(null).atLeastOnce(); + expect(ambariMetaInfo.registerMpack(mpackRequest)).andReturn(mpackResponse); + replay(ambariMetaInfo,injector); + AmbariManagementController controller = new AmbariManagementControllerImpl(null, clusters, injector); + setAmbariMetaInfo(ambariMetaInfo, controller); + Assert.assertEquals(mpackResponse,controller.registerMpack(mpackRequest)); + } + + @Test + public void testGetPacklets() throws Exception { + Long mpackId = new Long(100); + ArrayList<Packlet> packletArrayList = new ArrayList<>(); + Packlet samplePacklet = new Packlet(); + Injector injector = createNiceMock(Injector.class); + samplePacklet.setType("service"); + samplePacklet.setVersion("3.0.0"); + samplePacklet.setName("NIFI"); + samplePacklet.setSourceDir("/abc/nifi.tar.gz"); + packletArrayList.add(samplePacklet); + expect(injector.getInstance(MaintenanceStateHelper.class)).andReturn(null).atLeastOnce(); + expect(ambariMetaInfo.getPacklets(mpackId)).andReturn(packletArrayList).atLeastOnce(); + replay(ambariMetaInfo,injector); + AmbariManagementController controller = new AmbariManagementControllerImpl(null, clusters, injector); + setAmbariMetaInfo(ambariMetaInfo, controller); + + Assert.assertEquals(packletArrayList,controller.getPacklets(mpackId)); + + } } http://git-wip-us.apache.org/repos/asf/ambari/blob/f491f7b3/ambari-server/src/test/java/org/apache/ambari/server/metric/system/impl/TestAmbariMetricsSinkImpl.java ----------------------------------------------------------------------