Mailinglist Archive: yast-commit (864 mails)

< Previous Next >
[yast-commit] r42224 - in /trunk/iscsi-client: ./ package/ src/ testsuite/tests/
  • From: mzugec@xxxxxxxxxxxxxxxx
  • Date: Tue, 20 Nov 2007 15:09:31 -0000
  • Message-id: <20071120150931.B14C932E67@xxxxxxxxxxxxxxxx>
Author: mzugec
Date: Tue Nov 20 16:09:31 2007
New Revision: 42224

URL: http://svn.opensuse.org/viewcvs/yast?rev=42224&view=rev
Log:
moved some functions to IscsiClientLib

Modified:
trunk/iscsi-client/VERSION
trunk/iscsi-client/package/yast2-iscsi-client.changes
trunk/iscsi-client/src/IscsiClient.ycp
trunk/iscsi-client/src/Makefile.am
trunk/iscsi-client/src/complex.ycp
trunk/iscsi-client/src/dialogs.ycp
trunk/iscsi-client/src/inst_iscsi-client.ycp
trunk/iscsi-client/src/iscsi-client_auto.ycp
trunk/iscsi-client/src/widgets.ycp
trunk/iscsi-client/testsuite/tests/GetSetServiceStatus.ycp
trunk/iscsi-client/testsuite/tests/SaveConfig.ycp
trunk/iscsi-client/yast2-iscsi-client.spec.in

Modified: trunk/iscsi-client/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/VERSION?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/VERSION (original)
+++ trunk/iscsi-client/VERSION Tue Nov 20 16:09:31 2007
@@ -1 +1 @@
-2.16.1
+2.16.2

Modified: trunk/iscsi-client/package/yast2-iscsi-client.changes
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/package/yast2-iscsi-client.changes?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/package/yast2-iscsi-client.changes (original)
+++ trunk/iscsi-client/package/yast2-iscsi-client.changes Tue Nov 20 16:09:31
2007
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Tue Nov 20 16:08:50 CET 2007 - mzugec@xxxxxxx
+
+- moved some functions to IscsiClientLib
+- 2.16.2
+
+-------------------------------------------------------------------
Fri Nov 16 16:26:30 CET 2007 - mzugec@xxxxxxx

- fixed autoyast export

Modified: trunk/iscsi-client/src/IscsiClient.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/IscsiClient.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/IscsiClient.ycp (original)
+++ trunk/iscsi-client/src/IscsiClient.ycp Tue Nov 20 16:09:31 2007
@@ -25,176 +25,9 @@
import "Mode";
import "Confirm";
import "Label";
+import "IscsiClientLib";

-global list <string> sessions = [];
-global list <string> discovered = [];
-global list <string> targets = [];
global boolean configured = false;
-boolean serviceStatus = false;
-map<string, any> config = $[];
-map<string, any> ibft = nil;
-global string initiatorname = "";
-
-global map<string, any> getiBFT(){
- if (ibft==nil){
- ibft=$[];
- string from_bios = ((map<string, any>)SCR::Execute(.target.bash_output,
"fwparam_ibft -b"))["stdout"]:"";
- foreach(string row, splitstring(from_bios, "\n"), {
- list<string> key_val=splitstring(row, "=");
- if (size(key_val[0]:"")>0) ibft[key_val[0]:""] = key_val[1]:"";
- });
- }
-y2milestone("iBFT %1", ibft);
- return ibft;
-}
-
-
-// get accessor for service status
-global boolean GetStartService() {
- boolean status = Service::Enabled("open-iscsi");
- y2milestone("Status of open-iscsi %1", status);
- return status;
-}
-
-// set accessor for service status
-global void SetStartService(boolean status) {
- y2milestone("Set status of open-iscsi to %1", status);
- if (status == true) Service::Enable("open-iscsi");
- else Service::Disable("open-iscsi");
-}
-
-
-// read configuration file
-global list <map<string, any> > getConfig(){
- // use cache if available
- if (size(config)==0){
- config = (map<string, any>) SCR::Read(.etc.iscsid.all);
- y2milestone("read config %1", config);
- }
- return config["value"]:[];
-}
-
-global void setConfig(list new_config){
- config["value"]=new_config;
-}
-
-global boolean useISNS(){
- boolean use = false;
- foreach(map<string, any> row, getConfig(), {
- if (row["name"]:""=="isns.address" || row["name"]:""=="isns.port") {
- use = true;
- }
- });
- return use;
-}
-
-
-// write temporary changed old config
-global void oldConfig(){
- y2milestone("Store temporary config %1", config);
- SCR::Write(.etc.iscsid.all, config);
- SCR::Write(.etc.iscsid, nil);
-}
-
-
-global map<string, any> getNode(list<string> rec){
- map<string, any> cmd = (map<string, any>)SCR::Execute(.target.bash_output,
"iscsiadm -S -m node -T $TARGET -p $IP", $["TARGET":rec[1]:"", "IP":rec[0]:""]);
- if (cmd["exit"]:0!=0) return $[];
- map<string, any> auth = $[];
- foreach(string row, splitstring(cmd["stdout"]:"", "\n"), {
- string key = splitstring(row," = ")[0]:"";
- string val = splitstring(row," = ")[3]:"";
- if(val == "<empty>") val="";
- switch(key){
- case("node.session.auth.authmethod"):
- auth["authmethod"]=val;
- break;
- case("node.session.auth.username"):
- auth["username"]=val;
- break;
- case("node.session.auth.password"):
- auth["password"]=val;
- break;
- case("node.session.auth.username_in"):
- auth["username_in"]=val;
- break;
- case("node.session.auth.password_in"):
- auth["password_in"]=val;
- break;
- }
- });
- return auth;
-}
-
-// create map from given map in format needed by ini-agent
-map<string, any> createMap(map<string, any> old_map, list<string> comments)
-{
- string comment = "";
- foreach(string row, comments, {
- comment = sformat("%1%2", comment, row);
- });
- return $[ "name":old_map["KEY"]:"",
- "value":old_map["VALUE"]:"",
- "kind":"value",
- "type":1,
- "comment":comment
- ];
-}
-
-// add or modify given map
-list <map<string, any> > setOrAdd(list <map<string, any> > old_list, string
key, string value){
- list <map<string, any> > new_list = [];
- boolean found = false;
- foreach(map<string, any> row, old_list, {
- if (row["name"]:"" == key){
- found = true;
- row["value"] = value;
- }
- new_list = add(new_list, row);
- });
- if (!found) new_list = add(new_list, createMap($["KEY":key, "VALUE":value],
[]) );
- return new_list;
-}
-
-// delete record with given key
-list <map<string, any> > delete(list <map<string, any> > old_list, string key){
- y2milestone("Delete record for %1", key);
- list <map<string, any> > new_list = [];
- foreach(map<string, any> row, old_list, {
- if (row["name"]:"" != key) new_list = add(new_list, row);
- });
- return new_list;
-}
-
-// temporary change config for discovery authentication
-global void saveConfig(string user_in, string pass_in, string user_out, string
pass_out){
- y2milestone("Save config");
- map<string, any> tmp_conf = config;
- list <map<string, any> > tmp_val = tmp_conf["value"]:[];
-
- if ((size(user_in)>0)&&(size(pass_in)>0)) {
- tmp_val = setOrAdd(tmp_val, "node.session.auth.username", user_in);
- tmp_val = setOrAdd(tmp_val, "node.session.auth.password", pass_in);
- }
- else {
- tmp_val = delete(tmp_val, "node.session.auth.username");
- tmp_val = delete(tmp_val, "node.session.auth.password");
- }
-
- if ((size(user_out)>0)&&(size(pass_out)>0)) {
- tmp_val = setOrAdd(tmp_val, "discovery.sendtargets.auth.authmethod",
"CHAP");
- tmp_val = setOrAdd(tmp_val, "discovery.sendtargets.auth.username",
user_out);
- tmp_val = setOrAdd(tmp_val, "discovery.sendtargets.auth.password",
pass_out);
- }
- else {
- tmp_val = delete(tmp_val, "discovery.sendtargets.auth.authmethod");
- tmp_val = delete(tmp_val, "discovery.sendtargets.auth.username");
- tmp_val = delete(tmp_val, "discovery.sendtargets.auth.password");
- }
- tmp_conf["value"] = tmp_val;
- SCR::Write(.etc.iscsid.all, tmp_conf);
- SCR::Write(.etc.iscsid, nil);
-}

