New releases: targetcli.fb43, rtslib.fb60, configshell.fb20
by Andy Grover
Hi all,
Another release of all three, with a few small improvements to targetcli
but nothing major. The big thing is rtslib now uses pyudev instead of
parsing /sys itself, which has been a constant source of bugs for us.
NOTE: *** rtslib-fb now depends on python-udev ***
My future development plans are mainly better support for configuring
PR/ALUA. If there's some other issue or annoyance that's bugging you
please let me know and we can work to get it improved.
Thanks again to everyone who helped make this release!
Github:
https://github.com/agrover/targetcli-fb
https://github.com/agrover/rtslib-fb
https://github.com/agrover/configshell-fb
tarballs:
https://fedorahosted.org/released/targetcli-fb/
targetcli-fb 2.1.fb41:
Andy Grover <agrover(a)redhat.com> (5):
fileio completions also allow block devices
Update man page a little
HeaderDigest param should be string, not yesno
Allow WWN to be specified when creating storage objects
version 2.1.fb43
Andy Grover <andy(a)groveronline.com> (2):
Update README.md
type in README.md.
Christophe Vu-Brugier <cvubrugier(a)fastmail.fm> (2):
Document the tpg_enabled_sendtargets TPG attribute
Document the unmap_zeroes_data backstore attribute
runsisi <runsisi(a)hust.edu.cn> (1):
Fix package name for rpm spec file
rtslib-fb 2.1.fb60:
Andy Grover <agrover(a)redhat.com> (2):
Fix 'make rpm'
version 2.1.fb60
Andy Grover <andy(a)groveronline.com> (2):
Update README.md
Update README.md again
Fam Zheng <famz(a)redhat.com> (1):
UserBackedStorageObject: Fix docstring for __init__
Jon Magrini <jmagrini(a)redhat.com> (1):
[rtslib-fb] Ensure internal buffers are flushed when
saveconfig.json is written to disk.
mulhern <amulhern(a)redhat.com> (3):
Make use of pyudev package as much as possible in utils module.
Use find_parent instead of parent.
Make sure to properly avoid treating partitions the same as disk.
configshell-fb 1.1.fb20:
Andy Grover <agrover(a)redhat.com> (1):
version 1.1.fb20
Christoph Hellwig <hch(a)lst.de> (1):
configshell-fb: depend on python-six/python3-six in debian/control
Regards -- Andy
6 years, 2 months
How to determine hex address for srpt acls,
/sys/class/infiniband/mlx4_0/ports/1/gids/0 isn't it
by james harvey
I'm at a loss on how to get the hex address to go underneath acls when setting up srpt. If I use the fe80 prefix I see everywhere including /sys, it gets rejected. If I use the prefix shown in the kernel rejection method, which I can't find anywhere else, it works fine.
targetcli configuration:
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 3]
| | o- kvm1 .................................................................... [/dev/disk1/kvm1 (100.0GiB) write-thru activated]
| | o- kvm2 .................................................................... [/dev/disk2/kvm2 (100.0GiB) write-thru activated]
| | o- kvm3 .................................................................... [/dev/disk3/kvm3 (100.0GiB) write-thru activated]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 0]
o- loopback ......................................................................................................... [Targets: 0]
o- sbp .............................................................................................................. [Targets: 0]
o- srpt ............................................................................................................. [Targets: 1]
| o- ib.fe800000000000000002c90300001679 ........................................................................... [no-gen-acls]
| o- acls ............................................................................................................ [ACLs: 1]
| | o- ib.fe800000000000000002c90300001e79 .................................................................... [Mapped LUNs: 3]
| | o- mapped_lun0 .................................................................................... [lun0 block/kvm1 (rw)]
| | o- mapped_lun1 .................................................................................... [lun1 block/kvm2 (rw)]
| | o- mapped_lun2 .................................................................................... [lun2 block/kvm3 (rw)]
| o- luns ............................................................................................................ [LUNs: 3]
| o- lun0 ..................................................................................... [block/kvm1 (/dev/disk1/kvm1)]
| o- lun1 ..................................................................................... [block/kvm2 (/dev/disk2/kvm2)]
| o- lun2 ..................................................................................... [block/kvm3 (/dev/disk3/kvm3)]
o- vhost ............................................................................................................ [Targets: 0]
o- xen_pvscsi ....................................................................................................... [Targets: 0]
NOTE my InfiniBand cards have similar IDs, and only differ by one character -- compare the end, 1679 vs 1e79.
On the target (host):
$ cat /sys/class/infiniband/mlx4_0/ports/1/gids/0
fe80:0000:0000:0000:0002:c903:0000:1679
{It's my understanding this should be used underneath srpt, as the wwn}
On the initiator (client):
$ cat /sys/class/infiniband/mlx4_0/ports/1/gids/0
fe80:0000:0000:0000:0002:c903:0000:1e79
{It's my understanding this should be used underneath acls, and mapped with the luns}
# ibsrpdm -c
id_ext=0002c90300001678,ioc_guid=0002c90300001678,dgid=fe800000000000000002c90300001679,pkey=ffff,service_id=0002c90300001678
{so, its /etc/srp_daemon.conf is just comments and the line}
a id_ext=0002c90300001678,ioc_guid=0002c90300001678,dgid=fe800000000000000002c90300001679,pkey=ffff,service_id=0002c90300001678
But, after starting service target on the target, and service srpdaemon on the initiator, dmesg on target shows:
[ 849.710278] ib_srpt Received SRP_LOGIN_REQ with i_port_id 0x7916000003c90200:0x2c90300001e79, t_port_id 0x2c90300001678:0x2c90300001678 and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x2c90300001679)
[ 849.714528] ib_srpt Session : kernel thread ib_srpt_compl (PID 24481) started
[ 849.714601] ib_srpt Rejected login because no ACL has been configured yet for initiator 0x7916000003c902000002c90300001e79.
[ 849.714613] ib_srpt Session 0x7916000003c902000002c90300001e79: kernel thread ib_srpt_compl (PID 24481) stopped
And, dmesg on initiator shows:
[ 976.616221] scsi host11: ib_srp: REJ received
[ 976.616229] scsi host11: ib_srp: SRP LOGIN from fe80:0000:0000:0000:0002:c903:0000:1e79 to fe80:0000:0000:0000:0002:c903:0000:1679 REJECTED, reason 0x00010001
[ 976.616269] scsi host11: ib_srp: Connection 0/4 failed
[ 976.616276] scsi host11: ib_srp: Sending CM DREQ failed
Why is the target machine, in the srp context only, seeing the ports as starting with 0x7916000003c90200 and 0x2c90300001678, and the client machine seeing the ports as starting with fe80:0000:0000:0000? What are these 0x7916... and 0x2c90... prefixes, and how can I find them besides getting a rejection and looking at the kernel logs? I haven't seen these prefixes anywhere else on either system.
In targetcli, if I use acls with 0x7916000003c902000002c90300001e79, then everything works great.
7 years, 1 month