package com.netflix.priam;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.google.common.collect.Lists;
import com.google.inject.Singleton;
import com.netflix.priam.IConfiguration;
import com.netflix.priam.defaultimpl.PriamConfiguration;
@Singleton
public class FakeConfiguration implements IConfiguration
{
public static final String FAKE_REGION = "us-east-1";
public String region;
public String appName;
public String zone;
public String instance_id;
public String restorePrefix;
public FakeConfiguration()
{
this(FAKE_REGION, "my_fake_cluster", "my_zone", "i-01234567");
}
public FakeConfiguration(String region, String appName, String zone, String ins_id)
{
this.region = region;
this.appName = appName;
this.zone = zone;
this.instance_id = ins_id;
this.restorePrefix = "";
}
@Override
public void intialize()
{
// TODO Auto-generated method stub
}
@Override
public String getBackupLocation()
{
// TODO Auto-generated method stub
return "casstestbackup";
}
@Override
public String getBackupPrefix()
{
// TODO Auto-generated method stub
return "TEST-netflix.platform.S3";
}
@Override
public boolean isCommitLogBackup()
{
// TODO Auto-generated method stub
return false;
}
@Override
public String getCommitLogLocation()
{
// TODO Auto-generated method stub
return "cass/commitlog";
}
@Override
public String getDataFileLocation()
{
// TODO Auto-generated method stub
return "target/data";
}
@Override
public String getCacheLocation()
{
// TODO Auto-generated method stub
return "cass/caches";
}
@Override
public List<String> getRacs()
{
return Arrays.asList("az1", "az2", "az3");
}
@Override
public int getJmxPort()
{
return 7199;
}
@Override
public int getThriftPort()
{
return 9160;
}
@Override
public int getNativeTransportPort()
{
return 9042;
}
@Override
public String getSnitch()
{
return "org.apache.cassandra.locator.SimpleSnitch";
}
@Override
public String getRac()
{
return this.zone;
}
@Override
public String getHostname()
{
// TODO Auto-generated method stub
return instance_id;
}
@Override
public String getInstanceName()
{
return instance_id;
}
@Override
public String getHeapSize()
{
// TODO Auto-generated method stub
return null;
}
@Override
public String getHeapNewSize()
{
// TODO Auto-generated method stub
return null;
}
@Override
public int getBackupHour()
{
// TODO Auto-generated method stub
return 12;
}
@Override
public String getRestoreSnapshot()
{
// TODO Auto-generated method stub
return null;
}
@Override
public String getAppName()
{
return appName;
}
@Override
public String getACLGroupName()
{
return this.getAppName();
}
@Override
public int getMaxBackupUploadThreads()
{
// TODO Auto-generated method stub
return 2;
}
@Override
public String getDC()
{
// TODO Auto-generated method stub
return this.region;
}
@Override
public int getMaxBackupDownloadThreads()
{
// TODO Auto-generated method stub
return 3;
}
public void setRestorePrefix(String prefix)
{
// TODO Auto-generated method stub
restorePrefix = prefix;
}
@Override
public String getRestorePrefix()
{
// TODO Auto-generated method stub
return restorePrefix;
}
@Override
public String getBackupCommitLogLocation()
{
return "cass/backup/cl/";
}
@Override
public boolean isMultiDC()
{
// TODO Auto-generated method stub
return false;
}
@Override
public String getASGName()
{
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isIncrBackup()
{
return true;
}
@Override
public String getHostIP()
{
// TODO Auto-generated method stub
return null;
}
@Override
public int getUploadThrottle()
{
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isLocalBootstrapEnabled() {
// TODO Auto-generated method stub
return false;
}
@Override
public int getInMemoryCompactionLimit() {
return 8;
}
@Override
public int getCompactionThroughput() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getMaxDirectMemory()
{
// TODO Auto-generated method stub
return null;
}
@Override
public String getBootClusterName()
{
// TODO Auto-generated method stub
return "cass_bootstrap";
}
@Override
public String getCassHome()
{
return "/tmp/priam";
}
@Override
public String getCassStartupScript()
{
// TODO Auto-generated method stub
return "true";
}
@Override
public List<String> getRestoreKeySpaces()
{
// TODO Auto-generated method stub
return Lists.newArrayList();
}
@Override
public long getBackupChunkSize()
{
return 5L*1024*1024;
}
@Override
public void setDC(String region)
{
// TODO Auto-generated method stub
}
@Override
public boolean isRestoreClosestToken()
{
// TODO Auto-generated method stub
return false;
}
@Override
public String getCassStopScript()
{
return "true";
}
@Override
public int getStoragePort()
{
return 7101;
}
@Override
public String getSeedProviderName()
{
return "org.apache.cassandra.locator.SimpleSeedProvider";
}
@Override
public int getBackupRetentionDays()
{
return 5;
}
@Override
public List<String> getBackupRacs()
{
return Lists.newArrayList();
}
public int getMaxHintWindowInMS()
{
return 36000;
}
public int getHintedHandoffThrottleKb()
{
return 1024;
}
public int getMaxHintThreads()
{
return 1;
}
@Override
public int getMemtableTotalSpaceMB()
{
return 0;
}
@Override
public int getStreamingThroughputMB()
{
return 400;
}
@Override
public boolean getMultithreadedCompaction()
{
return false;
}
public String getPartitioner()
{
return "org.apache.cassandra.dht.RandomPartitioner";
}
@Override
public int getSSLStoragePort()
{
// TODO Auto-generated method stub
return 7103;
}
public String getKeyCacheSizeInMB()
{
return "16";
}
public String getKeyCacheKeysToSave()
{
return "32";
}
public String getRowCacheSizeInMB()
{
return "4";
}
public String getRowCacheKeysToSave()
{
return "4";
}
@Override
public String getCassProcessName() {
return "CassandraDaemon";
}
public int getNumTokens()
{
return 1;
}
public String getYamlLocation()
{
return "conf/cassandra.yaml";
}
public String getAuthenticator()
{
return PriamConfiguration.DEFAULT_AUTHENTICATOR;
}
public String getAuthorizer()
{
return PriamConfiguration.DEFAULT_AUTHORIZER;
}
@Override
public String getTargetKSName() {
return null;
}
@Override
public String getTargetCFName() {
return null;
}
@Override
public boolean doesCassandraStartManually() {
return false;
}
@Override
public boolean isVpcRing() {
return false;
}
public String getInternodeCompression()
{
return "all";
}
@Override
public boolean isBackingUpCommitLogs()
{
return false;
}
@Override
public String getCommitLogBackupArchiveCmd()
{
return null;
}
@Override
public String getCommitLogBackupRestoreCmd()
{
return null;
}
@Override
public String getCommitLogBackupRestoreFromDirs()
{
return null;
}
@Override
public String getCommitLogBackupRestorePointInTime()
{
return null;
}
public void setRestoreKeySpaces(List<String> keyspaces) {
}
@Override
public int maxCommitLogsRestore() {
return 0;
}
public boolean isClientSslEnabled()
{
return true;
}
public String getInternodeEncryption()
{
return "all";
}
public boolean isDynamicSnitchEnabled()
{
return true;
}
public boolean isThriftEnabled()
{
return true;
}
public boolean isNativeTransportEnabled()
{
return false;
}
@Override
public String getS3EndPoint() {
return "s3-external-1.amazonaws.com";
}
public int getConcurrentReadsCnt()
{
return 8;
}
public int getConcurrentWritesCnt()
{
return 8;
}
public int getConcurrentCompactorsCnt()
{
return 1;
}
@Override
public String getRpcServerType() {
return "hsha";
}
@Override
public int getIndexInterval() {
return 0;
}
public String getExtraConfigParams() {
return null;
}
public String getCassYamlVal(String priamKey) {
return "";
}
@Override
public boolean getAutoBoostrap() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isCreateNewTokenEnable() {
return true; //allow Junit test to create new tokens
}
@Override
public String getPrivateKeyLocation() {
return null;
}
@Override
public String getRestoreSourceType() {
return null;
}
@Override
public boolean isEncryptBackupEnabled() {
return false;
}
@Override
public String getAWSRoleAssumptionArn() {
return null;
}
@Override
public String getGcsServiceAccountId() {
return null;
}
@Override
public String getGcsServiceAccountPrivateKeyLoc() {
return null;
}
@Override
public String getPgpPasswordPhrase() {
return null;
}
@Override
public String getPgpPublicKeyLoc() {
return null;
}
}