cloudian: add configs from connector props file to db

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2017-09-12 15:35:10 +05:30
parent df1a802cd5
commit f9b3b4af67
3 changed files with 68 additions and 1 deletions

View File

@ -392,6 +392,11 @@
<artifactId>cloud-plugin-database-quota</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-plugin-connectors-cloudian</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@ -17,7 +17,42 @@
package com.cloudian.cloudstack;
import org.apache.cloudstack.framework.config.ConfigKey;
import com.cloud.utils.component.PluggableService;
public interface CloudianConnector extends PluggableService {
ConfigKey<Boolean> CloudianConnectorEnabled = new ConfigKey<>("Advanced", Boolean.class, "cloudian.connector.enabled", "false",
"If set to true, this enables the Cloudian Connector for CloudStack.", true);
ConfigKey<String> CloudianAdminHost = new ConfigKey<>("Advanced", String.class, "cloudian.admin.host", "s3-admin.cloudian.com",
"The hostname of the Cloudian Admin server.", true);
ConfigKey<String> CloudianAdminPort = new ConfigKey<>("Advanced", String.class, "cloudian.admin.port", "19443",
"The port of the Cloudian Admin server.", true);
ConfigKey<String> CloudianAdminProtocol = new ConfigKey<>("Advanced", String.class, "cloudian.admin.protocol", "https",
"The protocol of the Cloudian Admin server.", true);
ConfigKey<String> CloudianValidateSSLSecurity = new ConfigKey<>("Advanced", String.class, "cloudian.validate.ssl", "false",
"When set to true, this will validate the SSL certificate when connecting to https/ssl enabled admin host.", true);
ConfigKey<String> CloudianAdminUser = new ConfigKey<>("Advanced", String.class, "cloudian.admin.user", "admin",
"The system admin user for accessing the Cloudian Admin server.", true);
ConfigKey<String> CloudianAdminPassword = new ConfigKey<>("Advanced", String.class, "cloudian.admin.password", "public",
"The system admin password for the Cloudian Admin server.", true);
ConfigKey<String> CloudianCmcHost = new ConfigKey<>("Advanced", String.class, "cloudian.cmc.host", "cmc.cloudian.com",
"The hostname of the Cloudian Management Console.", true);
ConfigKey<String> CloudianCmcPort = new ConfigKey<>("Advanced", String.class, "cloudian.cmc.port", "8443",
"The port of the Cloudian Management Console.", true);
ConfigKey<String> CloudianCmcProtocol = new ConfigKey<>("Advanced", String.class, "cloudian.cmc.protocol", "https",
"The protocol of the Cloudian Management Console.", true);
ConfigKey<String> CloudianSsoKey = new ConfigKey<>("Advanced", String.class, "cloudian.sso.key", "ss0sh5r3dk3y",
"The shared single sign-on key as configured in Cloudian CMC.", true);
}

View File

@ -17,9 +17,15 @@
package com.cloudian.cloudstack;
import java.util.ArrayList;
import java.util.List;
import org.apache.cloudstack.framework.config.ConfigKey;
import org.apache.cloudstack.framework.config.Configurable;
import com.cloud.utils.component.ComponentLifecycleBase;
public class CloudianConnectorImpl extends ComponentLifecycleBase implements CloudianConnector {
public class CloudianConnectorImpl extends ComponentLifecycleBase implements CloudianConnector, Configurable {
@Override
public List<Class<?>> getCommands() {
@ -27,4 +33,25 @@ public class CloudianConnectorImpl extends ComponentLifecycleBase implements Clo
return cmdList;
}
@Override
public String getConfigComponentName() {
return CloudianConnector.class.getSimpleName();
}
@Override
public ConfigKey<?>[] getConfigKeys() {
return new ConfigKey<?>[] {
CloudianConnectorEnabled,
CloudianAdminHost,
CloudianAdminPort,
CloudianAdminUser,
CloudianAdminPassword,
CloudianAdminProtocol,
CloudianValidateSSLSecurity,
CloudianCmcHost,
CloudianCmcPort,
CloudianCmcProtocol,
CloudianSsoKey
};
}
}