Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Base 1128 #2024

Merged
merged 5 commits into from
Sep 19, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@
import io.subutai.hub.share.quota.ContainerQuota;


/**
* TODO Seems obsolete. Check and delete
*/
public class RestServiceImpl implements RestService
{
private static Logger LOG = LoggerFactory.getLogger( RestServiceImpl.class );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,8 @@ public interface ConfigDataService
Config getHubConfig( String peerId );

void deleteConfig( final String peerId );

String getPeerOwnerId( String peerId );

boolean isPeerRegisteredToHub( String peerId );
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,30 +51,27 @@
import io.subutai.core.hubmanager.impl.appscale.AppScaleProcessor;
import io.subutai.core.hubmanager.impl.dao.ConfigDataServiceImpl;
import io.subutai.core.hubmanager.impl.dao.ContainerMetricsServiceImpl;
import io.subutai.core.hubmanager.impl.processor.HubEnvironmentProcessor;
import io.subutai.core.hubmanager.impl.environment.state.Context;
import io.subutai.core.hubmanager.impl.http.HubRestClient;
import io.subutai.core.hubmanager.impl.processor.HeartbeatProcessor;
import io.subutai.core.hubmanager.impl.processor.HubEnvironmentProcessor;
import io.subutai.core.hubmanager.impl.processor.ProductProcessor;
import io.subutai.core.hubmanager.impl.processor.ProxyProcessor;
import io.subutai.core.hubmanager.impl.processor.UserTokenProcessor;
import io.subutai.core.hubmanager.impl.processor.port_map.ContainerPortMapProcessor;
import io.subutai.core.hubmanager.impl.requestor.ContainerEventProcessor;
import io.subutai.core.hubmanager.impl.requestor.ContainerMetricsProcessor;
import io.subutai.core.hubmanager.impl.util.EnvironmentUserHelper;
import io.subutai.core.hubmanager.impl.processor.HeartbeatProcessor;
import io.subutai.core.hubmanager.impl.requestor.HubLoggerProcessor;
import io.subutai.core.hubmanager.impl.requestor.PeerMetricsProcessor;
import io.subutai.core.hubmanager.impl.processor.ProductProcessor;
import io.subutai.core.hubmanager.impl.processor.ProxyProcessor;
import io.subutai.core.hubmanager.impl.requestor.ResourceHostDataProcessor;
import io.subutai.core.hubmanager.impl.processor.ResourceHostRegisterProcessor;
import io.subutai.core.hubmanager.impl.processor.SystemConfProcessor;
import io.subutai.core.hubmanager.impl.processor.UserTokenProcessor;
import io.subutai.core.hubmanager.impl.requestor.VersionInfoProcessor;
import io.subutai.core.hubmanager.impl.processor.port_map.ContainerPortMapProcessor;
import io.subutai.core.hubmanager.impl.tunnel.TunnelEventProcessor;
import io.subutai.core.hubmanager.impl.tunnel.TunnelProcessor;
import io.subutai.core.hubmanager.impl.util.EnvironmentUserHelper;
import io.subutai.core.identity.api.IdentityManager;
import io.subutai.core.identity.api.model.User;
import io.subutai.core.metric.api.Monitor;
import io.subutai.core.peer.api.PeerManager;
import io.subutai.core.registration.api.HostRegistrationManager;
import io.subutai.core.security.api.SecurityManager;
import io.subutai.hub.share.common.HubEventListener;
import io.subutai.hub.share.dto.PeerDto;
Expand All @@ -87,9 +84,8 @@

public class HubManagerImpl implements HubManager, HostListener
{
private static final long TIME_15_MINUTES = 900;

private static final long METRICS_SEND_DELAY = TimeUnit.MINUTES.toSeconds( 10 );
private static final long RH_CONF_SEND_INTERVAL_SEC = TimeUnit.MINUTES.toSeconds( 15 );
private static final long METRICS_SEND_INTERVAL_SEC = TimeUnit.MINUTES.toSeconds( 10 );
private static final int CONTAINER_METRIC_SEND_INTERVAL_MIN = 15;

private final Logger log = LoggerFactory.getLogger( getClass() );
Expand Down Expand Up @@ -137,8 +133,6 @@ public class HubManagerImpl implements HubManager, HostListener

private IdentityManager identityManager;

private HostRegistrationManager hostRegistrationManager;

private HeartbeatProcessor heartbeatProcessor;

private ResourceHostDataProcessor resourceHostDataProcessor;
Expand All @@ -159,6 +153,8 @@ public class HubManagerImpl implements HubManager, HostListener

private ContainerMetricsService containerMetricsService;

private ProductProcessor productProcessor;


public HubManagerImpl( DaoManager daoManager )
{
Expand Down Expand Up @@ -204,15 +200,15 @@ private void initHubRequesters()
resourceHostDataProcessor = new ResourceHostDataProcessor( this, localPeer, monitor, restClient );

resourceHostConfExecutorService
.scheduleWithFixedDelay( resourceHostDataProcessor, 20, TIME_15_MINUTES, TimeUnit.SECONDS );
.scheduleWithFixedDelay( resourceHostDataProcessor, 20, RH_CONF_SEND_INTERVAL_SEC, TimeUnit.SECONDS );

//***********

peerMetricsProcessor = new PeerMetricsProcessor( this, peerManager, configManager, monitor, restClient,
( int ) METRICS_SEND_DELAY );
( int ) METRICS_SEND_INTERVAL_SEC );

peerMetricsExecutorService
.scheduleWithFixedDelay( peerMetricsProcessor, 30, METRICS_SEND_DELAY, TimeUnit.SECONDS );
.scheduleWithFixedDelay( peerMetricsProcessor, 30, METRICS_SEND_INTERVAL_SEC, TimeUnit.SECONDS );

//***********

Expand Down Expand Up @@ -266,19 +262,13 @@ private void initHeartbeatProcessors()

StateLinkProcessor hubEnvironmentProcessor = new HubEnvironmentProcessor( ctx );

StateLinkProcessor systemConfProcessor = new SystemConfProcessor( restClient );

ProductProcessor productProcessor = new ProductProcessor( configManager, this.hubEventListeners, restClient );
productProcessor = new ProductProcessor( configManager, this.hubEventListeners, restClient );

AppScaleProcessor appScaleProcessor = new AppScaleProcessor( new AppScaleManager( peerManager ), restClient );

EnvironmentTelemetryProcessor environmentTelemetryProcessor =
new EnvironmentTelemetryProcessor( this, peerManager, configManager, restClient );

StateLinkProcessor resourceHostRegisterProcessor =
new ResourceHostRegisterProcessor( hostRegistrationManager, peerManager, restClient );


ContainerPortMapProcessor containerPortMapProcessor = new ContainerPortMapProcessor( ctx );

ProxyProcessor proxyProcessor = new ProxyProcessor( peerManager, restClient );
Expand All @@ -290,11 +280,8 @@ private void initHeartbeatProcessors()
.addProcessor( tunnelProcessor )
.addProcessor(
environmentTelemetryProcessor )
.addProcessor( systemConfProcessor )
.addProcessor( productProcessor )
.addProcessor( appScaleProcessor )
.addProcessor(
resourceHostRegisterProcessor )
.addProcessor( proxyProcessor )
.addProcessor( containerPortMapProcessor )
.addProcessor( userTokenProcessor );
Expand Down Expand Up @@ -494,9 +481,6 @@ public void installPlugin( String url, String name, String uid ) throws HubManag

if ( isRegisteredWithHub() )
{
//TODO use already existing this.productProcessor
ProductProcessor productProcessor =
new ProductProcessor( this.configManager, this.hubEventListeners, this.restClient );
PeerProductDataDto peerProductDataDto = new PeerProductDataDto();
peerProductDataDto.setProductId( uid );
peerProductDataDto.setState( PeerProductDataDto.State.INSTALLED );
Expand Down Expand Up @@ -538,9 +522,6 @@ public void uninstallPlugin( final String name, final String uid )

if ( isRegisteredWithHub() )
{
//TODO use already existing this.productProcessor
ProductProcessor productProcessor =
new ProductProcessor( this.configManager, this.hubEventListeners, this.restClient );
PeerProductDataDto peerProductDataDto = new PeerProductDataDto();
peerProductDataDto.setProductId( uid );
peerProductDataDto.setState( PeerProductDataDto.State.REMOVE );
Expand Down Expand Up @@ -798,12 +779,6 @@ public void setIdentityManager( final IdentityManager identityManager )
}


public void setHostRegistrationManager( final HostRegistrationManager hostRegistrationManager )
{
this.hostRegistrationManager = hostRegistrationManager;
}


@Override
public void onContainerStateChanged( final ContainerHostInfo containerInfo, final ContainerHostState previousState,
final ContainerHostState currentState )
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
import io.subutai.core.hubmanager.api.HubManager;
import io.subutai.core.hubmanager.api.RestClient;
import io.subutai.core.hubmanager.api.RestResult;
import io.subutai.core.hubmanager.api.dao.ConfigDataService;
import io.subutai.core.hubmanager.api.exception.HubManagerException;
import io.subutai.core.hubmanager.impl.dao.ConfigDataServiceImpl;
import io.subutai.core.identity.api.IdentityManager;
import io.subutai.core.identity.api.model.User;
import io.subutai.core.peer.api.PeerManager;
Expand All @@ -42,7 +44,6 @@
import static java.lang.String.format;


//TODO use ConfigDataServiceimpl instead of DaoHelper
public class HubAdapterImpl implements HubAdapter, EnvironmentEventListener, HostListener
{
private static final String USER_ENVIRONMENTS_URL = "/rest/v1/adapter/users/%s/environments";
Expand All @@ -65,7 +66,7 @@ public class HubAdapterImpl implements HubAdapter, EnvironmentEventListener, Hos

private final Gson gson = new GsonBuilder().serializeNulls().setPrettyPrinting().disableHtmlEscaping().create();

private final DaoHelper daoHelper;
private final ConfigDataService configDataService;


private final IdentityManager identityManager;
Expand All @@ -78,7 +79,7 @@ public class HubAdapterImpl implements HubAdapter, EnvironmentEventListener, Hos
public HubAdapterImpl( DaoManager daoManager, PeerManager peerManager, IdentityManager identityManager )
throws HubManagerException
{
daoHelper = new DaoHelper( daoManager );
configDataService = new ConfigDataServiceImpl( daoManager );

this.identityManager = identityManager;

Expand All @@ -96,13 +97,13 @@ private RestClient getRestClient()

private boolean isRegistered()
{
return daoHelper.isPeerRegisteredToHub( peerId );
return configDataService.isPeerRegisteredToHub( peerId );
}


private String getOwnerId()
{
return daoHelper.getPeerOwnerId( peerId );
return configDataService.getPeerOwnerId( peerId );
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ void installCluster( AppScaleConfigDto config ) throws CommandException

installAppScale( controllerHost, config );

setupRevproxy( controllerHost, config );
setupRevproxy( config );

log.debug( "AppScale installation done" );
}
Expand Down Expand Up @@ -98,18 +98,18 @@ else if ( StringUtils.startsWith( s, "password:" ) )

private String formatIps( Map<String, String> ipList, List<String> hosts )
{
String s = "";
StringBuilder s = new StringBuilder();

for ( String hostname : hosts )
{
s += ipList.get( hostname ) + " ";
s.append( ipList.get( hostname ) ).append( " " );
}

return s.replace( "/24", "" );
return s.toString().replace( "/24", "" );
}


private void setupRevproxy( ContainerHost containerHost, AppScaleConfigDto config )
private void setupRevproxy( AppScaleConfigDto config )
{
String ipAddress = config.getContainerAddresses().get( config.getClusterName() ).replace( "/24", "" );

Expand Down Expand Up @@ -213,6 +213,6 @@ private Long getVni( final AppScaleConfigDto config )
log.error( e.getMessage() );
}

return 0l;
return 0L;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@


import javax.persistence.EntityManager;
import javax.persistence.Query;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -24,6 +25,45 @@ public ConfigDataServiceImpl( final DaoManager daoManager )
}


public String getPeerOwnerId( String peerId )
{
return executeQuery( " select user_id from h_config where peer_id = ? ", peerId );
}


public boolean isPeerRegisteredToHub( String peerId )
{
Integer count = executeQuery( " select count(*) from h_config where peer_id = ? ", peerId );

return count != null && count > 0;
}


private <T> T executeQuery( String sql, String peerId )
{
EntityManager em = daoManager.getEntityManagerFactory().createEntityManager();

try
{
Query q = em.createNativeQuery( sql );

q.setParameter( 1, peerId );

return ( T ) q.getSingleResult();
}
catch ( Exception e )
{
LOG.error( "Error to execute query: ", e );
}
finally
{
daoManager.closeEntityManager( em );
}

return null;
}


@Override
public void saveHubConfig( final Config config )
{
Expand Down Expand Up @@ -55,8 +95,7 @@ public ConfigEntity getHubConfig( String peerId )

try
{
ConfigEntity configuration = em.find( ConfigEntity.class, peerId );
return configuration;
return em.find( ConfigEntity.class, peerId );
}
catch ( Exception ex )
{
Expand Down
Loading