def process(self): (opts, args) = getopts() chkopts(opts) self.up_progress(10) already_exist = False session_command_args = (ISCSI_CMD, ISCSI_CMD_OPTION_MODE, ISCSI_CMD_OPTION_MODE_SESSION ) (session_rc, session_res) = execute_command(session_command_args) if session_rc != 0: raise KssCommandException('Failed to get iSCSI session. message=%s' % (session_res)) for session_line in session_res: if not session_line: continue if session_line.find(ISCSI_CMD_RES_NO_ACTIVE_SESSION) != -1: break try: session = iscsi_parse_session(session_line) except: self.logger.warn('Failed to parse iSCSI session command response. message="%s"' % (session_line)) continue if session['iqn'] == opts.iqn: if opts.host: if opts.host != session['hostname']: continue already_exist = True break if already_exist: self.logger.info("[target: %s]: already exists" % (opts.iqn)) print >>sys.stdout, _("[target: %s]: already exists") % (opts.iqn) else: login_command_args = [ISCSI_CMD, ISCSI_CMD_OPTION_MODE, ISCSI_CMD_OPTION_MODE_NODE, ISCSI_CMD_OPTION_TARGETNAME, opts.iqn, ] if opts.host: login_command_args.append(ISCSI_CMD_OPTION_PORTAL) login_command_args.append(opts.host) login_command_args.append(ISCSI_CMD_OPTION_LOGIN) (login_rc,login_res) = execute_command(login_command_args) self.up_progress(50) if login_rc != 0: raise KssCommandException('Failed to login to iSCSI. - host=%s iqn=%s message=%s' % (opts.host, opts.iqn, login_res)) for line in login_res: if not line: continue self.logger.info("%s" % (line)) print >>sys.stdout, _("%s") % (line) return True
def process(self): (opts, args) = getopts() chkopts(opts) self.up_progress(10) node_command_args = (ISCSI_CMD, ISCSI_CMD_OPTION_MODE, ISCSI_CMD_OPTION_MODE_NODE ) (node_rc, node_res) = execute_command(node_command_args) if node_rc != 0: for node_line in node_res: if node_line.find(ISCSI_CMD_RES_NO_NODE) != -1: self.logger.info("iSCSI node not found") return True raise KssCommandException('Failed to get iSCSI node. message=%s' % (node_res)) self.up_progress(20) session_command_args = (ISCSI_CMD, ISCSI_CMD_OPTION_MODE, ISCSI_CMD_OPTION_MODE_SESSION ) (session_rc, session_res) = execute_command(session_command_args) if session_rc != 0: raise KssCommandException('Failed to get iSCSI session. message=%s' % (session_res)) self.up_progress(20) for node_line in node_res: if not node_line: continue try: node = iscsi_parse_node(node_line) except: self.logger.warn('Failed to parse iSCSI node command response. message="%s"' % (node_line)) continue is_active = 0 for session_line in session_res: if not session_line: continue if session_line.find(ISCSI_CMD_RES_NO_ACTIVE_SESSION) != -1: break try: session = iscsi_parse_session(session_line) except: self.logger.warn('Failed to parse iSCSI session command response. message="%s"' % (session_line)) continue if iscsi_check_node_status(node, session): is_active = 1 break if iscsi_check_node_autostart(node): autostart = 0 else: autostart = 1 if opts.iqn is None: self.logger.info("%s %s %s" % (iscsi_print_format_node(node), is_active, autostart)) print >>sys.stdout, _("%s %s %s") % (iscsi_print_format_node(node), is_active, autostart) else: if opts.iqn == node['iqn']: auth = iscsi_get_auth_type(node) user = iscsi_get_auth_user(node) self.logger.info("%s %s %s %s %s" % (iscsi_print_format_node(node), is_active, autostart, auth, user)) print >>sys.stdout, _("%s %s %s %s %s") % (iscsi_print_format_node(node), is_active, autostart, auth, user) break return True
def process(self): (opts, args) = getopts() chkopts(opts) self.up_progress(10) node_command_args = (ISCSI_CMD, ISCSI_CMD_OPTION_MODE, ISCSI_CMD_OPTION_MODE_NODE) (node_rc, node_res) = execute_command(node_command_args) if node_rc != 0: for node_line in node_res: if node_line.lower().find(ISCSI_CMD_RES_NO_NODE) != -1: self.logger.info("iSCSI node not found") return True raise KssCommandException('Failed to get iSCSI node. message=%s' % (node_res)) self.up_progress(20) session_command_args = (ISCSI_CMD, ISCSI_CMD_OPTION_MODE, ISCSI_CMD_OPTION_MODE_SESSION) (session_rc, session_res) = execute_command(session_command_args) if session_rc != 0: raise KssCommandException( 'Failed to get iSCSI session. message=%s' % (session_res)) self.up_progress(20) for node_line in node_res: if not node_line: continue try: node = iscsi_parse_node(node_line) except: self.logger.warn( 'Failed to parse iSCSI node command response. message="%s"' % (node_line)) continue is_active = 0 for session_line in session_res: if not session_line: continue if session_line.find(ISCSI_CMD_RES_NO_ACTIVE_SESSION) != -1: break try: session = iscsi_parse_session(session_line) except: self.logger.warn( 'Failed to parse iSCSI session command response. message="%s"' % (session_line)) continue if iscsi_check_node_status(node, session): is_active = 1 break if iscsi_check_node_autostart(node): autostart = 0 else: autostart = 1 if opts.iqn is None: self.logger.info( "%s %s %s" % (iscsi_print_format_node(node), is_active, autostart)) print >> sys.stdout, _("%s %s %s") % ( iscsi_print_format_node(node), is_active, autostart) else: if opts.iqn == node['iqn']: auth = iscsi_get_auth_type(node) user = iscsi_get_auth_user(node) self.logger.info("%s %s %s %s %s" % (iscsi_print_format_node(node), is_active, autostart, auth, user)) print >> sys.stdout, _("%s %s %s %s %s") % ( iscsi_print_format_node(node), is_active, autostart, auth, user) break return True