Kaspar Schiess avatar Kaspar Schiess committed 66f0d49

Handles existing lu view

Comments (0)

Files changed (1)

       
       output = runner.shell %Q(stmfadm list-lu -v)
       lus = parser.parse(output)
-      p lus
       
       lus.each do |lu_attrs| 
         if lu_attrs[:data_file] == path
     rescue Runner::CommandFailed => failure
       case failure.stderr
         when /stmfadm: #{Regexp.escape(iqn)}: already exists/
+          warn "IQN #{iqn} is already member of target group #{group}."
+      else
+        fail "Could not create target group member: #{failure.stderr}"
+      end
+    end
+    def add_view group, luid
+      runner = Runner.new
+      runner.shell %Q(stmfadm add-view -t #{group} #{luid})
+    rescue Runner::CommandFailed => failure
+      case failure.stderr
+        when /stmfadm: view entry exists/
+          warn "LU view exists for #{path}."
       else
         fail "Could not create target group member: #{failure.stderr}"
       end
       
       device_list.each do |path| 
         luid = lu_for_path(path)
-        runner.shell %Q(stmfadm add-view -t #{group} #{luid})
+        add_view group, luid
       end
       
       add_tg_member group, iqn
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.