Examples of Topology


Examples of org.apache.hadoop.gateway.topology.Topology

    provider.reloadTopologies();

    Collection<Topology> topologies = provider.getTopologies();
    assertThat( topologies, notNullValue() );
    assertThat( topologies.size(), is( 1 ) );
    Topology topology = topologies.iterator().next();
    assertThat( topology.getName(), is( "one" ) );
    assertThat( topology.getTimestamp(), is( 1L ) );
    assertThat( topoListener.events.size(), is( 1 ) );
    topoListener.events.clear();

    // Add a file to the directory.
    FileObject two = createFile( dir, "two.xml", "org/apache/hadoop/gateway/topology/file/topology-two.xml", 1L );
    fileListener.fileCreated( new FileChangeEvent( two ) );
    topologies = provider.getTopologies();
    assertThat( topologies.size(), is( 2 ) );
    Set<String> names = new HashSet<String>( Arrays.asList( "one", "two" ) );
    Iterator<Topology> iterator = topologies.iterator();
    topology = iterator.next();
    assertThat( names, hasItem( topology.getName() ) );
    names.remove( topology.getName() );
    topology = iterator.next();
    assertThat( names, hasItem( topology.getName() ) );
    names.remove( topology.getName() );
    assertThat( names.size(), is( 0 ) );
    assertThat( topoListener.events.size(), is( 1 ) );
    List<TopologyEvent> events = topoListener.events.get( 0 );
    assertThat( events.size(), is( 1 ) );
    TopologyEvent event = events.get( 0 );
    assertThat( event.getType(), is( TopologyEvent.Type.CREATED ) );
    assertThat( event.getTopology(), notNullValue() );

    // Update a file in the directory.
    two = createFile( dir, "two.xml", "org/apache/hadoop/gateway/topology/file/topology-three.xml", 2L );
    fileListener.fileChanged( new FileChangeEvent( two ) );
    topologies = provider.getTopologies();
    assertThat( topologies.size(), is( 2 ) );
    names = new HashSet<String>( Arrays.asList( "one", "two" ) );
    iterator = topologies.iterator();
    topology = iterator.next();
    assertThat( names, hasItem( topology.getName() ) );
    names.remove( topology.getName() );
    topology = iterator.next();
    assertThat( names, hasItem( topology.getName() ) );
    names.remove( topology.getName() );
    assertThat( names.size(), is( 0 ) );

    // Remove a file from the directory.
    two.delete();
    fileListener.fileDeleted( new FileChangeEvent( two ) );
    topologies = provider.getTopologies();
    assertThat( topologies.size(), is( 1 ) );
    topology = topologies.iterator().next();
    assertThat( topology.getName(), is( "one" ) );
    assertThat( topology.getTimestamp(), is( 1L ) );
  }
View Full Code Here

