From: Boaz Harrosh <bharrosh@panasas.com>
To: Boaz Harrosh <bharrosh@panasas.com>,
Steve Dickson <steved@redhat.com>,
NFS list <linux-nfs@vger.kernel.org>,
open-osd <osd-dev@open-osd.org>,
"Bhamare, Sachin" <sbhamare@panasas.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>,
Benny Halevy <bhalevy@tonian.com>,
"Welch, Brent" <welch@panasas.com>
Subject: [PATCH 4/4] osd_login: Add autologin script for objlayoutdriver
Date: Thu, 15 Mar 2012 23:27:56 -0700 [thread overview]
Message-ID: <4F62DD6C.4040504@panasas.com> (raw)
In-Reply-To: <4F62DADD.3010502@panasas.com>
From: Sachin Bhamare <sbhamare@panasas.com>
This script is part of the autologin feature mandated by the
pnfs-objects standard.
It is called from objlayoutdriver.ko in the kernel.
Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
---
configure.ac | 1 +
utils/Makefile.am | 1 +
utils/osd_login/Makefile.am | 13 +++++
utils/osd_login/osd_login | 102 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 117 insertions(+), 0 deletions(-)
create mode 100644 utils/osd_login/Makefile.am
create mode 100755 utils/osd_login/osd_login
diff --git a/configure.ac b/configure.ac
index 67e8d2d..011a2bf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -467,6 +467,7 @@ AC_CONFIG_FILES([
utils/nfsidmap/Makefile
utils/showmount/Makefile
utils/statd/Makefile
+ utils/osd_login/Makefile
tests/Makefile
tests/nsm_client/Makefile])
AC_OUTPUT
diff --git a/utils/Makefile.am b/utils/Makefile.am
index d074b85..c7e5d27 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -28,6 +28,7 @@ SUBDIRS = \
nfsstat \
showmount \
statd \
+ osd_login \
$(OPTDIRS)
MAINTAINERCLEANFILES = Makefile.in
diff --git a/utils/osd_login/Makefile.am b/utils/osd_login/Makefile.am
new file mode 100644
index 0000000..e931e36
--- /dev/null
+++ b/utils/osd_login/Makefile.am
@@ -0,0 +1,13 @@
+## Process this file with automake to produce Makefile.in
+
+OSD_LOGIN_FILES= osd_login
+
+EXTRA_DIST= $(OSD_LOGIN_FILES)
+
+all-local: $(OSD_LOGIN_FILES)
+
+install-data-hook:
+ $(INSTALL) --mode 755 osd_login $(DESTDIR)/sbin/osd_login
+
+MAINTAINERCLEANFILES = Makefile.in
+
diff --git a/utils/osd_login/osd_login b/utils/osd_login/osd_login
new file mode 100755
index 0000000..161a487
--- /dev/null
+++ b/utils/osd_login/osd_login
@@ -0,0 +1,102 @@
+#!/bin/bash
+#
+# osd_login : This script is part of the autologin feature
+# mandated by the pnfs-objects standard.
+# It is called from objlayoutdriver.ko in the kernel.
+
+# Copyright (C) 2012, Sachin Bhamare <sbhamare@panasas.com>
+# Copyright (C) 2012, Boaz Harrosh <bharrosh@panasas.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301 USA
+
+umask 022
+
+PATH="/sbin:/usr/sbin:/bin:/usr/bin"
+
+iscsiadm=/sbin/iscsiadm
+
+protocol=""
+portal=""
+uri=""
+osdname=""
+systemid=""
+
+usage()
+{
+ echo "Usage: $0 -u <URI> -o <OSDNAME> -s <SYSTEMID>"
+ echo "Options:"
+ echo "-u target uri e.g. iscsi://<ip>:<port>"
+ echo "-o osdname of the target OSD"
+ echo "-s systemid of the target OSD"
+}
+
+parse_cmdline()
+{
+ argc=$#
+ if [ $# -lt 3 ]; then
+ usage
+ exit 1
+ fi
+
+ # parse the input arguments
+ while getopts "u:o:s:" options; do
+ case $options in
+ u ) uri=$OPTARG;;
+ o ) osdname=$OPTARG;;
+ s ) systemid=$OPTARG;;
+ \? ) usage
+ exit 1;;
+ * ) usage
+ exit 1;;
+ esac
+ done
+
+ echo "-u : $uri"
+ echo "-o : $osdname"
+ echo "-s : $systemid"
+
+ protocol=`echo $uri | awk -F ':' '{print $1}'`
+ portal=`echo $uri | awk -F '//' '{print $2}'`
+}
+
+do_cmd()
+{
+ $* 2>&1 | logger &
+}
+
+login_iscsi_osd()
+{
+ echo "osd_login: login into: $1"
+ if ! $iscsiadm -m discovery -o nonpersistent -t sendtargets -p $1 --login; then
+ echo "$iscsiadm -m discovery -t sendtargets -p $1 --login returned error $? !"
+ sleep 1;
+ fi
+}
+
+ echo "============= osd_login ========="
+ echo "progname : $0"
+parse_cmdline "$@"
+echo "protocol: $protocol"
+echo "portal: $portal"
+
+case $protocol in
+iscsi)
+ login_iscsi_osd $portal |& logger
+ ;;
+*)
+ echo "osd_login: Error: protocol $protocol not supported !" | logger
+ ;;
+esac
+
--
1.7.6.2
next prev parent reply other threads:[~2012-03-16 6:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-16 6:17 [PATCHSET 0/4] Auto-login support for the pnfs-objects protocol Boaz Harrosh
2012-03-16 6:19 ` [PATCH 1/4] pnfsd-exofs: Add autologin support to exofs Boaz Harrosh
2012-03-16 6:30 ` Boaz Harrosh
2012-03-16 6:21 ` [PATCH 2/4] pnfs-obj: Remove unused variable from objlayout_get_deviceinfo() Boaz Harrosh
2012-03-16 6:23 ` [PATCH 3/4] pnfs-obj: autologin: Add support for protocol autologin Boaz Harrosh
2012-03-16 21:40 ` Myklebust, Trond
2012-03-19 20:58 ` Boaz Harrosh
2012-03-19 21:12 ` Myklebust, Trond
2012-03-19 23:23 ` Boaz Harrosh
2012-03-20 1:16 ` Boaz Harrosh
2012-03-20 3:10 ` Boaz Harrosh
2012-03-20 3:26 ` Boaz Harrosh
2012-03-20 3:47 ` [PATCH version2] " Boaz Harrosh
2012-03-16 6:27 ` Boaz Harrosh [this message]
2012-03-23 2:36 ` SQUASHME: osd_login: Add autologin script for objlayoutdriver Boaz Harrosh
2012-03-23 2:57 ` [PATCH version2] " Boaz Harrosh
2012-05-01 18:50 ` [PATCH 4/4] " Steve Dickson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F62DD6C.4040504@panasas.com \
--to=bharrosh@panasas.com \
--cc=Trond.Myklebust@netapp.com \
--cc=bhalevy@tonian.com \
--cc=linux-nfs@vger.kernel.org \
--cc=osd-dev@open-osd.org \
--cc=sbhamare@panasas.com \
--cc=steved@redhat.com \
--cc=welch@panasas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.