Skip to content

Commit 731cee7

Browse files
authored
Merge pull request ceph#60005 from idryomov/wip-68213
qa/suites/rbd/iscsi: enable all supported container hosts Reviewed-by: Prasanna Kumar Kalever <[email protected]>
2 parents fe273a9 + 29e122f commit 731cee7

File tree

7 files changed

+70
-45
lines changed

7 files changed

+70
-45
lines changed

qa/suites/rbd/iscsi/0-single-container-host.yaml

Lines changed: 0 additions & 1 deletion
This file was deleted.

qa/suites/rbd/iscsi/base/install.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ tasks:
99
- ceph orch host ls
1010
- ceph orch device ls
1111
- install:
12-
extra_packages:
12+
extra_system_packages:
13+
deb:
14+
- open-iscsi
15+
- multipath-tools
16+
rpm:
1317
- iscsi-initiator-utils
1418
- device-mapper-multipath
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.qa/distros/supported-container-hosts/

qa/tasks/ceph_iscsi_client.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,15 @@ def task(ctx, config):
3131
remote.run(args=['sudo', 'systemctl', 'restart', 'iscsid'])
3232

3333
remote.run(args=['sudo', 'modprobe', 'dm_multipath'])
34-
remote.run(args=['sudo', 'mpathconf', '--enable'])
3534
conf = dedent('''
35+
defaults {
36+
user_friendly_names yes
37+
find_multipaths yes
38+
}
39+
40+
blacklist {
41+
}
42+
3643
devices {
3744
device {
3845
vendor "LIO-ORG"
@@ -50,7 +57,7 @@ def task(ctx, config):
5057
}
5158
''')
5259
path = "/etc/multipath.conf"
53-
remote.sudo_write_file(path, conf, append=True)
60+
remote.sudo_write_file(path, conf)
5461
remote.run(args=['sudo', 'systemctl', 'start', 'multipathd'])
5562

5663
yield
Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,85 @@
1-
Podman find iSCSI container
2-
===========================
3-
$ ISCSI_CONTAINER=$(sudo podman ps -a | grep -F 'iscsi' | grep -Fv 'tcmu' | awk '{print $1}')
1+
Cephadm prefers podman to docker
2+
================================
3+
$ CENGINE=docker
4+
> if command -v podman >/dev/null; then
5+
> CENGINE=podman
6+
> fi
7+
8+
Find iSCSI container
9+
====================
10+
$ ISCSI_CONTAINER=$(sudo $CENGINE ps -a | grep -F 'iscsi' | grep -Fv 'tcmu' | awk '{print $1}')
411

512
Dismiss the "could not load preferences file .gwcli/prefs.bin" warning
613
======================================================================
7-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls >/dev/null 2>&1
14+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls >/dev/null 2>&1
815

