Hello community,
here is the log from the commit of package yast2-iscsi-lio-server for
openSUSE:Factory checked in at 2017-03-24 02:09:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-iscsi-lio-server (Old)
and /work/SRC/openSUSE:Factory/.yast2-iscsi-lio-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-iscsi-lio-server"
Fri Mar 24 02:09:16 2017 rev:19 rq:461283 version:3.2.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/yast2-iscsi-lio-server/yast2-iscsi-lio-server.changes
2016-07-15 12:54:22.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-iscsi-lio-server.new/yast2-iscsi-lio-server.changes
2017-03-24 02:09:19.204780725 +0100
@@ -1,0 +2,8 @@
+Wed Feb 22 09:55:05 UTC 2017 - [email protected]
+
+- fate#318832, redesign authentication UI
+- changed online help
+- a bug fix for discovery session without authentication.
+-3.2.0
+
+-------------------------------------------------------------------
Old:
----
yast2-iscsi-lio-server-3.1.19.tar.bz2
New:
----
yast2-iscsi-lio-server-3.2.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-iscsi-lio-server.spec ++++++
--- /var/tmp/diff_new_pack.9JeDlU/_old 2017-03-24 02:09:19.680713350 +0100
+++ /var/tmp/diff_new_pack.9JeDlU/_new 2017-03-24 02:09:19.684712784 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yast2-iscsi-lio-server
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: yast2-iscsi-lio-server
-Version: 3.1.19
+Version: 3.2.0
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-iscsi-lio-server-3.1.19.tar.bz2 ->
yast2-iscsi-lio-server-3.2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-iscsi-lio-server-3.1.19/.travis.yml
new/yast2-iscsi-lio-server-3.2.0/.travis.yml
--- old/yast2-iscsi-lio-server-3.1.19/.travis.yml 2016-07-14
10:51:35.065830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/.travis.yml 2017-02-28
11:35:51.158707588 +0100
@@ -1,16 +1,11 @@
-language: cpp
-compiler:
- - gcc
+sudo: required
+language: bash
+services:
+ - docker
+
before_install:
- # disable rvm, use system Ruby
- - rvm reset
- - wget
https://raw.githubusercontent.com/yast/yast-devtools/master/travis-tools/travis_setup.sh
- - sh ./travis_setup.sh -p "rake yast2-devtools yast2-testsuite yast2" -g
"rspec:3.3.0 yast-rake gettext"
+ - docker build -t yast-iscsi-lio-server-image .
script:
- - rake check:syntax
- - rake check:pot
- - make -f Makefile.cvs
- - make
- - sudo make install
- - make check
-
+ # the "yast-travis-ruby" script is included in the base yastdevel/ruby image
+ # see https://github.com/yast/docker-yast-ruby/blob/master/yast-travis-ruby
+ - docker run -it -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID"
yast-iscsi-lio-server-image yast-travis-ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-iscsi-lio-server-3.1.19/CONTRIBUTING.md
new/yast2-iscsi-lio-server-3.2.0/CONTRIBUTING.md
--- old/yast2-iscsi-lio-server-3.1.19/CONTRIBUTING.md 2016-07-14
10:51:35.069830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/CONTRIBUTING.md 2017-02-28
11:35:51.166707588 +0100
@@ -3,7 +3,7 @@
YaST is an open source project and as such it welcomes all kinds of
contributions. If you decide to contribute, please follow these guidelines to
-ensure the process is effective and pleasant both for you and YaST maintainers.
+ensure the process is effective and pleasant both for you and the YaST
maintainers.
There are two main forms of contribution: reporting bugs and performing code
changes.
@@ -17,13 +17,11 @@
registration](https://secure-www.novell.com/selfreg/jsp/createSimpleAccount.jsp)
if you don't have an account yet.)
-If you find a problem, please report it either using
-[Bugzilla](https://bugzilla.suse.com/) or GitHub issues. We can't guarantee
-that every bug will be fixed, but we'll try.
-
When creating a bug report, please follow our [bug reporting
guidelines](http://en.opensuse.org/openSUSE:Report_a_YaST_bug).
+We can't guarantee that every bug will be fixed, but we'll try.
+
Code Changes
------------
@@ -44,15 +42,22 @@
to the [Ruby style
guide](https://github.com/SUSE/style-guides/blob/master/Ruby.md).
- 4. Make sure your change didn't break anything by building the RPM package
+ 4. Update the package version (in `packages/*.spec`, usually by
+ `rake version:bump`) and add a new entry to the `package/*.changes` file
+ (by `osc vc package`).
+ For bigger changes or changes which need longer discussion it is advised
to
+ add this as a separate last commit so it can be easily updated when
another
+ change is merged in the meantime.
+
+ 5. Make sure your change didn't break anything by building the RPM package
(`rake osc:build`). The build process includes running the full testsuite.
- 5. Publish the branch and create a pull request.
+ 6. Publish the branch and create a pull request.
- 6. YaST developers will review your change and possibly point out issues.
+ 7. YaST developers will review your change and possibly point out issues.
Adapt the code under their guidance until they are all resolved.
- 7. Finally, the pull request will get merged or rejected.
+ 8. Finally, the pull request will get merged or rejected.
See also [GitHub's guide on
contributing](https://help.github.com/articles/fork-a-repo).
@@ -60,9 +65,6 @@
If you want to do multiple unrelated changes, use separate branches and pull
requests.
-Do not change the `VERSION` and `*.changes` files as this could lead to
-conflicts.
-
### Commits
Each commit in the pull request should do only one thing, which is clearly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-iscsi-lio-server-3.1.19/Dockerfile
new/yast2-iscsi-lio-server-3.2.0/Dockerfile
--- old/yast2-iscsi-lio-server-3.1.19/Dockerfile 1970-01-01
01:00:00.000000000 +0100
+++ new/yast2-iscsi-lio-server-3.2.0/Dockerfile 2017-02-28 11:35:51.178707588
+0100
@@ -0,0 +1,3 @@
+FROM yastdevel/ruby
+COPY . /usr/src/app
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/doc/ibft-for-beginners.md
new/yast2-iscsi-lio-server-3.2.0/doc/ibft-for-beginners.md
--- old/yast2-iscsi-lio-server-3.1.19/doc/ibft-for-beginners.md 1970-01-01
01:00:00.000000000 +0100
+++ new/yast2-iscsi-lio-server-3.2.0/doc/ibft-for-beginners.md 2017-02-28
11:35:51.218707588 +0100
@@ -0,0 +1,140 @@
+# Testing iBFT setups with qemu
+
+iBFT stands for iSCSI Boot Firmware Table;
+if you are curious check out the
+[iBFT
Spec](ftp://ftp.software.ibm.com/systems/support/bladecenter/iscsi_boot_firmware_table_v1.03.pdf).
+
+You need to be able to set up an iSCSI target ('server').
+See [iscsi-for-beginners](iscsi-for-beginners.md) for how to do this.
+
+Also, you will need the [iPXE](http://ipxe.org) sources. Get them and build
iPXE:
+
+```sh
+git clone git://git.ipxe.org/ipxe.git
+cd ipxe/src
+make
+```
+
+iPXE is a firmware that can do lots of cool stuff. We are only interested in
the iSCSI part here.
+
+It comes with some integrated help function which will refer you to
+[ipxe.org/cmd](http://ipxe.org/cmd) for details, so you might want to go there
directly.
+
+## Connect iPXE with qemu
+
+The `make` command above builds various firmware images. We'll rebuild one of
them
+later but for first experiments, pick the one for your qemu network device and
copy to `/usr/share/qemu`:
+
+```sh
+cp bin/rtl8139.rom /usr/share/qemu/ipxe-rtl8139.rom
+```
+
+Or, if you prefer to work with virtio
+
+```sh
+cp bin/1af41000.rom /usr/share/qemu/ipxe-virtio.rom
+```
+
+When you run qemu, tell it to pick up the these alternative firmware files
using the `romfile` option:
+
+```sh
+qemu ... -device rtl8139,romfile=ipxe-rtl8139.rom ...
+# or
+qemu ... -device virtio-net-pci,romfile=ipxe-virtio.rom ...
+```
+
+This new firmware prompts you to press Ctrl-B to enter setup.
+
+Do so.
+
+## Network and basic iSCSI setup
+
+Configure your network:
+
+```sh
+dhcp
+# or static
+set net0/ip 192.168.0.2
+set net0/netmask 255.255.255.0
+set net0/gateway 192.168.0.1
+```
+
+You can print your current network config:
+
+```sh
+show net0/ip
+route
+```
+
+Print your iSCSI initiator name:
+
+```sh
+show initiator-iqn
+```
+
+The default will look something like `iqn.2010-04.org.ipxe:<HOSTNAME>`.
+
+Use the `targetcli` command on your iSCSI target to allow access to this
initiator (create an `acl`).
+
+To stay sane during testing it's probably a good idea to set the initiator
name to some fixed value.
+This way you don't have to worry about adjusting the target setup; e.g.:
+
+```sh
+set initiator-iqn iqn.2010-04.org.ipxe:foobar
+```
+
+Now connect to your target machine using the `sanhook` command.
+Syntax of the URI is basically `iscsi:<IP>::::<TARGET_IQN>`, for more details
look at
+[ipxe.org/sanuri](http://ipxe.org/sanuri).
+
+
+```sh
+sanhook
iscsi:10.42.0.11::::iqn.2003-01.org.linux-iscsi.f43.x8664:sn.f1eec5c8304a
+```
+
+If that fails, check your iSCSI target logs.
+
+Now you can exit the iPXE shell and continue the usual boot process. The
firmware
+will provide an iBFT record with the current iSCSI setup.
+
+## Automate iSCSI setup
+
+While that's all nice it's a bit tedious for repeated testing. Fortunately
iPXE allows you to integrate
+a setup script that's automatically run; see
[ipxe.org/scripting](http://ipxe.org/scripting) for details.
+
+Here's the one I used:
+
+```sh
+#!ipxe
+
+dhcp
+set initiator-iqn iqn.2010-04.org.ipxe:foobar
+sanhook
iscsi:10.42.0.11::::iqn.2003-01.org.linux-iscsi.f43.x8664:sn.f1eec5c8304a ||
+show net0/ip
+route
+echo == config done ==
+echo
+prompt --key 0x02 --timeout 8000 Press Ctrl-B for the iPXE command line... &&
shell ||
+```
+
+Some notes:
+
+- The script terminates on every command with a non-zero exit
+status; the appended '`||`' prevents this.
+
+- When you use a script, you don't
+get a prompt during boot. If you want one, you have to program it yourself.
+That's what the `prompt` line at the end is for.
+
+- **You still have to press `Ctrl-B` initially to run the script!**
+
+Put this script into a file, say `foo.ipxe` and compile it into your firmware:
+
+```sh
+make bin/rtl8139.rom EMBED=foo.ipxe
+# or
+make bin/1af41000.rom EMBED=foo.ipxe
+```
+
+Copy these firmware file into the qemu directory as described above and
+you'll automatically get an iSCSI setup via iBFT at each boot.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/doc/iscsi-for-beginners.md
new/yast2-iscsi-lio-server-3.2.0/doc/iscsi-for-beginners.md
--- old/yast2-iscsi-lio-server-3.1.19/doc/iscsi-for-beginners.md
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-iscsi-lio-server-3.2.0/doc/iscsi-for-beginners.md 2017-02-28
11:35:51.218707588 +0100
@@ -0,0 +1,106 @@
+# Getting used to iscsi
+
+**iscsi Newspeak: when iscsi folks talk about *target*, think *server*,
+when they say *initiator*, think *client*.**
+
+I will describe here the steps necessary to setup some minimal iscsi testing
+environment.
+
+Best seems to be to setup a dedicated vm to serve as target and to use another
one
+as initiator.
+
+On the target, install `yast2-iscsi-lio-server` and `targetcli`.
+
+The initiator needs `open-iscsi` (and `yast2-iscsi-client`); both should
+be installed by default.
+
+Read the SLES12 documentation on how to setup things
+[Mass Storage over IP Networks:
iSCSI](https://www.suse.com/documentation/sles-12/stor_admin/data/cha_iscsi.html)
+
+*Note that you must know the initiator name when creating the target config.
+You can't just connect 'something' to the target. So look it up on your
+initiator first.*
+
+## iscsi target setup
+
+For first steps, use `yast2 iscsi-lio-server`.
+
+*Disable firewall or open the iscsi port (3260).*
+
+*When you setup a vm with dhcp, make sure you have a stable ip address, else it
+will drive you mad, as the target ip is part of the config - see last step in
the
+`targetcli` example below.*
+
+The iscsi target is handled by kernel modules. Config goes to
`/sys/kernel/config/target/iscsi/`.
+But `/etc/target/` holds generated scripts that take care of kernel space
modifications.
+
+[*For me, `/etc/target/lio_setup.sh` always failed when run the very first time
+(the initial `mkdir` in the script fails), restarting the `target` service
helped.*]
+
+Check that things work: `systemctl status target`.
+
+Instead of yast: use `targetcli` for config. `targetcli` is a rather
+peculiar tool. You basically navigate through a virtual filesystem (Use `ls`
often!).
+Basic syntax is `[RELATIVE_PATH] CMD`. Just watch examples below.
+
+Here's how to setup a target with it. Run `targetcli`, then
+
+```sh
+# first, make the block device you want to export known
+cd /backstores/iblock
+create dev_sda1 /dev/sda1
+
+# or use /backstores/fileio to export a file
+/backstores/fileio create foo1 /tmp/foo1.img 1G
+
+# then, create an iscsi target
+cd /iscsi
+create
+
+# change into the newly created target portal group (Note the final '/tpg1'!)
+# (the name is just an example)
+cd iqn.2003-01.org.linux-iscsi.e111.x8664:sn.18436556ef11/tpg1
+
+# add a lun
+luns/ create /backstores/iblock/dev_sda1
+
+# add an acl to make it accessible to your initiator
+# (use your real iscsi initiator name here)
+acls/ create iqn.1996-04.de.suse:01:ded3a83a491
+
+# then, export it
+# Note that this uses your current ip address!
+portals/ create
+```
+
+At this point the iscsi initiator should see the device (check with `iscsiadm
-m discovery ...`).
+
+To make changes persistent, stop the `target` service. This will `update
/etc/target/lio_setup.sh`.
+
+``` sh
+systemctl stop target
+systemctl start target
+```
+
+## iscsi initiator setup
+
+For first steps, use `yast2 iscsi-client`.
+
+On the initiator, iscsid must be running: `systemctl status iscsi iscsid`.
+
+The config is in `/etc/iscsi`. Important is `/etc/iscsi/iscsi.initiatorname`
+which sets the initiator name (*client name* in the yast lio-server dialog).
+
+Important commands:
+
+- `iscsiadm -m discovery --type=st --portal=<target_server>`: list the
available nodes.
+
+- `iscsiadm -m node -n <node_name> --login`: use the nodes from the output of
the command above
+(2nd column) to connect to the target - this makes the device available
+
+- `iscsiadm -m node -n <node_name> --logout`: disconnect the device
+
+Connections (with config) you have made are stored (cached) in
/etc/iscsi/{send_targets,nodes}.
+
+`/etc/iscsi/iscsid.conf` is a red herring and not used for anything.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/doc/testing-installations-with-iscsi-howto.md
new/yast2-iscsi-lio-server-3.2.0/doc/testing-installations-with-iscsi-howto.md
---
old/yast2-iscsi-lio-server-3.1.19/doc/testing-installations-with-iscsi-howto.md
1970-01-01 01:00:00.000000000 +0100
+++
new/yast2-iscsi-lio-server-3.2.0/doc/testing-installations-with-iscsi-howto.md
2017-02-28 11:35:51.222707588 +0100
@@ -0,0 +1,134 @@
+## Description
+
+This document try to be a guide for dummies to help testing iSCSI involved
installations.
+
+## Preparing your laboratory
+
+Our tests needs **libvirt with KVM** so it is a prerequisite that you should
be fulfilled first of all.
+
+The next step we need to accomplish is: [Install a iSCSI
Target](#install-target-system).
+
+If you are new to iSCSI and need to know more about it or do you want to
install target and client without YaST, Steffen wrote a
[guide](iscsi-for-beginners.md) that could help you and if you already wants to
look deeper into it here you have an IBM
[redbook](http://www.redbooks.ibm.com/redbooks/pdfs/sg247986.pdf#G9.458935).
+
+kobliha's
[doc](https://docs.google.com/document/d/1SuZd6MArrsLKeRYyTODuW3rzS4DqQcebRobnq1O1NFs)
is still valid but in our case we will just follow the official documentation
[Mass Storage over IP Networks:
iSCSI](https://www.suse.com/documentation/sles-12/stor_admin/data/cha_iscsi.html)
adding animated gifs to some of the steps.
+
+### Install Target System
+
+- If you want to go further just install it with
[AY](#autoyast-target-installation) if not, just continue reading...
+- Download and install latest SLE 12 SP2 build (I used 2072 but RC2 is 2091).
+- Configure a Static IP, I'm launching my installation with option
`ifcfg=eth0=192.168.122.50/24,192.168.122.1,192.168.122.1,suse.com`
+- Partition the disk with LVM (it was just my choice) creating a partition
called lun with enough space to install a system there as for example:
+```
+ LV VG Attr LSize Pool Origin Data% Meta% Move Log
Cpy%Sync Convert
+ lun1_lv system -wi-a----- 8.00g
+ lun2_lv system -wi-a----- 8.00g
+ lun3_lv system -wi-a----- 8.00g
+ root system -wi-ao---- 8.98g
+ swap system -wi-ao---- 2.00g
+ ```
+- Finish your installation and reboot.
+- Install **yast2-iscsi-lio-server**
+- Launch your server with `yast2 iscsi-lio-server` and just see the steps you
need to export a lun for initiator name **iqn:2016-08.com.example:01:client1**
without authentication.
+
+
+
+## Common installation
+
+We should check all the scenarios with the iscsi client (via linuxrc option
**WithiSCSI=1**) and just configuring the client in the partition dialog
althought it should be the same.
+
+When the iscsi dialog is launched it will create a new initiator name, just
modify it with the one we added during target configuration
**(iqn:2016-08.com.example:01:client1)** and connect to it.
+
+### With iSCI client enable (WithiSCSI=1)
+
+As the initialization and rename of the initiator takes some time the video
starts just after it and for that reason it does not need modifications. We
have selected started onboot because the first scenario will be with root in
the configured target.
+
+
+
+
+We can check with different scheme partitions. I have tested it with these:
+
+- With the whole disk in iSCSI (not bootable if iPXE is not used)
+- With the iSCSI device mounted in **/var**. (probably not supported
[bsc#996257](https://bugzilla.suse.com/show_bug.cgi?id=996257) crazy config)
+- With the iSCSI device mounted in **/opt** or other not DEPENDENT mount_point
(works fine)
+- With **/** in the iSCSI device and **/boot** in local. (it tooks sometime to
dracut to init but works).
+
+### Without iSCI client enable
+
+In this case we have to launch the iSCSI client from the disks partition
dialog, once we launch the iSCSI client the process is exactly the same.
+
+## AutoYast installation **(AY)**
+
+For AutoYast we could use the same scenarios tested manually generating a
profile with `yast2 clone_system`. There should be an **iscsi-client** section
like this one.
+```
+ <iscsi-client>
+ <initiatorname>iqn.2016-08.com.example:01:client1</initiatorname>
+ <targets config:type="list">
+ <listentry>
+ <authmethod>None</authmethod>
+ <iface>default</iface>
+ <portal>192.168.122.50:3260</portal>
+ <startup>automatic</startup>
+
<target>iqn.2016-08.com.example:68774a8c-cbb3-47ae-b0e2-0931b38761d3</target>
+ </listentry>
+ </targets>
+ <version>1.0</version>
+ </iscsi-client>
+```
+In case you would like to start from an AutoYast installation or just you have
deleted your previous installation not being able to generate a new profile you
could use [this
one](https://w3.nue.suse.com/~kanderssen/sle12_client_example.xml) adapting it.
This one install **root** in the iSCSI device.
+
+From here we just repeat the same test that we did with manual installation
**(same partitions schemes)**.
+
+## AutoUpgrade and Upgrade
+
+Once we have installed our systems is time to test upgrades. The recommended
battery of tests should be something like: **Manual installation** ->
**generate profile** -> **Automatic installation** -> **Create Snapshot*+ ->
**Manual upgrade (using the snapshot)** -> **Automatic upgrade (with all the
scenarios using the snapshot)**.
+
+The scenarios to be tested with AY are:
+- Use the profile from an url or other media that update installer support.
+ - With and without the self_update_url in the profile
+- Use the profile from a local disk
+- Use the profile from a iSCSI device.
+
+## Tips & Tricks
+
+### Modifying installation workflow (control.xml)
+
+This file controls the workflow of the installation apart of many other
things, just read more about it
[here](https://github.com/yast/yast-installation/blob/master/doc/control-file.md)
to know more about what it does.
+
+For the new **update installer** workflow we needed to modify the current
control.xml and test it. We could just copy it in each installation but is
something very tedious so we will see how we could modify it with a
[dud](https://github.com/openSUSE/mkdud).
+
+Just create your own dud with the packages, duds or files you need and also
add the inst-sys folder with the control.xml file.
+```
+mkdud --create inst.dud --dist sle12 \
+ yast2-installation-3.1.213-1.noarch.rpm \
+ yast2-3.1.205-1.x86_64.rpm \
+ autoyast2-installation-3.1.149-1.noarch.rpm \
+ yast2-update-3.1.42-1.x86_64.rpm \
+ yast2-storage-3.1.102-1.x86_64.rpm \
+ yast2-registration-3.1.187-1.noarch.rpm \
+ inst-sys
+```
+Now just launch a new installation with the dud parameter and the location of
your dud.
+```
+-x "dud=http://10.163.0.227/dud/inst.dud insecure=1"
+```
+
+### Autoyast Target installation
+
+You are too lazy? If it is your case and you prefer to install the machine
with just one click you can use Huha's
[virt-installer](https://github.com/shundhammer/virt-installer) or some of
other available scripts. I use a very simple one that Imo shares some time ago
+```
+export DISPLAY=:0
+
+ISO="/home/knut/isos/SLE-12-SP2-Server-DVD-x86_64-Build2091-Media1.iso"
+NAME="sle12_test"
+INFO="info.txt"
+
+virsh destroy $NAME
+virsh undefine $NAME
+
+virt-install --vnc --os-variant sles12 --vcpus=2 --ram=2048 --name $NAME \
+ --network bridge=virbr0,model=rtl8139 --location=$ISO \
+ -x "textmode=0 info=http://192.168.122.1/dud/$INFO" \
+ --disk path=/var/lib/libvirt/images/$NAME,size=30
+```
+
+You can use this
[profile](https://w3.nue.suse.com/~kanderssen/sle12_iscsi_example.xml) which
creates the partitions and installs the needed packages for you, just modify it
with your own requirements.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/package/yast2-iscsi-lio-server.changes
new/yast2-iscsi-lio-server-3.2.0/package/yast2-iscsi-lio-server.changes
--- old/yast2-iscsi-lio-server-3.1.19/package/yast2-iscsi-lio-server.changes
2016-07-14 10:51:35.105830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/package/yast2-iscsi-lio-server.changes
2017-02-28 11:35:51.222707588 +0100
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Wed Feb 22 09:55:05 UTC 2017 - [email protected]
+
+- fate#318832, redesign authentication UI
+- changed online help
+- a bug fix for discovery session without authentication.
+-3.2.0
+
+-------------------------------------------------------------------
Wed Jul 6 11:00:53 CEST 2016 - [email protected]
- allow to remove global authentication values
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/package/yast2-iscsi-lio-server.spec
new/yast2-iscsi-lio-server-3.2.0/package/yast2-iscsi-lio-server.spec
--- old/yast2-iscsi-lio-server-3.1.19/package/yast2-iscsi-lio-server.spec
2016-07-14 10:51:35.105830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/package/yast2-iscsi-lio-server.spec
2017-02-28 11:35:51.222707588 +0100
@@ -17,7 +17,7 @@
Name: yast2-iscsi-lio-server
-Version: 3.1.19
+Version: 3.2.0
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/src/include/iscsi-lio-server/dialogs.rb
new/yast2-iscsi-lio-server-3.2.0/src/include/iscsi-lio-server/dialogs.rb
--- old/yast2-iscsi-lio-server-3.1.19/src/include/iscsi-lio-server/dialogs.rb
2016-07-14 10:51:35.125830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/src/include/iscsi-lio-server/dialogs.rb
2017-02-28 11:35:51.234707588 +0100
@@ -142,7 +142,7 @@
VSpacing(0.2),
Left(HBox(CheckBox(Id(:add_ip), _("Bind all IP addresses"),
false))),
VSpacing(0.5),
- Left(HBox(CheckBox(Id(:auth), _("Use Authentication"), true))),
+ Left(HBox(CheckBox(Id(:auth), _("Use Login Authentication"),
true))),
VSpacing(0.5),
Table(
Id(:lun_table),
@@ -506,7 +506,7 @@
# (includes authentication)
def AuthDialog
@current_tab = "targets"
- caption = _("Modify iSCSI Target Initiator Setup")
+ caption = _("Modify initiators ACLs")
w = CWM.CreateWidgets(["target-clnt"], @widgets)
contents = VBox(
VStretch(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/src/include/iscsi-lio-server/helps.rb
new/yast2-iscsi-lio-server-3.2.0/src/include/iscsi-lio-server/helps.rb
--- old/yast2-iscsi-lio-server-3.1.19/src/include/iscsi-lio-server/helps.rb
2016-07-14 10:51:35.125830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/src/include/iscsi-lio-server/helps.rb
2017-02-28 11:35:51.234707588 +0100
@@ -33,6 +33,10 @@
textdomain "iscsi-lio-server"
# All helps are here
+ use_login_auth = _("If you enable <b>Use Login Authentication</b>, you
need to fill in <b>UserID</b> and <b>Password</b> for both \
+ <b>Authentication for Targets</b> and <b>Authentication for
Initiators</b> \
+ in next pages. Even you disabled <b>Use Login Authentication</b>,
it's still needed to add the initiators name \
+ of which you want to grant access to the targets in next page")
@HELPS = {
# Read dialog help 1/2
"read" => _(
@@ -117,8 +121,10 @@
),
# discovery authentication
"global_config" => _(
- "Select the type of authentication. Use <b>No Authentication</b> or
one of <b>Incoming</b>" +
- " and <b>Outgoing</b> (can be both together). Then insert
<b>User</b> and <b>Password</b>."
+ "This tab intends to configure authentication for discovery session.
"+
+ "Use <b>No Discovery Authentication</b> to disable discovery
authentication. Or you need to fill both <b>Authentication by Targets</b>" +
+ " and <b>Authentication by Initiators</b>. "+
+ "<b>Note: UserID / Password can not be the same for initiators and
targets!</b>"
),
# target client setup.
"target-clnt" => _(
@@ -129,10 +135,10 @@
) +
_(
"<p>With <b>Edit LUN</b> one can modify the LUN mapping. Please
note that LUN target number" +
- " must be unique.<br>After pressing <b>Edit Auth</b>, select the
type of authentication." +
- " Use <b>Incoming</b>, <b>Outgoing</b> or both together. Then
insert <b>User</b> and <b>Password</b>." +
- " Please make sure to set different passwords for incoming and
outgoing authentication.\n" +
- " If <b>Use Authentication</b> is disabled in previous dialog,
<b>Edit Auth</b> is disabled here.</p>"
+ " must be unique.<br>After pressing <b>Edit Auth</b>, it's needed
to " +
+ " Use <b>Authentication by Targets</b> and <b>Authentication by
Initiators</b> together. Then insert <b>UserID </b> and <b>Password</b>." +
+ " Please make sure they are different usernames and passwords for
the two kinds of authentication.\n" +
+ " If <b>Use Login Authentication</b> is disabled in previous
dialog, <b>Edit Auth</b> is disabled here.</p>"
) +
_( "<p><b>Copy</b> offers the possibility to give an additional
initiator access to the LUN.</p>"),
# target dialog
@@ -155,7 +161,7 @@
"<p>Under <b>Ip Address</b> and <b>Port Number</b> you specify
under which address\n" +
"and port the service will be available. Default for port number
is 3260.\n" +
"Only ip addresses assigned to one of the network cards are
possible."
- ) + "</p>",
+ ) + "</p>" +"<p>" + use_login_auth + "</p>",
# add target
"target-add" => _(
"<h1>iSCSI Target IP/Port and LUN setup</h1>"
@@ -172,9 +178,9 @@
) + "</p>" + "<p>" +
_(
"<p>Under <b>Ip Address</b> and <b>Port Number</b> you specify
under which address\n" +
- "and port the service will be available. Default for port number
is 3260.\n" +
+ "and port the service will be available. Default for port number
is 3260.\n" +
"Only ip addresses assigned to one of the network cards are
possible."
- ) + "</p>",
+ ) + "</p>" + "<p>" + use_login_auth + "</p>",
# expert dialog
"expert" => _("<h1>iSCSI Target</h1>") +
_(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/src/include/iscsi-lio-server/widgets.rb
new/yast2-iscsi-lio-server-3.2.0/src/include/iscsi-lio-server/widgets.rb
--- old/yast2-iscsi-lio-server-3.1.19/src/include/iscsi-lio-server/widgets.rb
2016-07-14 10:51:35.137830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/src/include/iscsi-lio-server/widgets.rb
2017-02-28 11:35:51.242707588 +0100
@@ -188,9 +188,21 @@
end
# **************** Target Auth *******************
+ # handle the status of discovery authentication, enable or disable,
enforce = 1 or 0.
+ def handleDiscAuthStatus()
+ no_discovery_auth = UI.QueryWidget(Id(:auth_none), :Value)
+ if no_discovery_auth
+ IscsiLioData.DisableDiscoveryAuth()
+ else
+ IscsiLioData.EnableDiscoveryAuth()
+ end
+ end
# handle authentication dialog
def handleAuth(key, event)
event = deep_copy(event)
+ # we need to call handleDiscAuthStatus() here because we must handle pre
set status of discovery authentication
+ # like "disable" for default.
+ handleDiscAuthStatus()
if Ops.get_string(event, "EventReason", "") == "ValueChanged"
status = false
# enable/disable none/incoming/outgoing authentication
@@ -199,6 +211,9 @@
status = Convert.to_boolean(UI.QueryWidget(Id(:auth_none), :Value))
SetAuthIn(!status)
SetAuthOut(!status)
+ # we must also call handleDiscAuthStatus() here because once users
enable / disable discovery authentication,
+ # we need to set the configFS attributes accordingly.
+ handleDiscAuthStatus()
when :auth_in
status = Convert.to_boolean(UI.QueryWidget(Id(:auth_in), :Value))
SetAuthIn(status)
@@ -215,7 +230,7 @@
if discovery
no_auth = VBox(
Left(
- CheckBox(Id(:auth_none), Opt(:notify), _("No Authentication"),
true)
+ CheckBox(Id(:auth_none), Opt(:notify), _("No Discovery
Authentication"), true)
),
VSpacing(1.5)
)
@@ -226,12 +241,12 @@
CheckBox(
Id(:auth_in),
Opt(:notify),
- _("Incoming Authentication"),
+ _("Authentication by Targets"),
false
)
),
HBox(
- InputField(Id(:user_in), Opt(:hstretch), _("Username")),
+ InputField(Id(:user_in), Opt(:hstretch), _("UserID")),
Password(Id(:pass_in), _("Password"))
),
VSpacing(1.5),
@@ -239,12 +254,12 @@
CheckBox(
Id(:auth_out),
Opt(:notify),
- _("Outgoing Authentication"),
+ _("Authentication by Initiators"),
false
)
),
HBox(
- InputField(Id(:user_out), Opt(:hstretch), _("Username")),
+ InputField(Id(:user_out), Opt(:hstretch), _("UserID")),
Password(Id(:pass_out), _("Password"))
)
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-iscsi-lio-server-3.1.19/src/modules/IscsiLioData.rb
new/yast2-iscsi-lio-server-3.2.0/src/modules/IscsiLioData.rb
--- old/yast2-iscsi-lio-server-3.1.19/src/modules/IscsiLioData.rb
2016-07-14 10:51:35.137830844 +0200
+++ new/yast2-iscsi-lio-server-3.2.0/src/modules/IscsiLioData.rb
2017-02-28 11:35:51.242707588 +0100
@@ -83,6 +83,16 @@
nil
end
+ def EnableDiscoveryAuth()
+ cmd ="lio_node --setchapdiscenforce=1"
+ ret = LogExecCmd("#{cmd}", do_log: true)
+ end
+
+ def DisableDiscoveryAuth()
+ cmd ="lio_node --setchapdiscenforce=0"
+ ret = LogExecCmd("#{cmd}", do_log: true)
+ end
+
def FindTcmKey(p)
ret = Ops.get(
Builtins.maplist(Builtins.filter(Ops.get_map(@data, "tcm", {})) do |k,
m|