/**
* Prototypes
@@ -243,77 +76,6 @@
return modified;
}

-// get all discovered targets
-global list<string> getDiscovered(){
- discovered=[];
- map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, "iscsiadm -m node");
- if (size(retcode["stderr"]:"")==0) {
- list<string> tmp_disc = filter(string row,
splitstring(retcode["stdout"]:"", "\n"), {
- return ( size(row)>0 && (search(row, "session")==nil)
);
- });
- foreach(string row, tmp_disc, {
- list<string> tmp_row = splitstring(row, " ");
- discovered = add(discovered, sformat("%1 %2", tmp_row[1]:"",
tmp_row[2]:""));
- });
- }
- y2milestone("Discovered sessions %1", discovered);
- return discovered;
-}
-
-// get all connected targets
-global boolean readSessions(){
- y2milestone("reading current settings");
- map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, "iscsiadm -m session");
-// if ( retcode["exit"]:0 != 0 ) return false;
- list<string> tmp_sessions = [];
- tmp_sessions = filter(string row, splitstring(retcode["stdout"]:"",
"\n"), {
- return ( size(row)>0 && (search(row, "session")==nil)
);
- });
- sessions=[];
- foreach(string row, tmp_sessions, {
- list<string> tmp_row = splitstring(row, " ");
- sessions = add(sessions, sformat("%1 %2", tmp_row[2]:"",
tmp_row[3]:""));
- });
-
- y2milestone("Return list from iscsiadm -m session: %1", sessions);
- return true;
-}
-
-// check initiatorname if exist, if no - create it
-global boolean checkInitiatorName(){
- boolean ret=true;
-// string initiatorname="";
- string file="/etc/iscsi/initiatorname.iscsi";
- string name_from_bios = getiBFT()["iSCSI_INITIATOR_NAME"]:"";
- y2milestone("Check %1", file);
-
- if (size((map<string, any>)SCR::Read (.target.lstat, file)) == 0 ||
((map<string, any>)SCR::Read (.target.lstat, file))["size"]:0==0){
- if (size(name_from_bios)>0){
- y2milestone("%1 is empty or doesnt exists - replace with name stored in
iBFT", file);
- initiatorname = name_from_bios;
- } else {
- y2milestone("%1 not exist, create", file);
-
- map<string, any> output = (map<string, any>)SCR::Execute
(.target.bash_output,
-
"/sbin/iscsi-iname -p iqn.`date +%Y-%m`.de.suse:01", $[]);
- if (size(output["stderr"]:"")==0){
- initiatorname=output["stdout"]:"";
- } else ret = false;
- }
- ret = (boolean)SCR::Write (.target.string, file,
sformat("InitiatorName=%1", initiatorname));
- SCR::Execute (.target.bash, "chmod 0600 $FILE" ,$["FILE":file]);
- } else {
- initiatorname=((map<string, any>)SCR::Execute(.target.bash_output,
sformat("grep -v '^#' %1 | cut -d'=' -f2 | tr -d '\n'", file)))["stdout"]:"";
- if (size(name_from_bios)>0 && name_from_bios!=initiatorname){
- Popup::Warning( _("InitiatorName from iBFT and from
/etc/iscsi/initiatorname.iscsi are differ.\nOld initiatorname will be replaced
by value from iBFT and create a backup.\nIf you want to use different
initiatorname change it in BIOS.") );
- y2milestone("replacing old name %1 by name %2 from iBFT", initiatorname,
name_from_bios);
- SCR::Execute(.target.bash, sformat("mv %1
/etc/iscsi/initiatorname.yastbackup ;echo \"InitiatorName=%2\">%3", file,
name_from_bios, file));
- initiatorname = name_from_bios;
- }
-
- }
- return ret;
-}

// check if package open-iscsi is installed
boolean installed_packages(){
@@ -328,164 +90,7 @@
return ret;
}

-// delete deiscovered target from database
-global boolean deleteRecord(list<string> record){
- boolean ret = true;
- y2milestone("Delete record %1", record);
-
- map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2
--logout", record[1]:"", record[0]:""));
- if (size(retcode["stderr"]:"")>0) return false;
-
- readSessions();
- return ret;
-}
-
-// get (manual/automatic) status of target connecting
-global string getStartupStatus(list<string> record){
- string status = "";
- y2milestone("Getting status of record %1", record);
- map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2",
record[1]:"", record[0]:""));
- if (size(retcode["stderr"]:"")>0) return "";
- foreach(string row, splitstring(retcode["stdout"]:"", "\n"), {
- if (issubstring(row, "node.conn[0].startup")){
- status = (splitstring(row, " "))[2]:"";
- break;
- }
- });
- y2milestone("Startup status for %1 is %2", record, status);
- return status;
-}
-
-// update authentication value
-global boolean setValue(list<string> record, string name, string value){
- y2milestone("set %1 for record %2", name, record);
- string command = sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=%3
--value=%4", record[1]:"", record[0]:"", name, value);
- y2milestone("execute command - %1", command );
- boolean ret = true;
- map<string, any> retcode = (map<string, any>)
SCR::Execute(.target.bash_output, command);
- if (size(retcode["stderr"]:"")>0) {
- y2error("%1", retcode["stderr"]:"");
- ret = false;
- }
-y2milestone("return value %1", ret);
- return ret;
-}
-
-// check if given target is connected
-global boolean connected(list<string> rec, boolean check_ip){
-y2internal("check connected status for %1 with IP check:%2", rec, check_ip);
- boolean ret = false;
- foreach(string row, sessions, {
- list<string> list_row = splitstring(row, " ");
- if (list_row[1]:"" == rec[1]:"" && (check_ip ? splitstring(list_row[0]:"",
",")[0]:"" == splitstring(rec[0]:"", ",")[0]:"" : true)){
- ret = true;
- break;
- }
- });
- return ret;
-}
-
-// change startup status (manual/automatic) for target
-global boolean setStartupStatus(list<string> record, string status){
- y2milestone("Set startup status for %1 to %2", record, status);
- boolean ret = true;
- map<string, any> retcode = (map<string, any>)
SCR::Execute(.target.bash_output,
- sformat("iscsiadm -m node -T %1 -p %2 --op=update
--name=node.conn[0].startup --value=%3", record[1]:"", record[0]:"", status));
- if (size(retcode["stderr"]:"")>0) return false;
- return ret;
-}
-
-global boolean autoLogOn(){
-y2milestone("begin of autoLogOn function");
- map<string, any> b = getiBFT();
-y2milestone("data read from iBFT card %1", b);
- if ( b != $[] ){
-y2milestone("checking size of %1 and %2", b["iSCSI_TARGET_NAME"]:"",
b["iSCSI_TARGET_IPADDR"]:"");
- if (size(b["iSCSI_TARGET_NAME"]:"")>0 &&
size(b["iSCSI_TARGET_IPADDR"]:"")>0){
- list <string> curr_rec = [sformat("%1:%2", b["iSCSI_TARGET_IPADDR"]:"",
b["iSCSI_TARGET_PORT"]:"3260"), b["iSCSI_TARGET_NAME"]:""];
-y2milestone("variable curr_rec %1", curr_rec);
- if (connected( curr_rec , false) == false){
-y2milestone("in case not connected do discovery");
- // do discovery
- SCR::Execute(.target.bash, sformat("iscsiadm -m discovery -t st -p %1:%2",
b["iSCSI_TARGET_IPADDR"]:"", b["iSCSI_TARGET_PORT"]:"3260"));
-
- // do authentication if needed
- if (size(b["iSCSI_TARGET_CHAP_NAME"]:"")>0 &&
size(b["iSCSI_TARGET_CHAP_PASSWORD"]:"")>0){
-y2milestone("do authentication with %1 and %2",
b["iSCSI_TARGET_CHAP_NAME"]:"", b["iSCSI_TARGET_CHAP_PASSWORD"]:"");
- setValue(curr_rec, "node.session.auth.username",
b["iSCSI_TARGET_CHAP_NAME"]:"");
- setValue(curr_rec, "node.session.auth.password",
b["iSCSI_TARGET_CHAP_PASSWORD"]:"");
- setValue(curr_rec, "node.session.auth.authmethod", "CHAP");
- } else y2internal("No authentication used for autoLogOn");
-
- // log on into target
- SCR::Execute(.target.bash, sformat("iscsiadm -m node -T %1 -p %2:%3 --login
", b["iSCSI_TARGET_NAME"]:"", b["iSCSI_TARGET_IPADDR"]:"",
b["iSCSI_TARGET_PORT"]:"3260"));
-
- // set startup status to automatic
-y2milestone("set startup status to automatic");
- setStartupStatus(curr_rec, "automatic");
- } else y2error("Already connected, no autoLogOn needed");
- } else y2error("iSCSI_TARGET_NAME or iSCSI_TARGET_IPADDR are not available.
Couldn't do autoLogOn");
- }
- return true;
-}
-
-global boolean loginIntoTarget(map target){
- list<string> curr_rec = [target["portal"]:"", target["target"]:""];
- if (target["authmethod"]:"None"!="None"){
- string user_in = target["username_in"]:"";
- string pass_in = target["password_in"]:"";
- if (size(user_in)>0 && size(pass_in)>0){
- setValue(curr_rec, "node.session.auth.username_in", user_in);
- setValue(curr_rec, "node.session.auth.password_in", pass_in);
- } else{
- setValue(curr_rec, "node.session.auth.username_in", "");
- setValue(curr_rec, "node.session.auth.password_in", "");
- }
- string user_out = target["username"]:"";
- string pass_out = target["password"]:"";
- if (size(user_out)>0 && size(pass_out)>0){
- setValue(curr_rec, "node.session.auth.username", user_out);
- setValue(curr_rec, "node.session.auth.password", pass_out);
- setValue(curr_rec, "node.session.auth.authmethod", "CHAP");
- } else {
- setValue(curr_rec, "node.session.auth.username", "");
- setValue(curr_rec, "node.session.auth.password", "");
- setValue(curr_rec, "node.session.auth.authmethod", "");
- }
- } else setValue(curr_rec, "node.session.auth.authmethod", "None");
-
- map<string, any> output = (map<string, any>)SCR::Execute(.target.bash_output,
- sformat("iscsiadm -m node -T %1 -p %2 --login",
target["target"]:"", target["portal"]:""));
-y2internal("output %1", output);
- return output["exit"]:-1==0;
-}
-

-// get status of open-iscsi
-boolean getServiceStatus(){
- boolean ret = true;
- if (Service::Status("open-iscsi") == 0) serviceStatus=true;
- y2milestone("Service status = %1", serviceStatus);
- // if not enabled, start it manually
- if (!serviceStatus) Service::Start("open-iscsi");
- return ret;
-}
-
-// set startup status of open-iscsi
-boolean setServiceStatus(){
- boolean ret = true;
-// if disabled and no connected targets - stop it
-// otherwise keep it running
- if (!GetStartService()){
- readSessions();
- if (size(sessions)==0) {
- y2milestone("No active sessions - stopping service");
- Service::Stop("open-iscsi");
- }
- }
- y2milestone("Status service for open-iscsi: %1", ret);
- return ret;
-}

/**
* Dump the iscsi-client settings to a single map
@@ -494,14 +99,14 @@
*/
global map Export () {
list tgets = [];
- foreach(string sess, sessions, {
+ foreach(string sess, IscsiClientLib::sessions, {
string target = splitstring(sess, " ")[1]:"";
string portal = splitstring(sess, " ")[0]:"";
- map<string, any> auth = getNode([portal, target]);
+ map<string, any> auth = IscsiClientLib::getNode([portal, target]);
map new_target =
$["target": target,
"portal" : portal,
- "startup" : getStartupStatus([portal, target]),
+ "startup" : IscsiClientLib::getStartupStatus([portal, target]),
];
if (auth["authmethod"]:"None"=="None") new_target["authmethod"]="None";
else new_target = union(new_target, auth);
@@ -509,42 +114,12 @@
});
map result = $[
"version" : "1.0",
- "initiatorname" : initiatorname,
+ "initiatorname" : IscsiClientLib::initiatorname,
"targets" : tgets
];
configured = true;
modified = true;
return result;
-/*
-return $[
- "initiatorname":"iqn.1996-04.de.suse:01.fcf4845ec09d",
- "targets":[
- $[
- "authmethod":"None",
- "portal":"192.168.1.1:3260,1",
- "startup":"automatic",
-
"target":"iqn.2007-11.second.site:6a26185b-7665-4029-b19a-b70c95fc1dbc"
- ],
- $[
- "authmethod":"None",
- "portal":"192.168.1.1:3260,1",
- "startup":"manual",
-
"target":"iqn.2007-11.first.site:e8f7db22-dd31-4f11-91aa-39c7f8ec53cd"
- ],
- $[
- "authmethod":"CHAP",
- "password":"passthird",
- "password_in":"",
- "portal":"192.168.1.1:3260,1",
- "startup":"manual",
-
"target":"iqn.2007-11.third.site:b318ab05-d2e4-40bf-a2a4-386d6a927af9",
- "username":"userthird",
- "username_in":""
- ]
- ],
- "version":"1.0"
-];
-*/
}

/**
@@ -590,7 +165,7 @@
if(false) return false;
sleep(sl);

- if(getiBFT()==nil) return false;
+ if(IscsiClientLib::getiBFT()==nil) return false;
/* Progress finished */
Progress::NextStage();
sleep(sl);
@@ -600,22 +175,22 @@
if(!installed_packages()) return false;
// check initiatorname - create it if no exists
y2milestone("Check initiator name");
- if(!checkInitiatorName()) return false;
+ if(!IscsiClientLib::checkInitiatorName()) return false;
sleep(sl);

if(Abort()) return false;
// Progress::NextStep();
// read status of service
- if(!getServiceStatus()) return false;
+ if(!IscsiClientLib::getServiceStatus()) return false;
sleep(sl);

// read current settings
- if(!autoLogOn()) return false;
+ if(!IscsiClientLib::autoLogOn()) return false;
Progress::NextStage();


// read config file
- if(readSessions()==false)
+ if(IscsiClientLib::readSessions()==false)
{
Report::Error( Message::CannotReadCurrentSettings() );
return false;
@@ -627,12 +202,12 @@
return true;
}

+
/**
* Write all iscsi-client settings
* @return true on success
*/
global boolean Write() {
-
/* IscsiClient read dialog caption */
string caption = _("Saving iSCSI Initiator Configuration");

@@ -662,12 +237,15 @@

if(Abort()) return false;
Progress::NextStage();
- if(false) return false;
+ IscsiClientLib::autoyastPrepare();
+// if( return false;
sleep(sl);

if(Abort()) return false;
Progress::NextStage ();
- if(false) return false;
+// if(!
+ IscsiClientLib::autoyastWrite();
+//) return false;
sleep(sl);

if(Abort()) return false;
@@ -675,7 +253,7 @@
sleep(sl);

// set open-iscsi service status
- if(!setServiceStatus()) return false;
+ if(!IscsiClientLib::setServiceStatus()) return false;
return true;
}

@@ -686,17 +264,8 @@
* @return boolean True on success
*/
global boolean Import (map settings) {
- initiatorname = settings["initiatorname"]:"";
- if (size(initiatorname)>0){
- string file="/etc/iscsi/initiatorname.iscsi";
- SCR::Write (.target.string, file, sformat("InitiatorName=%1",
initiatorname));
- SCR::Execute (.target.bash, "chmod 0600 $FILE" ,$["FILE":file]);
- }
- foreach(map target, settings["targets"]:[], {
- loginIntoTarget(target);
- setStartupStatus([target["portal"]:"", target["target"]:""],
target["startup"]:"manual");
- });
- return true;
+ IscsiClientLib::ay_settings = settings;
+ return true;
}



Modified: trunk/iscsi-client/src/Makefile.am
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/Makefile.am?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/Makefile.am (original)
+++ trunk/iscsi-client/src/Makefile.am Tue Nov 20 16:09:31 2007
@@ -20,7 +20,8 @@
iscsi-client.desktop

module_DATA = \
- IscsiClient.ycp
+ IscsiClient.ycp \
+ IscsiClientLib.ycp

EXTRA_DIST = $(client_DATA) $(ynclude_DATA) $(module_DATA) $(desktop_DATA)


Modified: trunk/iscsi-client/src/complex.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/complex.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/complex.ycp (original)
+++ trunk/iscsi-client/src/complex.ycp Tue Nov 20 16:09:31 2007
@@ -16,6 +16,7 @@
import "Wizard";
import "Wizard_hw";
import "IscsiClient";
+import "IscsiClientLib";

include "iscsi-client/helps.ycp";


Modified: trunk/iscsi-client/src/dialogs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/dialogs.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/dialogs.ycp (original)
+++ trunk/iscsi-client/src/dialogs.ycp Tue Nov 20 16:09:31 2007
@@ -27,8 +27,8 @@

map<string, map <string, any> > widgets = $[
"auto_start_up" : CWMServiceStart::CreateAutoStartWidget ($[
- "get_service_auto_start" : IscsiClient::GetStartService,
- "set_service_auto_start" : IscsiClient::SetStartService,
+ "get_service_auto_start" : IscsiClientLib::GetStartService,
+ "set_service_auto_start" : IscsiClientLib::SetStartService,
// radio button (starting SLP service - option 1)
"start_auto_button" : _("When &Booting"),
// radio button (starting SLP service - option 2)
@@ -281,7 +281,7 @@

list tab_order = ["general", "client"];
if (!Stage::initial()) tab_order = add(tab_order, "discovered");
- if (size(IscsiClient::getiBFT())>0) tab_order = add(tab_order, "ibft");
+ if (size(IscsiClientLib::getiBFT())>0) tab_order = add(tab_order, "ibft");

map widget_descr = $[
"tab": CWMTab::CreateWidget($[

Modified: trunk/iscsi-client/src/inst_iscsi-client.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/inst_iscsi-client.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/inst_iscsi-client.ycp (original)
+++ trunk/iscsi-client/src/inst_iscsi-client.ycp Tue Nov 20 16:09:31 2007
@@ -37,14 +37,14 @@
SCR::Execute(.target.bash, "mkdir -p /etc/iscsi; touch
/etc/iscsi/initiatorname.iscsi; ln -s /etc/iscsi/initiatorname.iscsi
/etc/initiatorname.iscsi");
// check initiator name, create if not exists
//WFM::Execute (.local.bash,"test -d /etc/iscsi/ && /bin/cp -a /etc/iscsi/* "
+ String::Quote(Installation::destdir) + "/etc/iscsi/");
-IscsiClient::checkInitiatorName();
+IscsiClientLib::checkInitiatorName();


ModuleLoading::Load("iscsi_tcp", "", "", "", false, true);
// start daemon before
SCR::Execute(.background.run_output_err, "iscsid");

-if (size(IscsiClient::getiBFT())>0) IscsiClient::autoLogOn();
+if (size(IscsiClientLib::getiBFT())>0) IscsiClientLib::autoLogOn();
// run dialog
ret = MainSequence();
y2debug("MainSequence ret=%1", ret);

Modified: trunk/iscsi-client/src/iscsi-client_auto.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/iscsi-client_auto.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/iscsi-client_auto.ycp (original)
+++ trunk/iscsi-client/src/iscsi-client_auto.ycp Tue Nov 20 16:09:31 2007
@@ -27,6 +27,7 @@
y2milestone("IscsiClient auto started");

import "IscsiClient";
+import "ModuleLoading";
include "iscsi-client/wizards.ycp";

any ret = nil;
@@ -86,6 +87,7 @@
import "Progress";
boolean progress_orig = Progress::set (false);
IscsiClient::write_only = true;
+ ModuleLoading::Load("iscsi_tcp", "", "", "", false, true);
ret = IscsiClient::Write();
Progress::set (progress_orig);
}

Modified: trunk/iscsi-client/src/widgets.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/widgets.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/src/widgets.ycp (original)
+++ trunk/iscsi-client/src/widgets.ycp Tue Nov 20 16:09:31 2007
@@ -91,13 +91,13 @@

// init table of connected sessions
void initConnectedTable(string key){
- if (IscsiClient::readSessions()== false) Popup::Error(_("Error While
Connecting iscsid"));
+ if (IscsiClientLib::readSessions()== false) Popup::Error(_("Error While
Connecting iscsid"));
integer row_current = (integer) UI::QueryWidget(`connected, `CurrentItem);
list <term> items = [];
integer row = 0;
- foreach(string s, IscsiClient::sessions, {
+ foreach(string s, IscsiClientLib::sessions, {
list<string> row_in_string = splitstring(s, " ");
- items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"", IscsiClient::getStartupStatus(row_in_string)));
+ items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"", IscsiClientLib::getStartupStatus(row_in_string)));
row = row + 1;
});
UI::ChangeWidget (`id (`connected), `Items, items);
@@ -111,7 +111,7 @@
any sel_item = UI::QueryWidget(`id(`connected), `CurrentItem);
if (sel_item != nil){
integer current = tointeger(sel_item);
- record = splitstring(IscsiClient::sessions[current]:"", " " );
+ record = splitstring(IscsiClientLib::sessions[current]:"", " " );
// record = deletechars(record, "[]");
}
return record;
@@ -132,7 +132,7 @@
record = getRecord();
if (size( record )>0){
if (Popup::ContinueCancel(_("Really log out from the selected
target?")))
- if ( !(IscsiClient::deleteRecord( record )) )
Popup::Error(_("Error occurred while logging out from the selected target."));
+ if ( !(IscsiClientLib::deleteRecord( record )) )
Popup::Error(_("Error occurred while logging out from the selected target."));
else {
y2milestone("Delete record %1", record);
initConnectedTable("");
@@ -144,15 +144,15 @@
record = getRecord();
if (size( record )>0){
y2milestone("toggle record %1", record);
- string startup = IscsiClient::getStartupStatus(record);
+ string startup = IscsiClientLib::getStartupStatus(record);
if (size(startup)>0){
if (startup == "manual"){
y2milestone("Change status for %1 to %2",
record, "automatic");
- IscsiClient::setStartupStatus(record,
"automatic");
+ IscsiClientLib::setStartupStatus(record,
"automatic");
}
else {
y2milestone("Change status for %1 to %2",
record, "manual");
- IscsiClient::setStartupStatus(record, "manual");
+ IscsiClientLib::setStartupStatus(record,
"manual");
}
initConnectedTable("");
}
@@ -174,7 +174,7 @@
}

void initISNS(string key){
- foreach(map<string, any> row, IscsiClient::getConfig(), {
+ foreach(map<string, any> row, IscsiClientLib::getConfig(), {
if (row["name"]:""=="isns.address") UI::ChangeWidget(`isns_address, `Value,
row["value"]:"");
if (row["name"]:""=="isns.port") UI::ChangeWidget(`isns_port, `Value,
row["value"]:"");
});
@@ -206,7 +206,7 @@
boolean found_port = false;
list tmp_config=[];

- foreach(map<string, any> row, IscsiClient::getConfig(), {
+ foreach(map<string, any> row, IscsiClientLib::getConfig(), {
if (row["name"]:""=="isns.address") {
row["value"]=address;
found_addr = true;
@@ -223,17 +223,17 @@
if (!found_port) tmp_config = add(tmp_config, $["name":"isns.port",
"value":port, "kind":"value", "type":1, "comment":""]);
}

- IscsiClient::setConfig(tmp_config);
- IscsiClient::oldConfig();
+ IscsiClientLib::setConfig(tmp_config);
+ IscsiClientLib::oldConfig();
return nil;
}



void initInitName(string key){
- y2milestone("initiatorname %1", IscsiClient::initiatorname);
- UI::ChangeWidget(`initiator_name, `Value, IscsiClient::initiatorname);
- if (size(IscsiClient::getiBFT()["iSCSI_INITIATOR_NAME"]:"")>0){
+ y2milestone("initiatorname %1", IscsiClientLib::initiatorname);
+ UI::ChangeWidget(`initiator_name, `Value, IscsiClientLib::initiatorname);
+ if (size(IscsiClientLib::getiBFT()["iSCSI_INITIATOR_NAME"]:"")>0){
UI::ChangeWidget(`initiator_name, `Enabled, false);
UI::ChangeWidget(`write, `Enabled, false);
}
@@ -274,24 +274,22 @@


symbol storeInitName (string key, map event){
- if ((string)UI::QueryWidget(`initiator_name, `Value) !=
IscsiClient::initiatorname){
+ if ((string)UI::QueryWidget(`initiator_name, `Value) !=
IscsiClientLib::initiatorname){
// write initiatorname
- IscsiClient::initiatorname = (string)UI::QueryWidget(`initiator_name,
`Value);
- SCR::Execute(.target.bash, sformat("echo
\"InitiatorName=%1\">/etc/iscsi/initiatorname.iscsi",
- IscsiClient::initiatorname));
+
IscsiClientLib::writeInitiatorName((string)UI::QueryWidget(`initiator_name,
`Value));
if (Stage::initial()){
SCR::Execute(.target.bash, "killproc /sbin/iscsid");
SCR::Execute(.background.run_output_err, "iscsid");
}
else SCR::Execute(.target.bash, "rcopen-iscsi restart");
- y2milestone("write initiatorname %1", IscsiClient::initiatorname);
+ y2milestone("write initiatorname %1", IscsiClientLib::initiatorname);
}
return nil;
}
// ***************** iBFT table **************************
void initiBFT(string key){
list<term> items = [];
- foreach(string key, any value, IscsiClient::getiBFT(), {
+ foreach(string key, any value, IscsiClientLib::getiBFT(), {
items = add(items, `item(`id(size(items)), key, value));
});
UI::ChangeWidget(`bios, `Items, items);
@@ -324,7 +322,7 @@
void initConnAuth(string key){
setAuthIn(false);
setAuthOut(false);
- map<string, any> auth = IscsiClient::getNode(curr_rec);
+ map<string, any> auth = IscsiClientLib::getNode(curr_rec);
if (size(auth)>0)
{
UI::ChangeWidget(`id(`user_in),`Value, auth["username_in"]:"" );
@@ -364,8 +362,8 @@
// *******************Server Location ***********************

void initServerLocation(string key){
-y2internal("is iSNS %1", IscsiClient::useISNS());
- if (IscsiClient::useISNS()){
+y2internal("is iSNS %1", IscsiClientLib::useISNS());
+ if (IscsiClientLib::useISNS()){
UI::ChangeWidget(`hostname, `Enabled, false);
UI::ChangeWidget(`port, `Enabled, false);
}
@@ -377,7 +375,7 @@
string ip = tostring(UI::QueryWidget(`hostname, `Value));
string port = tostring(UI::QueryWidget(`port, `Value));
// validate IP address
-if (!IscsiClient::useISNS())
+if (!IscsiClientLib::useISNS())
{
if (!IP::Check4(ip)) {
map<string, any> output = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("host -4 %1|tr -d '\n'", ip));
@@ -400,7 +398,7 @@
}
}
// store old config
- IscsiClient::getConfig();
+ IscsiClientLib::getConfig();

boolean auth_none = (boolean) UI::QueryWidget(`id(`auth_none), `Value);
boolean auth_in = (boolean) UI::QueryWidget(`id(`auth_in), `Value);
@@ -426,20 +424,20 @@
}

// write authentication data
- IscsiClient::saveConfig(user_in, pass_in, user_out, pass_out);
+ IscsiClientLib::saveConfig(user_in, pass_in, user_out, pass_out);

bg_finish=false;
// ` with authentication
- string command = IscsiClient::useISNS()? "iscsiadm -m discovery -t isns" :
sformat("iscsiadm -m discovery -t st -p %1:%2", ip, port);
+ string command = IscsiClientLib::useISNS()? "iscsiadm -m discovery -t isns" :
sformat("iscsiadm -m discovery -t st -p %1:%2", ip, port);
list<string>trg_list = runInBg( command );
- IscsiClient::targets = [];
+ IscsiClientLib::targets = [];
foreach(string row, trg_list, {
list<string> tmp_list=splitstring(row, " ");
- if (issubstring(tmp_list[0]:"", sformat("%1:%2",ip,port)))
IscsiClient::targets=add(IscsiClient::targets, sformat("%1 %2", tmp_list[0]:"",
tmp_list[1]:""));
+ if (issubstring(tmp_list[0]:"", sformat("%1:%2",ip,port)))
IscsiClientLib::targets=add(IscsiClientLib::targets, sformat("%1 %2",
tmp_list[0]:"", tmp_list[1]:""));
});
while(!bg_finish){};
// restore old config
- IscsiClient::oldConfig();
+ IscsiClientLib::oldConfig();

return stat;
}
@@ -451,9 +449,9 @@
boolean setDiscoveredButtons(){
list <string> params = [];
any selected = UI::QueryWidget(`discovered, `CurrentItem);
- if (selected != nil) { params = splitstring(
IscsiClient::discovered[tointeger(selected)]:"", " " ); }
+ if (selected != nil) { params = splitstring(
IscsiClientLib::discovered[tointeger(selected)]:"", " " ); }
else { params = []; }
- if ((params==[])||(IscsiClient::connected( [ splitstring(params[0]:"",
",")[0]:"", params[1]:""], true ))){
+ if ((params==[])||(IscsiClientLib::connected( [ splitstring(params[0]:"",
",")[0]:"", params[1]:""], true ))){
UI::ChangeWidget (`id (`connect), `Enabled, false);
UI::ChangeWidget (`id (`delete), `Enabled, false);
} else{
@@ -466,11 +464,11 @@
void initDiscoveredTable(string key){
list <term> items = [];
integer row = 0;
- foreach(string s, IscsiClient::getDiscovered(), {
+ foreach(string s, IscsiClientLib::getDiscovered(), {
list<string> row_in_string = splitstring(s, " ");
// string record = deletechars(row_in_string[0]:"", "[]");
items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"",
- (IscsiClient::connected( row_in_string, true
))?_("True"):_("False") ));
+ (IscsiClientLib::connected( row_in_string, true
))?_("True"):_("False") ));
row = row + 1;
});

@@ -483,7 +481,7 @@
symbol handleDiscoveredTable (string key, map event){
list <string> params = [];
any selected = UI::QueryWidget(`discovered, `CurrentItem);
- if (selected != nil) { params = splitstring(
IscsiClient::discovered[tointeger(selected)]:"", " " ); }
+ if (selected != nil) { params = splitstring(
IscsiClientLib::discovered[tointeger(selected)]:"", " " ); }
else { params = []; }
curr_rec = [ splitstring(params[0]:"", ",")[0]:"", params[1]:"" ] ;
params = curr_rec;
@@ -491,7 +489,7 @@
// connect new target
if ( event["ID"]:nil == `connect) {
// check if not already connected
- if ( IscsiClient::connected( curr_rec , false) == true){
+ if ( IscsiClientLib::connected( curr_rec , false) == true){
if (!Popup::AnyQuestion(Label::WarningMsg(), _("The target with this
TargetName is already connected. Make sure that Multipathing is enabled to
prevent data corruption."), _("Continue"), _("Cancel"), `focus_yes)) return nil;
}

@@ -504,11 +502,11 @@
}
// delete connected item
if ( event["ID"]:nil == `delete) {
- if ((params == [])||(!IscsiClient::connected( curr_rec, true ))){
+ if ((params == [])||(!IscsiClientLib::connected( curr_rec, true ))){
SCR::Execute (.target.bash_output,sformat("iscsiadm -m node -T %1 -p
%2 --op=delete", params[1]:"", params[0]:""), $[] );
- IscsiClient::readSessions();
+ IscsiClientLib::readSessions();
initDiscoveredTable("");
- if (selected != nil) { params = splitstring(
IscsiClient::discovered[tointeger(selected)]:"", " " ); }
+ if (selected != nil) { params = splitstring(
IscsiClientLib::discovered[tointeger(selected)]:"", " " ); }
else { params = []; }
}
}
@@ -523,10 +521,10 @@
void initTargetTable(string key){
list <term> items = [];
integer row = 0;
- foreach(string s, IscsiClient::targets, {
+ foreach(string s, IscsiClientLib::targets, {
list<string> row_in_string = splitstring(s, " ");
items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"",
- (IscsiClient::connected( row_in_string, true
))?_("True"):_("False") ));
+ (IscsiClientLib::connected( row_in_string, true
))?_("True"):_("False") ));
row = row + 1;
});
UI::ChangeWidget (`id (`targets), `Items, items);
@@ -544,13 +542,13 @@
if ( event["EventReason"]:"" == "Activated" ){
if ( event["ID"]:nil == `connect) {
// check if is not already connected
- list <string> params = splitstring(
IscsiClient::targets[(integer)UI::QueryWidget(`targets, `CurrentItem)]:"", " "
);
- if ( IscsiClient::connected( params, true ) == true){
+ list <string> params = splitstring(
IscsiClientLib::targets[(integer)UI::QueryWidget(`targets, `CurrentItem)]:"", "
" );
+ if ( IscsiClientLib::connected( params, true ) == true){
Popup::Error(_("The target is already connected."));
} else {
curr_rec = [ splitstring(params[0]:"", ",")[0]:"", params[1]:"" ];
// check if not already connected
- if ( IscsiClient::connected( curr_rec , false) == true){
+ if ( IscsiClientLib::connected( curr_rec , false) == true){
if (!Popup::AnyQuestion(Label::WarningMsg(), _("The target with this
TargetName is already connected. Make sure that Multipathing is enabled to
prevent data corruption."), _("Continue"), _("Cancel"), `focus_yes)) return nil;
}

@@ -591,8 +589,8 @@
"username_in" : user_in,
"password_in" : pass_in
];
- if (checkAuthEntry() && IscsiClient::loginIntoTarget(target)) {
- IscsiClient::readSessions();
+ if (checkAuthEntry() && IscsiClientLib::loginIntoTarget(target)) {
+ IscsiClientLib::readSessions();
return true;
}
else return false;

Modified: trunk/iscsi-client/testsuite/tests/GetSetServiceStatus.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/testsuite/tests/GetSetServiceStatus.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/testsuite/tests/GetSetServiceStatus.ycp (original)
+++ trunk/iscsi-client/testsuite/tests/GetSetServiceStatus.ycp Tue Nov 20
16:09:31 2007
@@ -15,10 +15,10 @@
];
TESTSUITE_INIT ([READ, $[], $[]], nil);

- import "IscsiClient";
+ import "IscsiClientLib";


- TEST( ``{ return IscsiClient::GetStartService();}, [ READ, $[], $[] ],
nil );
- TEST( ``{ return IscsiClient::SetStartService(true);}, [ READ, $[],
$[] ], nil );
+ TEST( ``{ return IscsiClientLib::GetStartService();}, [ READ, $[], $[]
], nil );
+ TEST( ``{ return IscsiClientLib::SetStartService(true);}, [ READ, $[],
$[] ], nil );
}


Modified: trunk/iscsi-client/testsuite/tests/SaveConfig.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/testsuite/tests/SaveConfig.ycp?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/testsuite/tests/SaveConfig.ycp (original)
+++ trunk/iscsi-client/testsuite/tests/SaveConfig.ycp Tue Nov 20 16:09:31 2007
@@ -13,10 +13,10 @@
];
TESTSUITE_INIT ([READ, $[], $[]], nil);

- import "IscsiClient";
+ import "IscsiClientLib";

- TEST( ``{ return IscsiClient::getConfig();}, [ READ, $[], $[] ], nil );
- TEST( ``{ return IscsiClient::saveConfig("incuser", "incpass",
"outuser", "outpass");}, [ READ, $[], $[] ], nil );
- TEST( ``{ return IscsiClient::oldConfig();}, [ READ, $[], $[] ], nil );
+ TEST( ``{ return IscsiClientLib::getConfig();}, [ READ, $[], $[] ],
nil );
+ TEST( ``{ return IscsiClientLib::saveConfig("incuser", "incpass",
"outuser", "outpass");}, [ READ, $[], $[] ], nil );
+ TEST( ``{ return IscsiClientLib::oldConfig();}, [ READ, $[], $[] ],
nil );
}


Modified: trunk/iscsi-client/yast2-iscsi-client.spec.in
URL:
http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/yast2-iscsi-client.spec.in?rev=42224&r1=42223&r2=42224&view=diff
==============================================================================
--- trunk/iscsi-client/yast2-iscsi-client.spec.in (original)
+++ trunk/iscsi-client/yast2-iscsi-client.spec.in Tue Nov 20 16:09:31 2007
@@ -28,6 +28,7 @@
@clientdir@/iscsi-client_*.ycp
@clientdir@/inst_iscsi-client.ycp
@moduledir@/IscsiClient.*
+@moduledir@/IscsiClientLib.*
@desktopdir@/iscsi-client.desktop
@scrconfdir@/iscsid.scr
%doc @docdir@

--
To unsubscribe, e-mail: yast-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: yast-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages