summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorselvam <selvam@selvam-Studio-XPS-1340.(none)>2011-06-01 16:56:53 +0530
committerselvam <selvam@selvam-Studio-XPS-1340.(none)>2011-06-01 16:56:53 +0530
commit0dc5b4bdee8e375b264f9056d4e2424d3bde083b (patch)
tree536ca68f3a28de813fc9bc5fddca92bebd19a85a /src
parent38ec6fe6aa4ef80838069b9a559b216c1bbee084 (diff)
parenteecdc685f935510142c0ea0f81faf5406b85820f (diff)
Merge branch 'master' of github.com:gluster/console
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java20
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java7
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java12
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java4
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java5
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/OptionValueEditingSupport.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java2
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py59
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_server_details.py17
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractServersResource.java2
21 files changed, 117 insertions, 35 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
index fedfacaa..4aa029b8 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
@@ -26,24 +26,26 @@ public abstract class AbstractClient {
private String securityToken;
private String authHeader;
+ /**
+ * This constructor will work only after the data model manager has been initialized.
+ */
public AbstractClient() {
- createResource();
+ this(GlusterDataModelManager.getInstance().getSecurityToken(), GlusterDataModelManager.getInstance().getClusterName());
}
- private void createResource() {
- URI baseURI = new ClientUtil().getServerBaseURI();
- resource = Client.create(new DefaultClientConfig()).resource(baseURI).path(getResourcePath());
+ /**
+ * This constructor will work only after the data model manager has been initialized.
+ */
+ public AbstractClient(String clusterName) {
+ this(GlusterDataModelManager.getInstance().getSecurityToken(), clusterName);
}
public AbstractClient(String securityToken, String clusterName) {
this.clusterName = clusterName;
setSecurityToken(securityToken);
+ URI baseURI = new ClientUtil().getServerBaseURI();
// this must be after setting clusterName as sub-classes may refer to cluster name in the getResourcePath method
- createResource();
- }
-
- public AbstractClient(String clusterName) {
- this(GlusterDataModelManager.getInstance().getSecurityToken(), clusterName);
+ resource = Client.create(new DefaultClientConfig()).resource(baseURI).path(getResourcePath());
}
/**
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
index 06400b86..35d8cbfc 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
@@ -120,8 +120,7 @@ public class GlusterDataModelManager {
}
private void initializeGlusterServers(Cluster cluster) {
- GlusterServerListResponse glusterServerListResponse = new GlusterServersClient(clusterName)
- .getServers();
+ GlusterServerListResponse glusterServerListResponse = new GlusterServersClient().getServers();
if (!glusterServerListResponse.getStatus().isSuccess()) {
throw new GlusterRuntimeException(glusterServerListResponse.getStatus().getMessage());
}
@@ -138,7 +137,7 @@ public class GlusterDataModelManager {
}
private void initializeVolumes(Cluster cluster) {
- VolumesClient volumeClient = new VolumesClient(clusterName);
+ VolumesClient volumeClient = new VolumesClient();
VolumeListResponse response = volumeClient.getAllVolumes();
if (!response.getStatus().isSuccess()) {
throw new GlusterRuntimeException("Error fetching volume list: [" + response.getStatus() + "]");
@@ -147,7 +146,7 @@ public class GlusterDataModelManager {
}
private void initializeVolumeOptionsDefaults() {
- VolumeOptionInfoListResponse response = new VolumesClient(clusterName).getVolumeOptionsDefaults();
+ VolumeOptionInfoListResponse response = new VolumesClient().getVolumeOptionsDefaults();
if (!response.getStatus().isSuccess()) {
throw new GlusterRuntimeException("Error fetching volume option defaults: ["
+ response.getStatus().getMessage() + "]");
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
index 3d1720ec..f5609584 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+* Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
* Gluster Management Console is free software; you can redistribute it and/or
@@ -18,12 +18,14 @@
*******************************************************************************/
package com.gluster.storage.management.client;
+import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
+import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_SERVERS;
+
import java.util.List;
import javax.ws.rs.core.MultivaluedMap;
import com.gluster.storage.management.core.constants.RESTConstants;
-import static com.gluster.storage.management.core.constants.RESTConstants.*;
import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Status;
@@ -34,6 +36,11 @@ import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class GlusterServersClient extends AbstractClient {
+
+ public GlusterServersClient() {
+ super();
+ }
+
public GlusterServersClient(String clusterName) {
super(clusterName);
}
@@ -88,7 +95,6 @@ public class GlusterServersClient extends AbstractClient {
GlusterServerResponse response = glusterServersClient.addServer(srv);
System.out.println(response.getGlusterServer().getName());
System.out.println(response.getStatus().isSuccess());
-
}
}
}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
index d38a41b3..4ab21a01 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
@@ -42,6 +42,10 @@ import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class VolumesClient extends AbstractClient {
+ public VolumesClient() {
+ super();
+ }
+
public VolumesClient(String clusterName) {
super(clusterName);
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
index 7d76d0ec..fa48670d 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
@@ -34,7 +34,7 @@ public class AddServerAction extends AbstractActionDelegate {
protected void performAction(IAction action) {
final String actionDesc = action.getDescription();
GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- GlusterServersClient glusterServersClient = new GlusterServersClient(modelManager.getSecurityToken());
+ GlusterServersClient glusterServersClient = new GlusterServersClient();
Server server = (Server) selectedEntity;
GlusterServerResponse response = glusterServersClient.addServer(server);
if (response.getStatus().isSuccess()) {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
index 075d713c..41ebbca7 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
@@ -52,7 +52,7 @@ public class DeleteVolumeAction extends AbstractActionDelegate {
return;
}
- VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
+ VolumesClient client = new VolumesClient();
Status status;
if (volume.getStatus() == VOLUME_STATUS.ONLINE) { // To stop the volume service, if running
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java
index 9a75355f..d7a63323 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java
@@ -50,7 +50,7 @@ public class DownloadVolumeLogsAction extends AbstractActionDelegate {
@Override
protected void performAction(IAction action) {
final Volume volume = (Volume)selectedEntity;
- final VolumesClient client = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
+ final VolumesClient client = new VolumesClient();
final Runnable downloadLogsThread = new Runnable() {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java
index 5372f986..3ad72e76 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java
@@ -47,7 +47,7 @@ public class RemoveDiskAction extends AbstractActionDelegate {
}
BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
public void run() {
- VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
+ VolumesClient client = new VolumesClient();
Status status = client.removeBricks(volume.getName(), bricks, confirmDelete);
if (status.isSuccess()) {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java
index acbba6c0..93f28e11 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java
@@ -56,7 +56,7 @@ public class RemoveServerAction extends AbstractActionDelegate {
return;
}
- GlusterServersClient client = new GlusterServersClient(modelManager.getSecurityToken());
+ GlusterServersClient client = new GlusterServersClient();
Status status = client.removeServer(server.getName());
if (status.isSuccess()) {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java
index 7fd77ea8..5182d25f 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java
@@ -42,7 +42,7 @@ public class ResetVolumeOptionsAction extends AbstractActionDelegate {
}
private Status resetVolumeOptions() {
- return new VolumesClient(modelManager.getSecurityToken()).resetVolumeOptions(volume.getName());
+ return new VolumesClient().resetVolumeOptions(volume.getName());
}
/*
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
index 34080f76..364aa569 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
@@ -37,7 +37,7 @@ public class StartVolumeAction extends AbstractActionDelegate {
return; // Volume already online. Don't do anything.
}
- VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
+ VolumesClient client = new VolumesClient();
final Status status = client.startVolume(volume.getName());
final String actionDesc = action.getDescription();
if (status.isSuccess()) {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
index 21ea4339..33d12ce3 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
@@ -56,7 +56,7 @@ public class StopVolumeAction extends AbstractActionDelegate {
}
private Status stopVolume() {
- return new VolumesClient(modelManager.getSecurityToken()).stopVolume(volume.getName());
+ return new VolumesClient().stopVolume(volume.getName());
}
@Override
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java
index 069ed730..8feeacc3 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java
@@ -61,7 +61,7 @@ public class AddDiskWizard extends Wizard {
@Override
public boolean performFinish() {
List<Brick> bricks = page.getChosenBricks(volume.getName());
- VolumesClient volumeClient = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
+ VolumesClient volumeClient = new VolumesClient();
try {
List<String> brickList = getBrickList(bricks);
Status status = volumeClient.addBricks(volume.getName(), brickList);
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
index 66c26a89..0742fe6b 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
@@ -45,8 +45,7 @@ public class CreateVolumeWizard extends Wizard {
CreateVolumePage1 page = (CreateVolumePage1) getPage(CreateVolumePage1.PAGE_NAME);
Volume newVolume = page.getVolume();
- GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- VolumesClient volumesClient = new VolumesClient(modelManager.getSecurityToken());
+ VolumesClient volumesClient = new VolumesClient();
Status status = volumesClient.createVolume(newVolume);
if (status.isSuccess()) {
@@ -65,7 +64,7 @@ public class CreateVolumeWizard extends Wizard {
}
// update the model
- modelManager.addVolume(newVolume);
+ GlusterDataModelManager.getInstance().addVolume(newVolume);
if (warning) {
MessageDialog.openWarning(getShell(), dialogTitle, message);
} else {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java
index 61142c5f..07d6e3c5 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskWizard.java
@@ -51,7 +51,7 @@ public class MigrateDiskWizard extends Wizard {
Disk targetDisk = page.getTargetDisk();
// TODO add custom confirm dialog
- VolumesClient volumesClient = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
+ VolumesClient volumesClient = new VolumesClient();
volumesClient.startMigration(volume.getName(), sourceDisk.getQualifiedName(), targetDisk.getQualifiedName());
return true;
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
index 6871c683..11717ee7 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
@@ -305,7 +305,7 @@ public class VolumeSummaryView extends ViewPart {
BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
@Override
public void run() {
- Status status = (new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken()))
+ Status status = (new VolumesClient())
.setVolumeOption(volume.getName(), Volume.OPTION_AUTH_ALLOW, newACL);
if (status.isSuccess()) {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/OptionValueEditingSupport.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/OptionValueEditingSupport.java
index af1ef949..ca222dd0 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/OptionValueEditingSupport.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/OptionValueEditingSupport.java
@@ -66,7 +66,7 @@ public class OptionValueEditingSupport extends EditingSupport {
@Override
public void run() {
- VolumesClient client = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
+ VolumesClient client = new VolumesClient();
Status status = client.setVolumeOption(volume.getName(), entry.getKey(), (String) value);
if (status.isSuccess()) {
entry.setValue((String)value);
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java
index 8f067183..811b4c5c 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java
@@ -168,7 +168,7 @@ public class VolumeLogsPage extends Composite {
btnGo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- VolumesClient client = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
+ VolumesClient client = new VolumesClient();
Date fromTimestamp = null;
Date toTimestamp = null;
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py
new file mode 100755
index 00000000..4d33381b
--- /dev/null
+++ b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py
@@ -0,0 +1,59 @@
+#!/usr/bin/python
+# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Storage Platform.
+#
+# Gluster Storage Platform is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3 of
+# the License, or (at your option) any later version.
+#
+# Gluster Storage Platform is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+import os
+import sys
+import syslog
+from XmlHandler import ResponseXml
+import Utils
+import Common
+
+def getMemData(period):
+ memRrdFile = "/var/lib/rrd/mem.rrd"
+ rs = ResponseXml()
+ command = ["rrdtool", "xport", "--start", "-1%s" % period,
+ "DEF:used=%s:memused:AVERAGE" % memRrdFile,
+ "DEF:free=%s:memfree:AVERAGE" % memRrdFile,
+ "DEF:cache=%s:memcache:AVERAGE" % memRrdFile,
+ "CDEF:total=used,free,+",
+ "XPORT:used:'used'",
+ "XPORT:free:'free'",
+ "XPORT:cache:'cache'",
+ "XPORT:total:'total'"]
+
+ rv = Utils.runCommandFG(command, stdout=True, root=True)
+ message = Common.stripEmptyLines(rv["Stdout"])
+ if rv["Stderr"]:
+ error = Common.stripEmptyLines(rv["Stderr"])
+ message += "Error: [%s]" % (error)
+ Common.log(syslog.LOG_ERR, "failed to create RRD file for memory usages %s" % file)
+ rs.appendTagRoute("status.code", rv["Status"])
+ rs.appendTagRoute("status.message", message)
+ return rs.toxml()
+ return rv["Stdout"]
+
+def main():
+ if len(sys.argv) != 2:
+ print >> sys.stderr, "usage: %s <period>" % sys.argv[0]
+ sys.exit(-1)
+
+ period = sys.argv[1]
+ print getMemData(period)
+ sys.exit(0)
+
+if __name__ == "__main__":
+ main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
index 2253ff30..312dd057 100755
--- a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
+++ b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
@@ -27,6 +27,7 @@ from Protocol import *
from NetworkUtils import *
from Disk import *
from XmlHandler import ResponseXml
+from optparse import OptionParser
def getDiskSizeInfo(partition):
# get values from df output
@@ -96,7 +97,7 @@ def getDiskSizeInfo(partition):
return total, used, free
-def getServerDetails():
+def getServerDetails(listall):
serverName = socket.gethostname()
responseDom = ResponseXml()
#responseDom.appendTagRoute("status.code", "0")
@@ -188,6 +189,9 @@ def getServerDetails():
diskSpaceInUse = 0
diskTag = responseDom.createTag("disks")
for disk in disks:
+ if not listall:
+ if not disk['mount_point'].startswith("/export/"):
+ continue
if disk['interface'] in ['usb', 'mmc']:
continue
partitionTag = responseDom.createTag("disk", None)
@@ -217,7 +221,16 @@ def getServerDetails():
return serverTag
def main():
- print getServerDetails().toxml()
+ ME = os.path.basename(sys.argv[0])
+ parser = OptionParser(version="%s %s" % (ME, Globals.GLUSTER_PLATFORM_VERSION))
+
+ parser.add_option("-N", "--only-data-disks",
+ action="store_false", dest="listall", default=True,
+ help="List only data disks")
+
+ (options, args) = parser.parse_args()
+ print getServerDetails(options.listall).toxml()
+
sys.exit(0)
if __name__ == "__main__":
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractServersResource.java
index ce408502..ec396539 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractServersResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AbstractServersResource.java
@@ -45,7 +45,7 @@ public class AbstractServersResource {
*/
protected void fetchServerDetails(Server server) {
// fetch standard server details like cpu, disk, memory details
- Object response = serverUtil.executeOnServer(true, server.getName(), "get_server_details.py", Server.class);
+ Object response = serverUtil.executeOnServer(true, server.getName(), "get_server_details.py --only-data-disks", Server.class);
if (response instanceof Status) {
// TODO: check if this happened because the server is not reachable, and if yes, set it's status as offline
throw new GlusterRuntimeException(((Status)response).getMessage());