diff options
| author | Tim <timothyasir@gluster.com> | 2011-08-10 17:04:12 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-08-10 18:48:55 +0530 |
| commit | f92d1a0524b7c7cf4aee9f736f6833d29a163a8b (patch) | |
| tree | 3b3f079a85b4a8658578183ac876d138632de765 /src/com.gluster.storage.management.gateway.scripts | |
| parent | c34d9abeefcae4ba87cc6b54eed8644d37714c8a (diff) | |
Restructured backend gateway scripts
Diffstat (limited to 'src/com.gluster.storage.management.gateway.scripts')
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/Common.py | 20 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/Commands.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/Commands.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/Disk.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/Disk.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/DiskUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/FsTabUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/FsTabUtils.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/GetServerNetworkConfig.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/GetServerNetworkConfig.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/GlusterdUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/GlusterdUtils.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/NetworkUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/NetworkUtils.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/RRDUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/RRDUtils.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/ServerUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/ServerUtils.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/backend/VolumeUtils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/VolumeUtils.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/add_user_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/add_user_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/clear_volume_directory.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/create_volume_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/create_volume_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/create_volume_directory.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/create_volume_directory.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/delete_user_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/delete_user_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/delete_volume_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/delete_volume_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/disable-ssh-password-auth.sh (renamed from src/com.gluster.storage.management.gateway.scripts/src/disable-ssh-password-auth.sh) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/format_device.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/format_device.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_brick_status.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_brick_status.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_disk_mount_point.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_disk_mount_point.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_disk_name_by_path.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_disk_name_by_path.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_file.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_file.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_format_device_status.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_format_device_status.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_rrd_cpu_details.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_memory_details.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_rrd_memory_details.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_net_details.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_rrd_net_details.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_server_details.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_server_status.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_server_status.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_volume_brick_log.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_volume_brick_log.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/get_volume_log.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/get_volume_log.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/gluster_provision_block_wrapper.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/gluster_provision_block_wrapper.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/modify_volume_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/modify_volume_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.init.d (renamed from src/com.gluster.storage.management.gateway.scripts/src/multicast-discoverd.init.d) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/multicast-discoverd.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_cpu.pl (renamed from src/com.gluster.storage.management.gateway.scripts/src/rrd_cpu.pl) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_mem.pl (renamed from src/com.gluster.storage.management.gateway.scripts/src/rrd_mem.pl) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_net.pl (renamed from src/com.gluster.storage.management.gateway.scripts/src/rrd_net.pl) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_update_cpu_details.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/rrd_update_cpu_details.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_update_memory_details.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/rrd_update_memory_details.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/setup_cifs_config.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/start_volume_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/start_volume_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/stop_volume_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/stop_volume_cifs.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/backend/update_volume_cifs.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/update_volume_cifs.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/Globals.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/Globals.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/Globals.pyc | bin | 0 -> 4718 bytes | |||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/Protocol.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.pyc | bin | 0 -> 16852 bytes | |||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/Utils.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/Utils.py) | 0 | ||||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/Utils.pyc | bin | 0 -> 37088 bytes | |||
| -rw-r--r-- | src/com.gluster.storage.management.gateway.scripts/src/common/XmlHandler.py (renamed from src/com.gluster.storage.management.gateway.scripts/src/XmlHandler.py) | 0 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py | 93 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/create_volume_cifs_all.py | 67 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_user_cifs_all.py | 58 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_volume_cifs_all.py | 56 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/get_volume_user_cifs.py | 46 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/gmg-reset-password.sh | 21 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/grun.py | 56 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/multicast-discover-servers.py | 110 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/setup_cifs_config_all.py | 29 | ||||
| -rwxr-xr-x | src/com.gluster.storage.management.gateway.scripts/src/gateway/update_volume_cifs_all.py | 69 |
61 files changed, 605 insertions, 20 deletions
diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Common.py b/src/com.gluster.storage.management.gateway.scripts/src/Common.py deleted file mode 100644 index 70b2157a..00000000 --- a/src/com.gluster.storage.management.gateway.scripts/src/Common.py +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (c) 2009 Gluster, Inc. <http://www.gluster.com> -# This file is part of GlusterSP. -# -# GlusterSP 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. -# -# GlusterSP 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 sys -import syslog - diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Commands.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/Commands.py index c728b565..c728b565 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/Commands.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/Commands.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Disk.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/Disk.py index 2c47d396..2c47d396 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/Disk.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/Disk.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/DiskUtils.py index 341c9083..341c9083 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/DiskUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/DiskUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/FsTabUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/FsTabUtils.py index fcac4196..fcac4196 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/FsTabUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/FsTabUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/GetServerNetworkConfig.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/GetServerNetworkConfig.py index 54f68caf..54f68caf 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/GetServerNetworkConfig.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/GetServerNetworkConfig.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/GlusterdUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/GlusterdUtils.py index 7c0e899c..7c0e899c 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/GlusterdUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/GlusterdUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/NetworkUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/NetworkUtils.py index 9f5687e4..9f5687e4 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/NetworkUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/NetworkUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/RRDUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/RRDUtils.py index 1ad0deee..1ad0deee 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/RRDUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/RRDUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/ServerUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/ServerUtils.py index 1fec994c..1fec994c 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/ServerUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/ServerUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/VolumeUtils.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/VolumeUtils.py index b1031ccc..b1031ccc 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/VolumeUtils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/VolumeUtils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/add_user_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/add_user_cifs.py index b2bf045a..b2bf045a 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/add_user_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/add_user_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/clear_volume_directory.py index 029787e5..029787e5 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/clear_volume_directory.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/clear_volume_directory.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/create_volume_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/create_volume_cifs.py index 5a27ab87..5a27ab87 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/create_volume_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/create_volume_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/create_volume_directory.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/create_volume_directory.py index e295f249..e295f249 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/create_volume_directory.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/create_volume_directory.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/delete_user_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/delete_user_cifs.py index aeda989f..aeda989f 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/delete_user_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/delete_user_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/delete_volume_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/delete_volume_cifs.py index 572d819c..572d819c 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/delete_volume_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/delete_volume_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/disable-ssh-password-auth.sh b/src/com.gluster.storage.management.gateway.scripts/src/backend/disable-ssh-password-auth.sh index 07ee1a3a..07ee1a3a 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/disable-ssh-password-auth.sh +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/disable-ssh-password-auth.sh diff --git a/src/com.gluster.storage.management.gateway.scripts/src/format_device.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/format_device.py index e41baa0e..e41baa0e 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/format_device.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/format_device.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_brick_status.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_brick_status.py index afc15f3a..afc15f3a 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_brick_status.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_brick_status.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_disk_mount_point.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_disk_mount_point.py index 2f4a39c3..2f4a39c3 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_disk_mount_point.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_disk_mount_point.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_disk_name_by_path.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_disk_name_by_path.py index 08e80b7e..08e80b7e 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_disk_name_by_path.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_disk_name_by_path.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_file.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_file.py index 61c33eba..61c33eba 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_file.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_file.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_format_device_status.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_format_device_status.py index 39bfe01c..39bfe01c 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_format_device_status.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_format_device_status.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_rrd_cpu_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py index e60d7199..e60d7199 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_rrd_cpu_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_rrd_memory_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_memory_details.py index a6dd4987..a6dd4987 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_rrd_memory_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_memory_details.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_rrd_net_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_net_details.py index c319c888..c319c888 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_rrd_net_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_net_details.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_server_details.py index 30ffac58..30ffac58 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_server_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_server_details.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_server_status.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_server_status.py index 2814f10f..2814f10f 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_server_status.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_server_status.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_volume_brick_log.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_volume_brick_log.py index ff4a4b9a..ff4a4b9a 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_volume_brick_log.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_volume_brick_log.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/get_volume_log.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_volume_log.py index f388aa4e..f388aa4e 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/get_volume_log.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_volume_log.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gluster_provision_block_wrapper.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/gluster_provision_block_wrapper.py index 849bce3f..849bce3f 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/gluster_provision_block_wrapper.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/gluster_provision_block_wrapper.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/modify_volume_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/modify_volume_cifs.py index d56b1f59..d56b1f59 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/modify_volume_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/modify_volume_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/multicast-discoverd.init.d b/src/com.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.init.d index 7cfbe44a..7cfbe44a 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/multicast-discoverd.init.d +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.init.d diff --git a/src/com.gluster.storage.management.gateway.scripts/src/multicast-discoverd.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.py index fbadd048..fbadd048 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/multicast-discoverd.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/rrd_cpu.pl b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_cpu.pl index 7b070812..7b070812 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/rrd_cpu.pl +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_cpu.pl diff --git a/src/com.gluster.storage.management.gateway.scripts/src/rrd_mem.pl b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_mem.pl index 5c47cd81..5c47cd81 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/rrd_mem.pl +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_mem.pl diff --git a/src/com.gluster.storage.management.gateway.scripts/src/rrd_net.pl b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_net.pl index c88afced..c88afced 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/rrd_net.pl +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_net.pl diff --git a/src/com.gluster.storage.management.gateway.scripts/src/rrd_update_cpu_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_update_cpu_details.py index 6ec6a1e3..6ec6a1e3 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/rrd_update_cpu_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_update_cpu_details.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/rrd_update_memory_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_update_memory_details.py index 0a30d248..0a30d248 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/rrd_update_memory_details.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/rrd_update_memory_details.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/setup_cifs_config.py index 67ce962e..67ce962e 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/setup_cifs_config.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/start_volume_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/start_volume_cifs.py index 0d09b5eb..0d09b5eb 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/start_volume_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/start_volume_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/stop_volume_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/stop_volume_cifs.py index d67d9061..d67d9061 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/stop_volume_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/stop_volume_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/update_volume_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/update_volume_cifs.py index 64297a87..64297a87 100755 --- a/src/com.gluster.storage.management.gateway.scripts/src/update_volume_cifs.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/update_volume_cifs.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Globals.py b/src/com.gluster.storage.management.gateway.scripts/src/common/Globals.py index cfab83b6..cfab83b6 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/Globals.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/Globals.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/common/Globals.pyc b/src/com.gluster.storage.management.gateway.scripts/src/common/Globals.pyc Binary files differnew file mode 100644 index 00000000..49f58157 --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/Globals.pyc diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Protocol.py b/src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.py index ff073593..ff073593 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/Protocol.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.pyc b/src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.pyc Binary files differnew file mode 100644 index 00000000..3b0da181 --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/Protocol.pyc diff --git a/src/com.gluster.storage.management.gateway.scripts/src/Utils.py b/src/com.gluster.storage.management.gateway.scripts/src/common/Utils.py index 588d52fa..588d52fa 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/Utils.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/Utils.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/common/Utils.pyc b/src/com.gluster.storage.management.gateway.scripts/src/common/Utils.pyc Binary files differnew file mode 100644 index 00000000..501aa2ee --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/Utils.pyc diff --git a/src/com.gluster.storage.management.gateway.scripts/src/XmlHandler.py b/src/com.gluster.storage.management.gateway.scripts/src/common/XmlHandler.py index b9db15c8..b9db15c8 100644 --- a/src/com.gluster.storage.management.gateway.scripts/src/XmlHandler.py +++ b/src/com.gluster.storage.management.gateway.scripts/src/common/XmlHandler.py diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py new file mode 100755 index 00000000..29c182aa --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py @@ -0,0 +1,93 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def getUid(userName): + try: + fp = open(Globals.CIFS_USER_FILE) + content = fp.read() + fp.close() + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_USER_FILE, str(e))) + return False + + for line in content.strip().split(): + tokens = line.split(":") + if tokens[1] == userName: + return int(tokens[0]) + return None + + +def getLastUid(): + if not os.path.exists(Globals.CIFS_USER_FILE): + return Globals.DEFAULT_UID + try: + fp = open(Globals.CIFS_USER_FILE) + content = fp.read() + fp.close() + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_USER_FILE, str(e))) + return False + + lines = content.strip().split() + if not lines: + return Globals.DEFAULT_UID + return int(lines[-1].split(":")[0]) + + +def setUid(uid, userName): + try: + fp = open(Globals.CIFS_USER_FILE, "a") + fp.write("%s:%s\n" % (uid, userName)) + fp.close() + return True + except IOError, e: + Utils.log("failed to write file %s: %s" % (Globals.CIFS_USER_FILE, str(e))) + return False + + +def main(): + if len(sys.argv) < 4: + sys.stderr.write("usage: %s SERVER_FILE USERNAME PASSWORD\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverFile = sys.argv[1] + userName = sys.argv[2] + password = sys.argv[3] + + existingUser = False + uid = getUid(userName) + if not uid: + uid = getLastUid() + if not uid: + sys.exit(10) + uid += 1 + else: + existingUser = True + + rv = Utils.runCommand("grun.py %s add_user_cifs.py %s %s %s" % (serverFile, uid, userName, password)) + if existingUser: + sys.exit(rv) + + if rv == 0: + if not setUid(uid, userName): + sys.stderr.write("Failed to add the user\n") + sys.exit(11) + sys.exit(rv) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/create_volume_cifs_all.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/create_volume_cifs_all.py new file mode 100755 index 00000000..59e74bed --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/create_volume_cifs_all.py @@ -0,0 +1,67 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def addVolumeCifsConf(volumeName, userList): + try: + fp = open(Globals.CIFS_VOLUME_FILE) + content = fp.read() + fp.close() + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + content = "" + + try: + fp = open(Globals.CIFS_VOLUME_FILE, "w") + for line in content.split(): + if line.split(":")[0] != volumeName: + fp.write("%s\n" % line) + fp.write("%s:%s\n" % (volumeName, ":".join(userList))) + fp.close() + except IOError, e: + Utils.log("failed to write file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + return False + return True + + +def main(): + if len(sys.argv) < 4: + sys.stderr.write("usage: %s SERVER_FILE VOLUME_NAME USER1 USER2 ...\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverFile = sys.argv[1] + volumeName = sys.argv[2] + userList = sys.argv[3:] + + missingUserList = [] + for userName in userList: + if not Utils.getCifsUserUid(userName): + missingUserList.append(userName) + + if missingUserList: + sys.stderr.write("User %s does not exists\n" % missingUserList) + sys.exit(1) + + rv = Utils.runCommand(["grun.py", serverFile, "create_volume_cifs.py", volumeName] + userList) + if rv == 0: + if not addVolumeCifsConf(volumeName, userList): + sys.stderr.write("Failed to add volume %s and user-list %s in cifs volume configuration\n" % (volumeName, userList)) + sys.exit(11) + sys.exit(rv) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_user_cifs_all.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_user_cifs_all.py new file mode 100755 index 00000000..3c68891c --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_user_cifs_all.py @@ -0,0 +1,58 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def removeUser(userName): + try: + fp = open(Globals.CIFS_USER_FILE) + content = fp.read() + fp.close() + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_USER_FILE, str(e))) + return False + + try: + fp = open(Globals.CIFS_USER_FILE, "w") + lines = content.strip().split() + for line in lines: + if line.split(":")[1] == userName: + continue + fp.write("%s\n" % line) + fp.close() + except IOError, e: + Utils.log("failed to write file %s: %s" % (Globals.CIFS_USER_FILE, str(e))) + return False + return True + + +def main(): + if len(sys.argv) < 3: + sys.stderr.write("usage: %s SERVER_LIST USERNAME\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverList = sys.argv[1] + userName = sys.argv[2] + + rv = Utils.runCommand("grun.py %s delete_user_cifs.py %s" % (serverList, userName)) + if rv == 0: + if not removeUser(userName): + Utils.log("Failed to remove the user:%s on gateway server\n" % userName) + sys.exit(0) + sys.exit(rv) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_volume_cifs_all.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_volume_cifs_all.py new file mode 100755 index 00000000..3456b92d --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/delete_volume_cifs_all.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def removeVolumeCifsConf(volumeName): + try: + fp = open(Globals.CIFS_VOLUME_FILE) + content = fp.read() + fp.close() + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + content = "" + + try: + fp = open(Globals.CIFS_VOLUME_FILE, "w") + for line in content.split(): + if line.split(":")[0] != volumeName: + fp.write("%s\n" % line) + fp.close() + except IOError, e: + Utils.log("failed to write file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + return False + return True + + +def main(): + if len(sys.argv) < 3: + sys.stderr.write("usage: %s SERVER_FILE VOLUME_NAME\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverFile = sys.argv[1] + volumeName = sys.argv[2] + + rv = Utils.runCommand(["grun.py", serverFile, "delete_volume_cifs.py", volumeName]) + if rv == 0: + if not removeVolumeCifsConf(volumeName): + sys.stderr.write("Failed to remove volume %s and user-list in cifs volume configuration\n" % volumeName) + sys.exit(11) + sys.exit(rv) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/get_volume_user_cifs.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/get_volume_user_cifs.py new file mode 100755 index 00000000..c385633e --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/get_volume_user_cifs.py @@ -0,0 +1,46 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def main(): + if len(sys.argv) < 2: + sys.stderr.write("usage: %s VOLUME_NAME\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + volumeName = sys.argv[1] + + if not os.path.exists(Globals.CIFS_VOLUME_FILE): + sys.exit(0) + + try: + fp = open(Globals.CIFS_VOLUME_FILE) + content = fp.read() + fp.close() + for line in content.split(): + tokens = line.split(":") + if tokens[0] == volumeName: + print "\n".join(tokens[1:]) + sys.exit(0) + # given volume is not configured for cifs export + sys.exit(0) + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + sys.stderr.write("Failed to read cifs-volume-file %s: %s\n" % (Globals.CIFS_VOLUME_FILE, str(e))) + sys.exit(2) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/gmg-reset-password.sh b/src/com.gluster.storage.management.gateway.scripts/src/gateway/gmg-reset-password.sh new file mode 100755 index 00000000..4edf0ffd --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/gmg-reset-password.sh @@ -0,0 +1,21 @@ +#----------------------------------------------------------------------------------- +# gmg-reset-password.sh - script to reset password of given user to default password +#----------------------------------------------------------------------------------- + +USAGE_ERR=1 + +if [ $# -ne 1 ]; then + echo "Usage: ${0} <username>" + echo + exit ${USAGE_ERR} +fi + +# Main action body +cd .. +for FILE in WEB-INF/lib/*.jar +do + export CLASSPATH=${CLASSPATH}:${PWD}/${FILE} +done +export CLASSPATH=${PWD}/WEB-INF/classes:${CLASSPATH} +cd - +java com.gluster.storage.management.gateway.utils.PasswordManager reset ${1} diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/grun.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/grun.py new file mode 100755 index 00000000..f2e2d944 --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/grun.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Utils + + +def main(): + sshCommandPrefix = "ssh -q -i /opt/glustermg/keys/gluster.pem -o BatchMode=yes -o GSSAPIAuthentication=no -o PasswordAuthentication=no -o StrictHostKeyChecking=no".split() + + if len(sys.argv) < 3: + sys.stderr.write("usage: %s SERVER_FILE COMMAND [ARGUMENTS]\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + serverFile = sys.argv[1] + try: + command = ["/opt/glustermg/%s/backend/%s" % (os.environ['GMG_VERSION'], sys.argv[2])] + except KeyError, e: + command = ["/opt/glustermg/1.0.0/backend/%s" % sys.argv[2]] + command += sys.argv[3:] + + try: + fp = open(serverFile) + serverNameList = fp.readlines() + fp.close() + except IOError, e: + Utils.log("Failed to read server file %s: %s\n" % (serverFile, str(e))) + sys.stderr.write("Failed to read server file %s: %s\n" % (serverFile, str(e))) + sys.exit(1) + + status = True + for serverName in serverNameList: + rv = Utils.runCommand(sshCommandPrefix + [serverName.strip()] + command, output=True) + if rv["Status"] != 0: + sys.stderr.write("%s: %s\n" % (serverName, rv["Status"])) + sys.stderr.write("Stdout:\n%s\n" % rv["Stdout"]) + sys.stderr.write("Stderr:\n%s\n" % rv["Stderr"]) + sys.stderr.write("---\n") + status = False + + if status: + sys.exit(0) + else: + sys.exit(2) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/multicast-discover-servers.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/multicast-discover-servers.py new file mode 100755 index 00000000..fcbcd738 --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/multicast-discover-servers.py @@ -0,0 +1,110 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import socket +import select +import signal +import random +import string +import Utils +import Globals + +running = True + + +def exitHandler(signum, frame): + running = False + + +def sendMulticastRequest(idString): + multicastSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) + multicastSocket.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2) + multicastSocket.sendto("%s,%s,%s\n" % (Globals.GLUSTER_PROBE_STRING, Globals.GLUSTER_PROBE_VERSION, idString), + (Globals.MULTICAST_GROUP, Globals.MULTICAST_PORT)) + return multicastSocket + + +def openServerSocket(): + try: + server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + server.bind(('', Globals.SERVER_PORT)) + server.listen(Globals.DEFAULT_BACKLOG) + return server + except socket.error, e: + Utils.log("failed to open server socket on port %s: %s" % (Globals.SERVER_PORT, str(e))) + sys.stderr.write("failed to open server socket on port %s: %s\n" % (Globals.SERVER_PORT, str(e))) + sys.exit(1) + + +def main(): + signal.signal(signal.SIGINT, exitHandler) + signal.signal(signal.SIGTERM, exitHandler) + signal.signal(signal.SIGALRM, exitHandler) + + idString = ''.join(random.choice(string.ascii_lowercase + + string.ascii_uppercase + + string.digits) for x in range(Globals.DEFAULT_ID_LENGTH)) + + multicastSocket = sendMulticastRequest(idString) + + serverInfoDict = {} + serverSocket = openServerSocket() + rlist = [serverSocket] + signal.alarm(Globals.DEFAULT_TIMEOUT) + while running: + try: + ilist,olist,elist = select.select(rlist, [], [], 0.25) + except select.error, e: + Utils.log("failed to read from connections: %s" % str(e)) + break + for sock in ilist: + # handle new connection + if sock == serverSocket: + clientSocket, address = serverSocket.accept() + #print "connection from %s on %s" % (address, clientSocket) + rlist.append(clientSocket) + continue + + # handle all other sockets + data = sock.recv(Globals.DEFAULT_BUFSIZE) + if not data: + #print "closing socket %s" % sock + sock.close() + rlist.remove(sock) + tokens = data.strip().split(",") + if len(tokens) != 6: + continue + if not (tokens[0] == Globals.GLUSTER_PROBE_STRING and \ + tokens[1] == Globals.GLUSTER_PROBE_VERSION and \ + tokens[2] == idString): + continue + serverInfoDict[tokens[3]] = [tokens[4], tokens[5]] + #print "closing socket %s" % sock + sock.close() + rlist.remove(sock) + + for sock in rlist: + sock.close() + + for k, v in serverInfoDict.iteritems(): + if v[0]: + print v[0] + else: + print k + + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/setup_cifs_config_all.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/setup_cifs_config_all.py new file mode 100755 index 00000000..8dd59c8c --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/setup_cifs_config_all.py @@ -0,0 +1,29 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Utils + + +def main(): + if len(sys.argv) < 2: + sys.stderr.write("usage: %s SERVER_FILE\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverFile = sys.argv[1] + + rv = Utils.runCommand(["grun.py", serverFile, "setup_cifs_config.py"]) + sys.exit(rv) + + +if __name__ == "__main__": + main() diff --git a/src/com.gluster.storage.management.gateway.scripts/src/gateway/update_volume_cifs_all.py b/src/com.gluster.storage.management.gateway.scripts/src/gateway/update_volume_cifs_all.py new file mode 100755 index 00000000..c5c9d1ef --- /dev/null +++ b/src/com.gluster.storage.management.gateway.scripts/src/gateway/update_volume_cifs_all.py @@ -0,0 +1,69 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def updateVolumeCifsConf(volumeName, userList): + try: + fp = open(Globals.CIFS_VOLUME_FILE) + content = fp.read() + fp.close() + except IOError, e: + Utils.log("failed to read file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + return False + + try: + fp = open(Globals.CIFS_VOLUME_FILE, "w") + for line in content.split(): + if line.split(":")[0] == volumeName: + fp.write("%s:%s\n" % (volumeName, ":".join(userList))) + else: + fp.write("%s\n" % line) + fp.close() + except IOError, e: + Utils.log("failed to write file %s: %s" % (Globals.CIFS_VOLUME_FILE, str(e))) + return False + return True + + +def main(): + if len(sys.argv) < 4: + sys.stderr.write("usage: %s SERVER_FILE VOLUME_NAME USER1 USER2 ...\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverFile = sys.argv[1] + volumeName = sys.argv[2] + userList = sys.argv[3:] + + missingUserList = [] + for userName in userList: + if not Utils.getCifsUserUid(userName): + missingUserList.append(userName) + + if missingUserList: + sys.stderr.write("User %s does not exists\n" % missingUserList) + sys.exit(1) + + + rv = Utils.runCommand(["grun.py", serverFile, "update_volume_cifs.py", volumeName] + userList) + if rv == 0: + if not updateVolumeCifsConf(volumeName, userList): + sys.stderr.write("Failed to update volume %s and user-list %s in cifs volume configuration\n" % (volumeName, userList)) + sys.exit(11) + sys.exit(rv) + + +if __name__ == "__main__": + main() |