Examples of org.apache.hadoop.gateway.topology.Topology

    @Override
    public void handleTopologyEvent( List<TopologyEvent> events ) {
      synchronized ( GatewayServer.this ) {
        for( TopologyEvent event : events ) {
          Topology topology = event.getTopology();
          File topoDir = calculateAbsoluteTopologiesDir();
          File warDir = calculateDeploymentDir( topology );
          if( event.getType().equals( TopologyEvent.Type.DELETED ) ) {
            File[] files = topoDir.listFiles( new WarDirFilter( topology.getName() + "\\.war\\.[0-9A-Fa-f]+" ) );
            for( File file : files ) {
              log.deletingDeployment( file.getAbsolutePath() );
              internalUndeploy( topology );
              FileUtils.deleteQuietly( file );
            }
          } else {
            try {
              if( !warDir.exists() ) {
                log.deployingTopology( topology.getName(), warDir.getAbsolutePath() );
                WebArchive war = null;
                war = DeploymentFactory.createDeployment( config, topology );
                File tmp = war.as( ExplodedExporter.class ).exportExploded( topoDir, warDir.getName() + ".tmp" );
                tmp.renameTo( warDir );
                internalDeploy( topology, warDir );
                //log.deployedTopology( topology.getName());
              } else {
                log.redeployingTopology( topology.getName(), warDir.getAbsolutePath() );
                internalDeploy( topology, warDir );
                //log.redeployedTopology( topology.getName() );
              }
            } catch( Throwable e ) {
              //TODO: This needs proper i18n logging
View Full Code Here

Examples of org.apache.hadoop.gateway.topology.Topology

  @Test
  public void testEmptyTopology() throws IOException, SAXException, ParserConfigurationException {
    GatewayConfig config = new GatewayConfigImpl();

    Topology topology = new Topology();
    topology.setName( "test-cluster" );

    WebArchive war = DeploymentFactory.createDeployment( config, topology );
    //File dir = new File( System.getProperty( "user.dir" ) );
    //File file = war.as( ExplodedExporter.class ).exportExploded( dir, "test-cluster.war" );
View Full Code Here

Examples of org.apache.hadoop.gateway.topology.Topology

  }

  @Test
  public void testSimpleTopology() throws IOException, SAXException, ParserConfigurationException {
    GatewayConfig config = new GatewayConfigImpl();
    Topology topology = new Topology();
    topology.setName( "test-cluster" );
    Service service = new Service();
    service.setRole( "NAMENODE" );
    service.setUrl( new URL( "http://localhost:50070/webhdfs/v1" ) );
    topology.addService( service );
    Provider provider = new Provider();
    provider.setRole( "authentication" );
    provider.setEnabled( true );
    ProviderParam param = new ProviderParam();
    param.setName( "contextConfigLocation" );
    param.setValue( "classpath:app-context-security.xml" );
    provider.addParam( param );
    topology.addProvider( provider );

    WebArchive war = DeploymentFactory.createDeployment( config, topology );
    //File dir = new File( System.getProperty( "user.dir" ) );
    //File file = war.as( ExplodedExporter.class ).exportExploded( dir, "test-cluster.war" );
View Full Code Here

Examples of org.apache.hadoop.gateway.topology.Topology

  private static void contribute(
      DeploymentContext context,
      Map<String,List<ProviderDeploymentContributor>> providers,
      Map<String,List<ServiceDeploymentContributor>> services ) {
      Topology topology = context.getTopology();
    for( Provider provider : topology.getProviders() ) {
      ProviderDeploymentContributor contributor = getProviderContributor( providers, provider.getRole(), provider.getName() );
      if( contributor != null && provider.isEnabled() ) {
        try {
          contributor.contributeProvider( context, provider );
        } catch( Exception e ) {
          //TODO: I18N message.
          e.printStackTrace();
        }
      }
    }
    for( Service service : topology.getServices() ) {
      ServiceDeploymentContributor contributor = getServiceContributor( service.getRole(), null );
      if( contributor != null ) {
        try {
          contributor.contributeService( context, service );
        } catch( Exception e ) {
View Full Code Here

Examples of org.apache.stratos.messaging.domain.topology.Topology

                    topology = CloudControllerUtil.retrieveTopology();
                    if (topology == null) {
                        if (log.isDebugEnabled()) {
                            log.debug("Topology not found in registry, creating new");
                        }
                        topology = new Topology();
                    }
                    if (log.isDebugEnabled()) {
                        log.debug("Topology initialized");
                    }
                }
View Full Code Here

Examples of org.apache.stratos.messaging.domain.topology.Topology

    public static Topology getTopology() {
        if (topology == null) {
            synchronized (TopologyManager.class){
                if (topology == null) {
                    topology = new Topology();
                    if(log.isDebugEnabled()) {
                        log.debug("Topology object created");
                    }
                }
            }
View Full Code Here

Examples of org.apache.stratos.messaging.domain.topology.Topology

        this.nextProcessor = nextProcessor;
    }

    @Override
    public boolean process(String type, String message, Object object) {
        Topology topology = (Topology) object;

        if (MemberActivatedEvent.class.getName().equals(type)) {
            // Return if topology has not been initialized
            if (!topology.isInitialized())
                return false;

            // Parse complete message and build event
            MemberActivatedEvent event = (MemberActivatedEvent) Util.jsonToObject(message, MemberActivatedEvent.class);

            // Apply service filter
            if (TopologyServiceFilter.getInstance().isActive()) {
                if (TopologyServiceFilter.getInstance().serviceNameExcluded(event.getServiceName())) {
                    // Service is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Service is excluded: [service] %s", event.getServiceName()));
                    }
                    return false;
                }
            }

            // Apply cluster filter
            if (TopologyClusterFilter.getInstance().isActive()) {
                if (TopologyClusterFilter.getInstance().clusterIdExcluded(event.getClusterId())) {
                    // Cluster is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Cluster is excluded: [cluster] %s", event.getClusterId()));
                    }
                    return false;
                }
            }

            // Validate event properties
            if ((event.getMemberIp() == null) || event.getMemberIp().isEmpty()) {
                throw new RuntimeException(String.format("No ip address found in member activated event: [service] %s [cluster] %s [member] %s",
                        event.getServiceName(),
                        event.getClusterId(),
                        event.getMemberId()));
            }
            if ((event.getPorts() == null) || (event.getPorts().size() == 0)) {
                throw new RuntimeException(String.format("No ports found in member activated event: [service] %s [cluster] %s [member] %s",
                        event.getServiceName(),
                        event.getClusterId(),
                        event.getMemberId()));
            }

            // Validate event against the existing topology
            Service service = topology.getService(event.getServiceName());
            if (service == null) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Service does not exist: [service] %s", event.getServiceName()));
                }
                return false;
View Full Code Here

Examples of org.apache.stratos.messaging.domain.topology.Topology

        this.nextProcessor = nextProcessor;
    }

    @Override
    public boolean process(String type, String message, Object object) {
        Topology topology = (Topology) object;

        if (ServiceCreatedEvent.class.getName().equals(type)) {
            // Return if topology has not been initialized
            if (!topology.isInitialized())
                return false;

            // Parse complete message and build event
            ServiceCreatedEvent event = (ServiceCreatedEvent) Util.jsonToObject(message, ServiceCreatedEvent.class);

            // Apply service filter
            if (TopologyServiceFilter.getInstance().isActive()) {
                if (TopologyServiceFilter.getInstance().serviceNameExcluded(event.getServiceName())) {
                    // Service is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Service is excluded: [service] %s", event.getServiceName()));
                    }
                    return false;
                }
            }

            // Validate event against the existing topology
            if (topology.serviceExists(event.getServiceName())) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Service already created: [service] %s", event.getServiceName()));
                }
            } else {
             
              // Apply changes to the topology
              Service service = new Service(event.getServiceName(), event.getServiceType());
              service.addPorts(event.getPorts());
              topology.addService(service);
             
              if (log.isInfoEnabled()) {
                log.info(String.format("Service created: [service] %s", event.getServiceName()));
              }
            }
View Full Code Here

Examples of org.apache.stratos.messaging.domain.topology.Topology

        this.nextProcessor = nextProcessor;
    }

    @Override
    public boolean process(String type, String message, Object object) {
        Topology topology = (Topology) object;

        if (ClusterRemovedEvent.class.getName().equals(type)) {
            // Return if topology has not been initialized
            if (!topology.isInitialized())
                return false;

            // Parse complete message and build event
            ClusterRemovedEvent event = (ClusterRemovedEvent) Util.jsonToObject(message, ClusterRemovedEvent.class);

            // Apply service filter
            if (TopologyServiceFilter.getInstance().isActive()) {
                if (TopologyServiceFilter.getInstance().serviceNameExcluded(event.getServiceName())) {
                    // Service is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Service is excluded: [service] %s", event.getServiceName()));
                    }
                    return false;
                }
            }

            // Apply cluster filter
            if (TopologyClusterFilter.getInstance().isActive()) {
                if (TopologyClusterFilter.getInstance().clusterIdExcluded(event.getClusterId())) {
                    // Cluster is excluded, do not update topology or fire event
                    if (log.isDebugEnabled()) {
                        log.debug(String.format("Cluster is excluded: [cluster] %s", event.getClusterId()));
                    }
                    return false;
                }
            }

            // Validate event against the existing topology
            Service service = topology.getService(event.getServiceName());
            if (service == null) {
                if (log.isWarnEnabled()) {
                    log.warn(String.format("Service does not exist: [service] %s", event.getServiceName()));
                }
                return false;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.