From bb89e2756ddfc88e5312997a789615241fd3920f Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sun, 28 Sep 2014 16:32:35 -0700 Subject: [PATCH] Support for debian / ubuntu --- iscsi-tgtd/atboot.cgi | 1 + iscsi-tgtd/config | 1 + iscsi-tgtd/config-debian-linux | 5 +++++ iscsi-tgtd/config.info | 2 ++ iscsi-tgtd/iscsi-tgtd-lib.pl | 25 ++++++++++++++++++++++--- 5 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 iscsi-tgtd/config-debian-linux diff --git a/iscsi-tgtd/atboot.cgi b/iscsi-tgtd/atboot.cgi index 412ef978c..5df751eb1 100755 --- a/iscsi-tgtd/atboot.cgi +++ b/iscsi-tgtd/atboot.cgi @@ -9,6 +9,7 @@ our (%text, %config, %in); &ReadParse(); &error_setup($text{'atboot_err'}); +&setup_tgtd_init(); my $old = &init::action_status($config{'init_name'}); if ($old != 2 && $in{'boot'}) { # Enable at boot diff --git a/iscsi-tgtd/config b/iscsi-tgtd/config index ad12ac110..c1f9f21bf 100644 --- a/iscsi-tgtd/config +++ b/iscsi-tgtd/config @@ -1,3 +1,4 @@ config_file=/etc/tgt/tgtd.conf +tgtd=tgtd tgtadm=tgtadm init_name=tgtd diff --git a/iscsi-tgtd/config-debian-linux b/iscsi-tgtd/config-debian-linux new file mode 100644 index 000000000..f1de065ea --- /dev/null +++ b/iscsi-tgtd/config-debian-linux @@ -0,0 +1,5 @@ +config_file=/etc/tgt/targets.conf +tgtd=tgtd +tgtadm=tgtadm +tgtadmin=tgt-admin +init_name=tgtd diff --git a/iscsi-tgtd/config.info b/iscsi-tgtd/config.info index b0f2b371f..d9b3f035a 100644 --- a/iscsi-tgtd/config.info +++ b/iscsi-tgtd/config.info @@ -1,4 +1,6 @@ config_file=iSCSI TGTD configuration file,0 add_file=Add new targets to,3,Primary configuration file +tgtd=Full path to tgtd command,0 tgtadm=Full path to tgtadm command,0 +tgtadmin=Full path to tgt-admin command,0 init_name=Bootup script name,0 diff --git a/iscsi-tgtd/iscsi-tgtd-lib.pl b/iscsi-tgtd/iscsi-tgtd-lib.pl index fabaec561..b9fbab2ba 100644 --- a/iscsi-tgtd/iscsi-tgtd-lib.pl +++ b/iscsi-tgtd/iscsi-tgtd-lib.pl @@ -23,9 +23,9 @@ return &text('check_econfig', "$config{'config_file'}") if (!-r $config{'config_file'}); return &text('check_etgtadm', "$config{'tgtadm'}") if (!&has_command($config{'tgtadm'})); -&foreign_require("init"); -return &text('check_einit', "$config{'init_name'}") - if (&init::action_status($config{'init_name'}) == 0); +#&foreign_require("init"); +#return &text('check_einit', "$config{'init_name'}") +# if (&init::action_status($config{'init_name'}) == 0); return undef; } @@ -313,10 +313,28 @@ my $pid = &find_byname("tgtd"); return $pid; } +# setup_tgtd_init() +# If no init script exists, create one +sub setup_tgtd_init +{ +&foreign_require("init"); +return 0 if (&init::action_status($config{'init_name'})); +&init::enable_at_boot($config{'init_name'}, + "Start TGTd iSCSI server", + &has_command($config{'tgtd'}). + " && sleep 2 && ". + &has_command($config{'tgtadmin'})." -e", + "killall -9 tgtd", + undef, + { 'fork' => 1 }, + ); +} + # start_iscsi_tgtd() # Run the init script to start the server sub start_iscsi_tgtd { +&setup_tgtd_init(); &foreign_require("init"); my ($ok, $out) = &init::start_action($config{'init_name'}); return $ok ? undef : $out; @@ -326,6 +344,7 @@ return $ok ? undef : $out; # Run the init script to stop the server sub stop_iscsi_tgtd { +&setup_tgtd_init(); &foreign_require("init"); my ($ok, $out) = &init::stop_action($config{'init_name'}); return $ok ? undef : $out;