aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org
diff options
context:
space:
mode:
authorlj1412 <lji@research.att.com>2017-02-14 15:12:08 +0000
committerlj1412 <lji@research.att.com>2017-02-14 15:12:10 +0000
commita84b847a3409df445482674feffa2872a8cbae83 (patch)
treea4f2dcaef92e0fb09402f2f28f793928d0a16bfd /dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org
parente6bca17737d1897675e6403e196fc2a61f335651 (diff)
Init dcae.controller
Change-Id: I460f09494faa84b55d9c5d54112e098b0e74d007 Signed-off-by: lj1412 <lji@research.att.com>
Diffstat (limited to 'dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org')
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/Generator.java99
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestManager.java65
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestRemoteManager.java54
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestServiceToManager.java46
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/DcaeCdapClusterManagerProvider.java219
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/gui/DcaeGuiClientApiProvider.java78
-rw-r--r--dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/service/DcaeCdapClusterServiceProvider.java105
7 files changed, 666 insertions, 0 deletions
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/Generator.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/Generator.java
new file mode 100644
index 0000000..ec75e64
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/Generator.java
@@ -0,0 +1,99 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.dcae.controller.service.cdap.cluster.manager.tools;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.ManagerFactory;
+import org.openecomp.dcae.controller.service.cdap.cluster.service.ServiceFactory;
+import org.openecomp.dcae.controller.service.vm.VmFactory;
+import org.openecomp.dcae.controller.service.vmmanager.VmmanagerFactory;
+import org.openecomp.utils.YamlToJava;
+import org.openecomp.ncomp.gwt.siriusportal.model.ModelFactory;
+import org.openecomp.ncomp.sirius.manager.controllermodel.ControllerModel;
+import org.openecomp.ncomp.sirius.manager.controllermodel.ControllermodelFactory;
+import org.openecomp.ncomp.sirius.manager.generator.ControllerGenerator;
+import org.openecomp.ncomp.sirius.manager.server.ServerPackage;
+
+public class Generator {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ @SuppressWarnings("unused")
+ ServerPackage f = ServerPackage.eINSTANCE;
+ genManager();
+ genService();
+ }
+
+ public static void genManager() {
+ EObject o = ManagerFactory.eINSTANCE.createCdapClusterManager();
+ EPackage p = o.eClass().getEPackage();
+ String dir = p.getNsURI().replaceAll(p.getNsPrefix()+'$',"") + "servers." + p.getNsPrefix();
+ dir = "src/main/sirius-gen/" + dir.replace('.', '/');
+ ControllerModel m = ControllermodelFactory.eINSTANCE.createControllerModel();
+ m.setTemplateDirectory("../../dcae-org.openecomp.ncomp.sirius.manager/ncomp-sirius-manager-generator/src/main/templates");
+ m.setPrefix("Dcae");
+ m.setPluginName(p.getNsURI());
+ m.setName("ControllerServiceCdapClusterManager");
+ m.setTitle("ControllerServiceCdapClusterManager");
+ ControllerGenerator g = new ControllerGenerator(o, m);
+ g.setEnableIRequestHandler(false);
+ g.setEnableISiriusPlugin(false);
+ g.addFactory("org.openecomp.ncomp.servers.cdap.CdapCdapFactory");
+ g.addFactory(ServiceFactory.eINSTANCE);
+ EObject gui = ModelFactory.eINSTANCE.createGuiClientApi();
+ g.addObject("gui", gui, m);
+ g.setProvider(VmmanagerFactory.eINSTANCE.createVirtualMachineManager(), "Dcae");
+ g.generate(dir);
+ g.generateScripts("src/main/server-gen/bin", "controller-service-cdap-cluster-manager");
+ String pName = p.getNsURI().replaceAll(p.getNsPrefix()+'$',"") + "servers." + p.getNsPrefix() +".logging";
+// YamlToJava.convert("src/main/resources/DockerAdaptor.yaml", dir + "/logging", pName);
+ YamlToJava.convert("src/main/sirius-gen/CdapClusterManager.yaml", dir + "/logging", pName);
+ String pName1 = p.getNsURI().replaceAll(p.getNsPrefix()+'$',"") + "servers." + p.getNsPrefix() +".gui.logging";
+ YamlToJava.convert("src/main/sirius-gen/GuiClientApi.yaml", dir + "/gui/logging", pName1);
+ }
+
+ public static void genService() {
+ EObject o = ServiceFactory.eINSTANCE.createCdapClusterService();
+ EPackage p = o.eClass().getEPackage();
+ String dir = p.getNsURI().replaceAll(p.getNsPrefix()+"$", "") + "servers." + p.getNsPrefix();
+ dir = "src/main/sirius-gen/" + dir.replace('.', '/');
+ ControllerModel m = ControllermodelFactory.eINSTANCE.createControllerModel();
+ m.setTemplateDirectory("../../dcae-org.openecomp.ncomp.sirius.manager/ncomp-sirius-manager-generator/src/main/templates");
+ m.setPrefix("Dcae");
+ m.setPluginName(p.getNsURI());
+ m.setName("ControllerServiceCdapClusterService");
+ m.setTitle("ControllerServiceCdapClusterService");
+ ControllerGenerator g = new ControllerGenerator(o, m);
+ g.setEnableIRequestHandler(false);
+ g.setEnableISiriusPlugin(true);
+ g.setProvider(VmFactory.eINSTANCE.createVirtualMachineService(), "Dcae");
+ g.generate(dir);
+ String pName = p.getNsURI().replaceAll(p.getNsPrefix()+'$',"") + "servers." + p.getNsPrefix() +".logging";
+// YamlToJava.convert("src/main/resources/DcaeServiceCdapHost.yaml", dir + "/logging", pName);
+ YamlToJava.convert("src/main/sirius-gen/CdapClusterService.yaml", dir + "/logging", pName);
+ }
+
+}
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestManager.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestManager.java
new file mode 100644
index 0000000..55a15bf
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestManager.java
@@ -0,0 +1,65 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.dcae.controller.service.cdap.cluster.manager.tools;
+
+import java.io.IOException;
+
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.CdapClusterManager;
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.ManagerFactory;
+import org.openecomp.dcae.controller.service.cdap.cluster.servers.manager.DcaeManagerFactory;
+import org.openecomp.ncomp.cdap.CdapCluster;
+import org.openecomp.ncomp.servers.cdap.CdapCdapCluster;
+import org.openecomp.ncomp.servers.cdap.CdapCdapFactory;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+
+
+public class TestManager implements ISiriusServer {
+
+ public static void main(String[] args) throws IOException {
+ TestManager t = new TestManager();
+ t.test();
+ }
+ private ManagementServer server;
+ public void test() throws IOException {
+ server = new ManagementServer(null, "CdapClusterService", null, "manager.properties");
+ ManagerFactory f = new DcaeManagerFactory(this);
+ server.addFactory(f);
+ CdapClusterManager m = f.createCdapClusterManager();
+ server.setObject(m);
+ CdapCdapFactory f2 = new CdapCdapFactory(this);
+ CdapCdapCluster c = (CdapCdapCluster) f2.createCdapCluster();
+ // This assume running in DCAE vagrant VM with DCAP running on host on port 10000
+ // Getting CDAP on the host is running CDAP in virtualBox
+ // with port 10000 on the host forwarded to CDAP VM on port 10000
+ c.setBaseUrl("http://10.0.2.2:10000/v3");
+ m.setCluster(c);
+ server.start();
+ c.poll();
+ m.createNamespace("foobar");
+ }
+ @Override
+ public ManagementServer getServer() {
+ return server;
+ }
+
+}
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestRemoteManager.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestRemoteManager.java
new file mode 100644
index 0000000..2c38c03
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestRemoteManager.java
@@ -0,0 +1,54 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.dcae.controller.service.cdap.cluster.manager.tools;
+
+import java.io.IOException;
+
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.CdapClusterManager;
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.ManagerFactory;
+import org.openecomp.dcae.controller.service.cdap.cluster.servers.manager.DcaeCdapClusterManagerConsole;
+import org.openecomp.dcae.controller.service.cdap.cluster.servers.manager.DcaeManagerFactory;
+import org.openecomp.ncomp.cdap.CdapCluster;
+import org.openecomp.ncomp.servers.cdap.CdapCdapCluster;
+import org.openecomp.ncomp.servers.cdap.CdapCdapFactory;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+
+
+public class TestRemoteManager implements ISiriusServer {
+
+ public static void main(String[] args) throws IOException {
+ TestRemoteManager t = new TestRemoteManager();
+ t.test();
+ }
+ private ManagementServer server;
+ public void test() throws IOException {
+ DcaeCdapClusterManagerConsole console =
+ new DcaeCdapClusterManagerConsole("console.properties", "remote");
+ console.createNamespace("foobar");
+ }
+ @Override
+ public ManagementServer getServer() {
+ return server;
+ }
+
+}
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestServiceToManager.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestServiceToManager.java
new file mode 100644
index 0000000..b68bdd5
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/manager/tools/TestServiceToManager.java
@@ -0,0 +1,46 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.dcae.controller.service.cdap.cluster.manager.tools;
+
+import org.openecomp.dcae.controller.service.cdap.cluster.servers.service.DcaeServiceFactory;
+import org.openecomp.dcae.controller.service.cdap.cluster.service.CdapClusterService;
+import org.openecomp.dcae.controller.service.cdap.cluster.service.CdapClusterServiceInstance;
+import org.openecomp.dcae.controller.service.cdap.cluster.service.ServiceFactory;
+import org.openecomp.dcae.controller.service.vm.PhysicalMachine;
+import org.openecomp.dcae.controller.service.vm.VmFactory;
+
+public class TestServiceToManager {
+
+ public static void main(String[] args) {
+ ServiceFactory f = new DcaeServiceFactory(null);
+ CdapClusterService s = f.createCdapClusterService();
+ CdapClusterServiceInstance i = f.createCdapClusterServiceInstance();
+ s.getInstances().add(i);
+ i.setName("foo");
+ PhysicalMachine p = VmFactory.eINSTANCE.createPhysicalMachine();
+ p.setPublicIp("localhost");
+ i.getServers().add(p);
+ i.setManagerPortNumber(9922);
+ s.pollManagerConfiguration("foo");
+ }
+
+}
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/DcaeCdapClusterManagerProvider.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/DcaeCdapClusterManagerProvider.java
new file mode 100644
index 0000000..aad5563
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/DcaeCdapClusterManagerProvider.java
@@ -0,0 +1,219 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.dcae.controller.service.cdap.cluster.servers.manager;
+
+import org.openecomp.ncomp.cdap.CdapCluster;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+import org.openecomp.dcae.controller.core.service.HealthTestResponse;
+import org.openecomp.dcae.controller.core.service.HealthTestStatus;
+import org.openecomp.dcae.controller.core.service.ServiceFactory;
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.CdapClusterManager;
+import org.openecomp.dcae.controller.service.servers.vmmanager.DcaeVirtualMachineManagerProvider;
+
+public class DcaeCdapClusterManagerProvider extends DcaeVirtualMachineManagerProvider {
+ private static final Logger logger = Logger.getLogger(DcaeCdapClusterManagerProvider.class);
+ CdapClusterManager o;
+
+ public DcaeCdapClusterManagerProvider(ISiriusServer controller, CdapClusterManager o) {
+ super(controller, o);
+ this.o = o;
+ }
+ @Override
+ public HealthTestResponse test() {
+ HealthTestResponse res = ServiceFactory.eINSTANCE.createHealthTestResponse();
+ res.setStatus(HealthTestStatus.GREEN);
+ if (o.getCluster() == null || o.getCluster().getConfigurations().size() == 0) {
+ res.setMessageCode("CDAP not working");
+ res.setStatus(HealthTestStatus.RED);
+ }
+ return res;
+ }
+
+ private CdapCluster getCluster() {
+ if (o.getCluster() == null) {
+ logger.warn("Unable to find cluster");
+ throw new RuntimeException("Unable to find cluster");
+ }
+ return o.getCluster();
+ }
+
+ public String loadArtifact(String namespace, String artifactName, String jarfile, String version) {
+ return getCluster().loadArtifact(namespace, artifactName, jarfile, version);
+ }
+
+ public String startFlow(String namespace, String appName, String flowId, String extraArgs) {
+ return getCluster().startFlow(namespace, appName, flowId, extraArgs);
+ }
+
+ public String startService(String namespace, String appName, String serviceId, String extraArgs) {
+ return getCluster().startService(namespace, appName, serviceId, extraArgs);
+ }
+
+ public String startApp(String namespace, String appName) {
+ return getCluster().startApp(namespace, appName);
+ }
+
+ public String deleteApp(String namespace, String appName) {
+ return getCluster().deleteApp(namespace, appName);
+ }
+
+ public String loadPreferencesApp(String namespace, String prefsFile, String appId) {
+ return getCluster().loadPreferencesApp(namespace, prefsFile, appId);
+ }
+
+ public String loadPreferencesFlow(String namespace, String prefsFile, String appId, String flowId) {
+ return getCluster().loadPreferencesFlow(namespace, prefsFile, appId, flowId);
+ }
+
+ public String loadPreferencesNameSpace(String namespace, String prefsFile) {
+ return getCluster().loadPreferencesNameSpace(namespace, prefsFile);
+ }
+
+ public String setPreferencesApp(String namespace, String prefsString, String appId) {
+ return getCluster().setPreferencesApp(namespace, prefsString, appId);
+ }
+
+ public String setPreferencesFlow(String namespace, String prefsString, String appId, String flowId) {
+ return getCluster().setPreferencesFlow(namespace, prefsString, appId, flowId);
+ }
+
+ public String setPreferencesWorker(String namespace, String prefsString, String appId, String workerId) {
+ return getCluster().setPreferencesWorker(namespace, prefsString, appId, workerId);
+ }
+
+ public String setPreferencesNameSpace(String namespace, String prefsString) {
+ return getCluster().setPreferencesNameSpace(namespace, prefsString);
+ }
+
+ public String setFlowRunTimeArgs(String namespace, String appId, String flowId, String args) {
+ return getCluster().setFlowRunTimeArgs(namespace, appId, flowId, args);
+ }
+
+ public String setFlowletInstances(String namespace, String appId, String flowId, String flowletId, int nInstances) {
+ return getCluster().setFlowletInstances(namespace, appId, flowId, flowletId, nInstances);
+ }
+
+ public String stopFlow(String namespace, String appId, String flowId) {
+ return getCluster().stopFlow(namespace, appId, flowId);
+ }
+
+ public String stopService(String namespace, String appId, String serviceId) {
+ return getCluster().stopService(namespace, appId, serviceId);
+ }
+
+ public String truncateDataSet(String namespace, String datasetName) {
+ return getCluster().truncateDataSet(namespace, datasetName);
+ }
+
+ public String createStream(String namespace, String newStreamId) {
+ return getCluster().createStream(namespace, newStreamId);
+ }
+
+ public String deleteStream(String namespace, String streamId) {
+ return getCluster().deleteStream(namespace, streamId);
+ }
+
+ public EList<String> getStreamEvents(String namespace, String streamId, String startTime, String endTime, int limit) {
+ return getCluster().getStreamEvents(namespace, streamId, startTime, endTime, limit);
+ }
+
+ public EList<String> getStreamStats(String namespace, String streamId, String startTime, String endTime, int limit) {
+ return getCluster().getStreamStats(namespace, streamId, startTime, endTime, limit);
+ }
+
+ public String sendEventToStream(String namespace, String streamId, String event) {
+ return getCluster().sendEventToStream(namespace, streamId, event);
+ }
+
+ public String trucateStream(String namespace, String streamId) {
+ return getCluster().trucateStream(namespace, streamId);
+ }
+
+ public String setStreamProperties(String namespace, String streamId, String propsFile) {
+ return getCluster().setStreamProperties(namespace, streamId, propsFile);
+ }
+
+ public String createNamespace(String namespace) {
+ return getCluster().createNamespace(namespace);
+ }
+ public String deleteNamespace(String namespace) {
+ return getCluster().deleteNamespace(namespace);
+ }
+
+ public String deployApp(String namespace, String jarfile) {
+ return getCluster().deployApp(namespace, jarfile);
+ }
+
+ public String deleteArtifact(String namespace, String artifactName, String artifactVersion) {
+ return getCluster().deleteArtifact(namespace, artifactName, artifactVersion);
+ }
+
+ public String deleteDataset(String namespace, String datasetName) {
+ return getCluster().deleteDataset(namespace, datasetName);
+ }
+
+ public String createApp(String namespace, String appId, String artifactName, String artifactVersion, String scope) {
+ return getCluster().createApp(namespace, appId, artifactName, artifactVersion, scope);
+ }
+
+ public String createAppWithConfig(String namespace, String appId, String artifactName, String artifactVersion, String scope,
+ String appConfig) {
+ return getCluster().createAppWithConfig(namespace, appId, artifactName, artifactVersion, scope, appConfig);
+ }
+
+ public String restartApp(String namespace, String appId, String progTypes) {
+ return getCluster().restartApp(namespace, appId, progTypes);
+ }
+
+ public String setDatasetProperties(String namespace, String datasetName, String datasetProperties) {
+ return getCluster().setDatasetProperties(namespace, datasetName, datasetProperties);
+ }
+
+ public String setStreamTTL(String namespace, String streamName, int ttlSeconds) {
+ return getCluster().setStreamTTL(namespace, streamName, ttlSeconds);
+ }
+ @Override
+ public void configurationChanged() {
+// JSONObject json = ManagementServer.ecore2json(o, 1000, null, true);
+// System.err.println(json.toString(2));
+ }
+
+ public String stopApp(String namespace, String appName) {
+ return getCluster().stopApp(namespace, appName);
+ }
+
+ public String startWorker(String namespace, String appName,
+ String workerId, String extraArgs) {
+ return getCluster().startWorker(namespace, appName, workerId, extraArgs);
+ }
+
+ public String stopWorker(String namespace, String appId, String workerId) {
+ return getCluster().stopWorker(namespace, appId, workerId);
+ }
+
+ public String setPreferencesService(String namespace, String prefsString, String appId, String serviceId) {
+ return getCluster().setPreferencesService(namespace, prefsString, appId, serviceId);
+ }
+
+}
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/gui/DcaeGuiClientApiProvider.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/gui/DcaeGuiClientApiProvider.java
new file mode 100644
index 0000000..57a6709
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/manager/gui/DcaeGuiClientApiProvider.java
@@ -0,0 +1,78 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+
+package org.openecomp.dcae.controller.service.cdap.cluster.servers.manager.gui;
+
+
+
+
+
+import java.io.InputStream;
+
+import org.openecomp.ncomp.sirius.manager.IRequestHandler;
+import org.openecomp.ncomp.sirius.manager.ISiriusPlugin;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.function.FunctionUtils;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.common.util.EList;
+import org.json.JSONObject;
+
+
+
+import org.openecomp.ncomp.sirius.gui.tools.*;
+
+
+import org.openecomp.ncomp.gwt.siriusportal.model.*;
+
+
+import org.openecomp.ncomp.sirius.manager.Subject;
+
+
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+
+
+import org.openecomp.ncomp.sirius.manager.server.AbstractManagementServer;
+
+
+import org.openecomp.ncomp.sirius.manager.BasicGuiClientApiProvider;
+
+
+import org.openecomp.ncomp.gwt.siriusportal.model.impl.GuiClientApiImpl;
+import org.openecomp.ncomp.gwt.siriusportal.model.GuiClientApi;
+
+
+public class DcaeGuiClientApiProvider extends BasicGuiClientApiProvider {
+ private static final Logger logger = Logger.getLogger(DcaeGuiClientApiProvider.class);
+ GuiClientApi o;
+
+ public DcaeGuiClientApiProvider(ISiriusServer controller, GuiClientApi o) {
+ super(controller, o);
+ this.o = o;
+ }
+
+
+
+
+
+
+}
diff --git a/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/service/DcaeCdapClusterServiceProvider.java b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/service/DcaeCdapClusterServiceProvider.java
new file mode 100644
index 0000000..c335740
--- /dev/null
+++ b/dcae-controller-service-cdap/dcae-controller-service-cdap-cluster/dcae-controller-service-cdap-cluster-manager/src/main/java/org/openecomp/dcae/controller/service/cdap/cluster/servers/service/DcaeCdapClusterServiceProvider.java
@@ -0,0 +1,105 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ */
+
+package org.openecomp.dcae.controller.service.cdap.cluster.servers.service;
+
+import org.openecomp.ncomp.cdap.CdapCluster;
+import org.openecomp.ncomp.cdap.CdapPackage;
+import org.openecomp.ncomp.core.DeploymentStatus;
+import org.openecomp.ncomp.sirius.manager.AbstractClient;
+import org.openecomp.ncomp.sirius.manager.ISiriusServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServer;
+import org.openecomp.ncomp.sirius.manager.ManagementServerUtils;
+import org.openecomp.ncomp.sirius.manager.console.Utils;
+
+import org.apache.log4j.Logger;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.json.JSONObject;
+
+import org.openecomp.dcae.controller.service.servers.vm.DcaeVirtualMachineServiceProvider;
+import org.openecomp.dcae.controller.service.servers.vmmanager.DcaeVirtualMachineManagerConsole;
+import org.openecomp.dcae.controller.service.vm.VirtualMachineServiceInstance;
+import org.openecomp.dcae.controller.service.cdap.cluster.service.CdapClusterService;
+import org.openecomp.dcae.controller.service.cdap.cluster.service.CdapClusterServiceInstance;
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.CdapClusterManager;
+import org.openecomp.dcae.controller.service.cdap.cluster.manager.ManagerFactory;
+
+public class DcaeCdapClusterServiceProvider extends DcaeVirtualMachineServiceProvider {
+ private static final Logger logger = Logger.getLogger(DcaeCdapClusterServiceProvider.class);
+ CdapClusterService o;
+
+ public DcaeCdapClusterServiceProvider(ISiriusServer controller,
+ CdapClusterService o) {
+ super(controller, o);
+ this.o = o;
+ }
+
+ @Override
+ public EObject managerConfiguration(String instanceName) {
+ CdapClusterServiceInstance i = (CdapClusterServiceInstance) findInstance(instanceName);
+ CdapClusterManager c = ManagerFactory.eINSTANCE.createCdapClusterManager();
+ if (i.getCluster() != null) {
+ c.setCluster(EcoreUtil.copy(i.getCluster()));
+ c.getCluster().setRemote(false);
+ }
+ return c;
+ }
+
+ @Override
+ public void start() {
+ super.start();
+ Thread t = new Thread("cdap cluster poller: " + o.getName()) {
+ @Override
+ public void run() {
+ while (true) {
+ try {
+ if (!controller.getServer().isSlave) {
+ for (VirtualMachineServiceInstance i : o.getInstances()) {
+ if (i.getStatus() == DeploymentStatus.DEPLOYED) {
+ CdapClusterServiceInstance i1 = (CdapClusterServiceInstance) i;
+ AbstractClient c = getClient(i);
+ DcaeVirtualMachineManagerConsole console = new DcaeVirtualMachineManagerConsole(c);
+ JSONObject json = (JSONObject) Utils.object2json(console.list("/cluster", 1000));
+ CdapCluster h = (CdapCluster) controller.getServer().json2ecore(
+ CdapPackage.eINSTANCE.getCdapCluster(), json);
+ controller.getServer();
+ h.setRemote(true);
+ ManagementServer.merge(i1.getCluster(), h, json, true, null);
+ }
+ }
+ }
+ Thread.sleep(30000); // sleep 30 seconds
+ } catch (Exception e) {
+ ManagementServerUtils.printStackTrace(e);
+ logger.fatal("docker host poller: " + e);
+ try {
+ Thread.sleep(30000);
+ } catch (InterruptedException e1) {
+ }
+ }
+ }
+ };
+ };
+ t.start();
+ }
+
+}