916
Create a datapool/block0 disk
1017
=============================
11-
$ sudo podman exec $ISCSI_CONTAINER gwcli disks/ create pool=datapool image=block0 size=300M wwn=36001405da17b74481464e9fa968746d3
12-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- disks' | awk -F'[' '{print $2}'
18+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli disks/ create pool=datapool image=block0 size=300M wwn=36001405da17b74481464e9fa968746d3
19+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- disks' | awk -F'[' '{print $2}'
1320
300M, Disks: 1]
14-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- datapool' | awk -F'[' '{print $2}'
21+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- datapool' | awk -F'[' '{print $2}'
1522
datapool (300M)]
16-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- block0' | awk -F'[' '{print $2}'
23+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- block0' | awk -F'[' '{print $2}'
1724
datapool/block0 (Unknown, 300M)]
1825
1926
Create the target IQN
2027
=====================
21-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/ create target_iqn=iqn.2003-01.com.redhat.iscsi-gw:ceph-gw
22-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iscsi-targets' | awk -F'[' '{print $2}'
28+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/ create target_iqn=iqn.2003-01.com.redhat.iscsi-gw:ceph-gw
29+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iscsi-targets' | awk -F'[' '{print $2}'
2330
DiscoveryAuth: None, Targets: 1]
24-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iqn.2003-01.com.redhat.iscsi-gw:ceph-gw' | awk -F'[' '{print $2}'
31+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iqn.2003-01.com.redhat.iscsi-gw:ceph-gw' | awk -F'[' '{print $2}'
2532
Auth: None, Gateways: 0]
26-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- disks' | awk -F'[' '{print $2}'
33+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- disks' | awk -F'[' '{print $2}'
2734
Disks: 0]
28-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- gateways' | awk -F'[' '{print $2}'
35+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- gateways' | awk -F'[' '{print $2}'
2936
Up: 0/0, Portals: 0]
30-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- host-groups' | awk -F'[' '{print $2}'
37+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- host-groups' | awk -F'[' '{print $2}'
3138
Groups : 0]
32-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
39+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
3340
Auth: ACL_ENABLED, Hosts: 0]
3441
3542
Create the first gateway
3643
========================
3744
$ HOST=$(python3 -c "import socket; print(socket.getfqdn())")
3845
> IP=`hostname -i | awk '{print $1}'`
39-
> sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/gateways create ip_addresses=$IP gateway_name=$HOST
40-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- gateways' | awk -F'[' '{print $2}'
46+
> sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/gateways create ip_addresses=$IP gateway_name=$HOST
47+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- gateways' | awk -F'[' '{print $2}'
4148
Up: 1/1, Portals: 1]
4249
4350
Create the second gateway
4451
========================
4552
$ IP=`cat /etc/ceph/iscsi-gateway.cfg |grep 'trusted_ip_list' | awk -F'[, ]' '{print $3}'`
4653
> if [ "$IP" != `hostname -i | awk '{print $1}'` ]; then
4754
> HOST=$(python3 -c "import socket; print(socket.getfqdn('$IP'))")
48-
> sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/gateways create ip_addresses=$IP gateway_name=$HOST
55+
> sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/gateways create ip_addresses=$IP gateway_name=$HOST
4956
> fi
5057
$ IP=`cat /etc/ceph/iscsi-gateway.cfg |grep 'trusted_ip_list' | awk -F'[, ]' '{print $4}'`
5158
> if [ "$IP" != `hostname -i | awk '{print $1}'` ]; then
5259
> HOST=$(python3 -c "import socket; print(socket.getfqdn('$IP'))")
53-
> sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/gateways create ip_addresses=$IP gateway_name=$HOST
60+
> sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/gateways create ip_addresses=$IP gateway_name=$HOST
5461
> fi
55-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- gateways' | awk -F'[' '{print $2}'
62+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- gateways' | awk -F'[' '{print $2}'
5663
Up: 2/2, Portals: 2]
5764
5865
Attach the disk
5966
===============
60-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/disks/ add disk=datapool/block0
61-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- disks' | awk -F'[' '{print $2}'
67+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/disks/ add disk=datapool/block0
68+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- disks' | awk -F'[' '{print $2}'
6269
Disks: 1]
6370
6471
Create a host
6572
=============
66-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/hosts create client_iqn=iqn.1994-05.com.redhat:client
67-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
73+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/hosts create client_iqn=iqn.1994-05.com.redhat:client
74+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
6875
Auth: ACL_ENABLED, Hosts: 1]
69-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iqn.1994-05.com.redhat:client' | awk -F'[' '{print $2}'
76+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iqn.1994-05.com.redhat:client' | awk -F'[' '{print $2}'
7077
Auth: None, Disks: 0(0.00Y)]
7178
7279
Map the LUN
7380
===========
74-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/hosts/iqn.1994-05.com.redhat:client disk disk=datapool/block0
75-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
81+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/hosts/iqn.1994-05.com.redhat:client disk disk=datapool/block0
82+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
7683
Auth: ACL_ENABLED, Hosts: 1]
77-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iqn.1994-05.com.redhat:client' | awk -F'[' '{print $2}'
84+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iqn.1994-05.com.redhat:client' | awk -F'[' '{print $2}'
7885
Auth: None, Disks: 1(300M)]
Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
1-
Podman find iSCSI container
2-
===========================
3-
$ ISCSI_CONTAINER=$(sudo podman ps -a | grep -F 'iscsi' | grep -Fv 'tcmu' | awk '{print $1}')
1+
Cephadm prefers podman to docker
2+
================================
3+
$ CENGINE=docker
4+
> if command -v podman >/dev/null; then
5+
> CENGINE=podman
6+
> fi
7+
8+
Find iSCSI container
9+
====================
10+
$ ISCSI_CONTAINER=$(sudo $CENGINE ps -a | grep -F 'iscsi' | grep -Fv 'tcmu' | awk '{print $1}')
411

512
Dismiss the "could not load preferences file .gwcli/prefs.bin" warning
613
======================================================================
7-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls >/dev/null 2>&1
14+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls >/dev/null 2>&1
815

916
Delete the host
1017
===============
11-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/hosts delete client_iqn=iqn.1994-05.com.redhat:client
12-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
18+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/hosts delete client_iqn=iqn.1994-05.com.redhat:client
19+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- hosts' | awk -F'[' '{print $2}'
1320
Auth: ACL_ENABLED, Hosts: 0]
1421
1522
Delete the iscsi-targets disk
1623
=============================
17-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/disks/ delete disk=datapool/block0
18-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- disks' | awk -F'[' '{print $2}'
24+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-gw/disks/ delete disk=datapool/block0
25+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- disks' | awk -F'[' '{print $2}'
1926
Disks: 0]
2027
2128
Delete the target IQN
2229
=====================
23-
$ sudo podman exec $ISCSI_CONTAINER gwcli iscsi-targets/ delete target_iqn=iqn.2003-01.com.redhat.iscsi-gw:ceph-gw
24-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iscsi-targets' | awk -F'[' '{print $2}'
30+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli iscsi-targets/ delete target_iqn=iqn.2003-01.com.redhat.iscsi-gw:ceph-gw
31+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls iscsi-targets/ | grep 'o- iscsi-targets' | awk -F'[' '{print $2}'
2532
DiscoveryAuth: None, Targets: 0]
2633
2734
Delete the disks
2835
================
29-
$ sudo podman exec $ISCSI_CONTAINER gwcli disks/ delete image_id=datapool/block0
30-
$ sudo podman exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- disks' | awk -F'[' '{print $2}'
36+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli disks/ delete image_id=datapool/block0
37+
$ sudo $CENGINE exec $ISCSI_CONTAINER gwcli ls disks/ | grep 'o- disks' | awk -F'[' '{print $2}'
3138
0.00Y, Disks: 0]

src/test/cli-integration/rbd/iscsi_client.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Login to the target
22
===================
33
$ IP=`cat /etc/ceph/iscsi-gateway.cfg |grep 'trusted_ip_list' | awk -F'[, ]' '{print $3}'`
4-
> sudo iscsiadm -m discovery -t st -p $IP -l 2&> /dev/null
4+
$ sudo iscsiadm -m discovery -t st -p $IP -l >/dev/null 2>&1
55
$ sleep 10
66
$ sudo ls /dev/disk/by-path/ |grep 'iscsi-iqn.2003-01.com.redhat.iscsi-gw:ceph-gw' |wc -l
77
2

0 commit comments

Comments
 (0)