ACC SHELL

Path : /var/lib/named/proc/self/root/usr/share/YaST2/modules/
File Upload :
Current File : //var/lib/named/proc/self/root/usr/share/YaST2/modules/IscsiClientLib.ybc

YaST bytecode 1.4.0IscsiClientLib0IscsiClientLib.ycpServicePopupHostnameStage
ModuleLoadingModeStringArch	sessions	

discovered	targets	
currentRecord	

serviceStatusconfig	ibft	
initiatorname	ay_settingshidePassword		getiBFT	GetStartServiceSetStartService	getConfig		setConfiguseISNS	oldConfiggetNode		createMap			setOrAdd				delete			
saveConfig				
getDiscovered	 startIScsid!readSessions"writeInitiatorName	#getReverseDomainName	$checkInitiatorName%deleteRecord&getStartupStatus	'setValue		(	connected)setStartupStatus	*	autoLogOn+loginIntoTarget,getServiceStatus-setServiceStatus.autoyastPrepare/
autoyastWrite 		

 orig	-CJstatusW`
new_configeqxuser_in	pass_in	user_out	pass_out	  !!""	new_value	$$2%%Y&&e''uname	value	((check_ip))status	**++target,,--..//13SCRReadWriteExecute0iscsi-client3ServiceStatus	Enable	Enabled	Disable	Start	Reload	Stop	3PopupWarning	3HostnameSplitFQ		3Stageinitial3	
ModuleLoadingLoad
				3
Modeautoinst3String	CutBlanks		3Archi386x86_64
arch_short	$		$
	$	$	$
$
$$$% hidden	$!
,"		foreachkey	value
(#		issubstring		PASS&#*****'$-&%-(.4.	from_bios	(/&&!	!	4/,0	
y2milestone	
@Because architecture %1 is is different from x86, not using iBFT	-1
&3
,4	
y2milestone	
"check and modprobe iscsi_ibft : %1SCR::Execute.target.bash_output0lsmod |grep -q iscsi_ibft || modprobe iscsi_ibft$5		SCR::Execute.target.bash_outputiscsiadm -m fwstdout,6		foreachrow				splitstring			
key_val	kv	$7
			splitstring			=$9

	(:	size	
':

	,=	
y2milestone	
iBFT %1->%Cstatus$D

open-iscsi,E	
y2milestone	
Status of open-iscsi %1
-F
%J,K	
y2milestone	
Set status of open-iscsi to %1
(L
4L,Mboot.open-iscsi,N
open-iscsi4O,Pboot.open-iscsi,Q
open-iscsi%W(Ysize4Y&Z		SCR::Read.etc.iscsid.all,[	
y2debug	
read config %1-]value	%`'avalue
%euse$f
,g		foreachrow	(h||	nameisns.address	name	isns.port4h&i
-l
%q,r	
y2milestone	
Store temporary config %1,s
SCR::Write.etc.iscsid.all,t
SCR::Write.etc.iscsid%xcmd	auth	$y
	SCR::Execute.target.bash_output%iscsiadm -S -m node -T $TARGET -p $IPTARGET	IP	(z
exit-z
${

,|		foreachrow				splitstring				
stdout
key	val	$}			splitstring			 = 	$~			splitstring			 = 	(<empty>&5node.session.auth.authmethodnode.session.auth.passwordnode.session.auth.password_innode.session.auth.usernamenode.session.auth.username_in
'

authmethod.'
username.'
password.'
username_in.'
password_in.-
%old_map	comments	comment	$,		foreachrow	
&		
sformat		
%1%2-name	
KEYvalue	
VALUEkindvaluetypecomment%old_list	key	value	new_list	found$	$,		foreachrow	
(	name
4&'value
&			add(!&			addKEY
VALUE
	-%old_list	key	new_list	,	
y2milestone	
Delete record for %1
$	,		foreachrow	
(	name
&			add-%tmp_conf	tmp_val	,	
y2milestone	
Save config$$value	(&&	size	
	size	
4&node.session.auth.username
&node.session.auth.password
4&node.session.auth.username&node.session.auth.password(&&	size	
	size	
4&%discovery.sendtargets.auth.authmethodCHAP&#discovery.sendtargets.auth.username
&#discovery.sendtargets.auth.password
4&%discovery.sendtargets.auth.authmethod&#discovery.sendtargets.auth.username&#discovery.sendtargets.auth.password'value,
SCR::Write.etc.iscsid.all,
SCR::Write.etc.iscsid%retcode	&
	$
	SCR::Execute.target.bash_outputiscsiadm -m node(	size		
stderr4tmp_disc	$			filterrow				splitstring				
stdout
&&	size			search		session,		foreachrow	tmp_row	$
			splitstring			 &
			add
		
sformat		
%1 %2
	
	,	
y2milestone	
Discovered sessions %1
-
% ,SCR::Execute.target.bashpgrep iscsid || iscsid,foreachi	
	cmd	,sleep*$	SCR::Execute.target.bash_outputiscsiadm -m session,	

y2internal	
iteration %1, retcode %2exit(exit4,	

y2internal	
 Good response from daemon, exit..%!retcode	tmp_sessions	,	
y2milestone	
reading current settings$
	SCR::Execute.target.bash_outputiscsiadm -m session$
	&
			filterrow				splitstring				
stdout
&&	size			search		session&		,		foreachrow	
tmp_row	$			splitstring			 &				add			
sformat		
%1 %2		,		
y2milestone	
(Return list from iscsiadm -m session: %1	-
%"retfile	$$/etc/iscsi/initiatorname.iscsi(		SCR::Read
.target.lstatsize4,	
y2milestone	
%1 file exists, create backup,SCR::Execute.target.bash		
sformat		
)mv %1 /etc/iscsi/initiatorname.yastbackup&
SCR::Write.target.string		
sformat		
InitiatorName=%1

,SCR::Execute.target.bashchmod 0600 $FILEFILE(4&
,	
y2milestone	
Initiatorname %1 written,
open-iscsi- %##host_fq	domain	$$
		SCR::Execute.target.bash_outputhostname -f|tr -d '
'stdout,%	

y2internal	
hostfw%1
$&
,(		foreachitem				splitstring			
example.com	.,)	

y2internal	
item %1&*
	size	
		
sformat		
%1.%2
,-	
y2milestone	
	domain %1
-.
%2$retfile	name_from_bios	$3
$4
/etc/iscsi/initiatorname.iscsi$5
	iface.initiatorname&7		SCR::Execute.target.bash_output		
sformat		
@grep -v '^#' %1 | grep InitiatorName | cut -d'=' -f2 | tr -d '
'
stdout(:	size	4:(;	size	
4;,<	
y2milestone	
?%1 is empty or doesnt exists - replace with name stored in iBFT
&=
4>domain	output	,?	
y2milestone	
*InitiatorName does not exist - generate it$@		SCR::Execute.target.bash_outputstdoutcom.example$A	SCR::Execute.target.bash_output		
sformat		
-/sbin/iscsi-iname -p iqn.%1.%2:01 | tr -d '
'
`date +%Y-%m`#
(C	size		stderr4C&D	stdout&E
&G
"4H,I	

y2internal	
initiatorname=%1(J&&	size	

4K,LInitiatorName from iBFT and from <tt>/etc/iscsi/initiatorname.iscsi</tt> differ.
The old initiatorname will be replaced by the value of iBFT and create a backup.
If you want to use a different initiatorname, change it in the BIOS.iscsi-client,O	
y2milestone	
*replacing old name %1 by name %2 from iBFT
&P
&Q
"-T
%Y%retretcode	$Z
,[	
y2milestone	
Delete record %1$]
	SCR::Execute.target.bash_output		
sformat		
%iscsiadm -m node -T %1 -p %2 --logout		(^	size		
stderr-^,`!-a
%e&status	retcode	$f
,g	
y2milestone	
Getting status of record %1$h
	SCR::Execute.target.bash_output		
sformat		
iscsiadm -m node -T %1 -p %2		(i	size		
stderr-i,j		foreachrow				splitstring				
stdout
(k		issubstring		node.conn[0].startup4k&l
			splitstring			 	.m,p	
y2milestone	
Startup status for %1 is %2
-q
%u'command	retretcode	,v	
y2milestone	
set %1  for record %2
$w		
sformat		
=iscsiadm -m node -T %1 -p %2 --op=update --name=%3 --value=%4		

,x	
y2milestone	
execute command - %1$y$z	SCR::Execute.target.bash_output({	size		stderr4{,|	
y2error	
%1	stderr&},	
y2milestone	
return value %1-%(ret,	

y2internal	
.check connected status for %1 with IP check:%2
$,		foreachrow		list_row	$
			splitstring			 (&&
		
			splitstring			
	,				splitstring				,	4&.-%)retretcode	,	
y2milestone	
Set startup status for %1 to %2
$$	SCR::Execute.target.bash_output		
sformat		
Oiscsiadm -m node -T %1 -p %2 --op=update --name=node.conn[0].startup --value=%3		
(	size		stderr-&	SCR::Execute.target.bash_output		
sformat		
Giscsiadm -m node -T %1 -p %2 --op=update --name=node.startup --value=%3		
,	

y2internal	

retcode %1-%*,	
y2milestone	
begin of autoLogOn function(size4,	
y2milestone	
Autologin into iBFT : %1SCR::Execute.target.bash_outputiscsiadm -m fw -l-%+output	&	
portal	
target(	

authmethodNoneNone4user_in	pass_in	user_out	pass_out	$	
username_in$	
password_in(&&	size		size	4,'node.session.auth.username_in,'node.session.auth.password_in4,'node.session.auth.username_in,'node.session.auth.password_in$	
username$	
password(&&	size		size	4,'node.session.auth.username,'node.session.auth.password,'node.session.auth.authmethodCHAP4,'node.session.auth.username,'node.session.auth.password,'node.session.auth.authmethod,'node.session.auth.authmethodNone$	SCR::Execute.target.bash_output		
sformat		
$iscsiadm -m node -T %1 -p %2 --login	
target	
portal,	

y2internal	
	output %1(!,)onboot-%,ret$
(4,	iscsi_tcp, 4(
open-iscsi&
,	
y2milestone	
Service status = %1
(!
,
open-iscsi-
%-ret$
(!4,!(size	4,	
y2milestone	
%No active sessions - stopping service,
open-iscsi,	
y2milestone	
!Status service for open-iscsi: %1
-
%.&	
initiatorname(	size	4file	$/etc/iscsi/initiatorname.iscsi,
SCR::Write.target.string		
sformat		
InitiatorName=%1
,SCR::Execute.target.bashchmod 0600 $FILEFILE,$, %/portals	$
	,foreachtargettargets	(!		contains
	portal4,SCR::Execute.target.bash		
sformat		
!iscsiadm -m discovery -t st -p %1	portal&
			add
	portal,foreachtargettargets	,		

y2internal	
login into target %1,
+&	portal	target,)	startupmanual-

ACC SHELL 2018