File: resources.sh

package info (click to toggle)
manila 1%3A21.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,512 kB
  • sloc: python: 281,625; sh: 1,873; pascal: 1,336; makefile: 74
file content (533 lines) | stat: -rwxr-xr-x 20,513 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
#!/bin/bash

set -o errexit

source $GRENADE_DIR/grenaderc
source $GRENADE_DIR/functions

source $TOP_DIR/openrc admin demo

set -o xtrace

################################# Settings ####################################

# Access rules data specific to first enabled backend.
MANILA_GRENADE_ACCESS_TYPE=${MANILA_GRENADE_ACCESS_TYPE:-"ip"}
MANILA_GRENADE_ACCESS_TO=${MANILA_GRENADE_ACCESS_TO:-"0.0.0.0/0"}

# Network information that will be used in case DHSS=True driver is used
# with non-single-network-plugin.
MANILA_GRENADE_NETWORK_NAME=${MANILA_GRENADE_NETWORK_NAME:-"private"}
MANILA_GRENADE_SUBNET_NAME=${MANILA_GRENADE_SUBNET_NAME:-"private-subnet"}

# Timeout that will be used for share creation wait operation.
MANILA_GRENADE_WAIT_STEP=${MANILA_GRENADE_WAIT_STEP:-"4"}
MANILA_GRENADE_WAIT_TIMEOUT=${MANILA_GRENADE_WAIT_TIMEOUT:-"300"}

MANILA_GRENADE_SHARE_NETWORK_NAME=${MANILA_GRENADE_SHARE_NETWORK_NAME:-"manila_grenade_share_network"}
MANILA_GRENADE_SHARE_TYPE_NAME=${MANILA_GRENADE_SHARE_TYPE_NAME:-"manila_grenade_share_type"}
MANILA_GRENADE_SHARE_NAME=${MANILA_GRENADE_SHARE_NAME:-"manila_grenade_share"}
MANILA_GRENADE_SHARE_SNAPSHOT_NAME=${MANILA_GRENADE_SHARE_SNAPSHOT_NAME:-"manila_grenade_share_snapshot"}

# Extra specs that will be set for newly created share type
MANILA_GRENADE_SHARE_TYPE_SNAPSHOT_SUPPORT_EXTRA_SPEC=${MANILA_GRENADE_SHARE_TYPE_SNAPSHOT_SUPPORT_EXTRA_SPEC:-"True"}
MANILA_GRENADE_SHARE_TYPE_CREATE_SHARE_FROM_SNAPSHOT_SUPPORT_EXTRA_SPEC=${MANILA_GRENADE_SHARE_TYPE_CREATE_SHARE_FROM_SNAPSHOT_SUPPORT_EXTRA_SPEC:-"True"}
MANILA_GRENADE_SHARE_TYPE_REVERT_TO_SNAPSHOT_SUPPORT_EXTRA_SPEC=${MANILA_GRENADE_SHARE_TYPE_REVERT_TO_SNAPSHOT_SUPPORT_EXTRA_SPEC:-"True"}
MANILA_GRENADE_SHARE_TYPE_MOUNT_SNAPSHOT_SUPPORT_EXTRA_SPEC=${MANILA_GRENADE_SHARE_TYPE_MOUNT_SNAPSHOT_SUPPORT_EXTRA_SPEC:-"True"}

MANILA_CONF_DIR=${MANILA_CONF_DIR:-/etc/manila}
MANILA_CONF=$MANILA_CONF_DIR/manila.conf

################################ Scenarios ####################################

function scenario_1_do_share_with_rules_and_metadata {
    # NOTE(vponomaryov): nova-network with DHSS=True drivers is not supported
    # by this scenario.
    enabled_share_backends=$(iniget $MANILA_CONF DEFAULT enabled_share_backends)
    backend=$( echo $enabled_share_backends | cut -d',' -f 1 )

    enabled_share_protocols=$(iniget $MANILA_CONF DEFAULT enabled_share_protocols)
    share_protocol=$( echo $enabled_share_protocols | cut -d',' -f 1 )

    driver_handles_share_servers=$(iniget $MANILA_CONF $backend driver_handles_share_servers)

    create_share_cmd="manila create $share_protocol 1 "
    create_share_cmd+="--share-type $MANILA_GRENADE_SHARE_TYPE_NAME "
    create_share_cmd+="--name $MANILA_GRENADE_SHARE_NAME"

    resource_save manila share_protocol $share_protocol

    if [[ $(trueorfalse False driver_handles_share_servers) == True ]]; then
        share_driver=$(iniget $MANILA_CONF $backend share_driver)
        generic_driver='manila.share.drivers.generic.GenericShareDriver'
        windows_driver='manila.share.drivers.windows.windows_smb_driver.WindowsSMBDriver'
        network_plugin=$(iniget $MANILA_CONF $backend network_plugin)

        share_network_cmd="manila share-network-create "
        share_network_cmd+="--name $MANILA_GRENADE_SHARE_NETWORK_NAME"
        if is_service_enabled neutron; then
            if [[ $share_driver == $generic_driver || \
                    $share_driver == $windows_driver || \
                    ! $network_plugin =~ 'Single' || \
                    ! $network_plugin =~ 'Standalone' ]]; then
                net_id=$(openstack network show $MANILA_GRENADE_NETWORK_NAME -c id -f value)
                subnet_id=$(openstack subnet show $MANILA_GRENADE_SUBNET_NAME -c id -f value)
                share_network_cmd+=" --neutron-net $net_id --neutron-subnet $subnet_id"
            fi
        else
            echo 'Neutron service is disabled, creating empty share-network'
        fi
        create_share_cmd+=" --share-network $MANILA_GRENADE_SHARE_NETWORK_NAME"
        resource_save manila share_network $MANILA_GRENADE_SHARE_NETWORK_NAME
    else
        resource_save manila share_network 'None'
    fi

    # Create share-network
    eval $share_network_cmd

    # Create share-type
    manila type-create \
        $MANILA_GRENADE_SHARE_TYPE_NAME \
        $driver_handles_share_servers \
        --snapshot_support $MANILA_GRENADE_SHARE_TYPE_SNAPSHOT_SUPPORT_EXTRA_SPEC \
        --create_share_from_snapshot_support $MANILA_GRENADE_SHARE_TYPE_CREATE_SHARE_FROM_SNAPSHOT_SUPPORT_EXTRA_SPEC \
        --revert_to_snapshot_support $MANILA_GRENADE_SHARE_TYPE_REVERT_TO_SNAPSHOT_SUPPORT_EXTRA_SPEC \
        --mount_snapshot_support $MANILA_GRENADE_SHARE_TYPE_MOUNT_SNAPSHOT_SUPPORT_EXTRA_SPEC

    # Create share
    eval $create_share_cmd

    # Wait for share creation results
    wait_timeout=$MANILA_GRENADE_WAIT_TIMEOUT
    available='false'
    while (( wait_timeout > 0 )) ; do
        current_status=$( manila show $MANILA_GRENADE_SHARE_NAME | \
                          grep " status " | get_field 2 )
        if [[ $current_status == 'available' ]]; then
            available='true'
            break
        elif [[ $current_status == 'creating' ]]; then
            ((wait_timeout-=$MANILA_GRENADE_WAIT_STEP))
            sleep $MANILA_GRENADE_WAIT_STEP
        elif [[ $current_status == 'error' ]]; then
            die $LINENO "Share is in 'error' state."
        else
            die $LINENO "Should never reach this line."
        fi
    done
    if [[ $available == 'true' ]]; then
        echo "Share has been created successfully."
    else
        die $LINENO "Share timed out to reach 'available' status."
    fi

    # grab the export location
    export_path=$(manila share-export-location-list \
                    $MANILA_GRENADE_SHARE_NAME | grep ":/" | \
                        cut -d "|" -f 3 | head -1)

    resource_save manila export_path $export_path

    # Create some metadata
    manila metadata $MANILA_GRENADE_SHARE_NAME set gre=nade

    # Add access rules
    manila access-allow $MANILA_GRENADE_SHARE_NAME \
        $MANILA_GRENADE_ACCESS_TYPE $MANILA_GRENADE_ACCESS_TO

    # Wait for access rule creation results
    wait_timeout=$MANILA_GRENADE_WAIT_TIMEOUT
    active='false'
    while (( wait_timeout > 0 )) ; do
        current_state=$( manila access-list $MANILA_GRENADE_SHARE_NAME | \
                         grep " $MANILA_GRENADE_ACCESS_TO " | get_field 5 )
        case $current_state in
            active)
                active='true'
                break;;
            creating|new|queued_to_apply|applying)
                ((wait_timeout-=$MANILA_GRENADE_WAIT_STEP))
                sleep $MANILA_GRENADE_WAIT_STEP;;
            error)
                die $LINENO "Failed to create access rule.";;
            *)
                die $LINENO "Should never reach this line.";;
        esac
    done
    if [[ $active == 'true' ]]; then
        echo "Access rule has been created successfully."
    else
        die $LINENO "Access rule timed out to reach 'active' state."
    fi
}

function scenario_1_verify_share_with_rules_and_metadata {
    share_status=$(manila show $MANILA_GRENADE_SHARE_NAME | \
        grep " status " | get_field 2)
    if [[ $share_status != "available" ]]; then
        die $LINENO "Share status is not 'available'. It is $share_status"
    fi

    rule_state=$(manila access-list $MANILA_GRENADE_SHARE_NAME | \
        grep " $MANILA_GRENADE_ACCESS_TO " | get_field 5)
    if [[ $rule_state != "active" ]]; then
        die $LINENO "Share rule state is not 'active'. It is $rule_state"
    fi

    metadata=$(manila metadata-show $MANILA_GRENADE_SHARE_NAME | \
        grep 'gre' | get_field 2)
    if [[ $metadata != "nade" ]]; then
        die $LINENO "Share metadata is not 'gre=nade'. It is gre=$metadata"
    fi
}

function scenario_1_destroy_share_with_rules_and_metadata {
    manila delete $MANILA_GRENADE_SHARE_NAME

    wait_timeout=$MANILA_GRENADE_WAIT_TIMEOUT
    found='true'
    while (( wait_timeout > 0 )) ; do
        share_status=$( manila list --columns id,name,status | \
            grep $MANILA_GRENADE_SHARE_NAME | get_field 3)
        if [[ -z $share_status ]]; then
            found='false'
            break
        elif [[ $share_status == 'deleting' ]]; then
            ((wait_timeout-=$MANILA_GRENADE_WAIT_STEP))
            sleep $MANILA_GRENADE_WAIT_STEP
        elif [[ $share_status == 'error_deleting' ]]; then
            die $LINENO "Share failed to be deleted."
        else
            die $LINENO "Should never reach this line."
        fi
    done
    if [[ $found == 'true' ]]; then
        die $LINENO "Share timed out to be deleted."
    else
        echo "Share has been deleted successfully."
    fi

    share_network=$(resource_get manila share_network)
    if [[ -n $share_network && $share_network != 'None' ]]; then
        manila share-network-delete $MANILA_GRENADE_SHARE_NETWORK_NAME
    fi

    manila type-delete $MANILA_GRENADE_SHARE_TYPE_NAME
}

#####

function scenario_2_do_attach_ss_to_sn {
    manila security-service-create \
        ldap \
        --name fake_ss_name \
        --description fake_ss_description \
        --dns-ip fake_dns_ip \
        --server fake_server \
        --domain fake_domain \
        --user fake_user \
        --password fake_password

    manila share-network-create \
        --name fake_sn_name \
        --description fake_sn_description \
        --neutron-net-id fake_net \
        --neutron-subnet-id fake_subnet

    manila share-network-security-service-add fake_sn_name fake_ss_name
}

function scenario_2_verify_attach_ss_to_sn {
    attached_security_service=$(\
        manila share-network-security-service-list fake_sn_name | \
        grep "fake_ss_name")
    if [[ -z $attached_security_service ]] ; then
        die $LINENO "Security service 'fake_ss_name' is not attached "\
                    "to share-network 'fake_sn_name'."
    fi

    function assert {
        actual=$(manila $1 $2 | grep " $3 " | get_field 2)
        if [[ $actual != $4 ]]; then
            die $LINENO "Field $3 for command $1 with arg $2 has "\
                        "value $actual, but $4 is expected."
        fi
    }

    assert share-network-show fake_sn_name description fake_sn_description
    # From API version 2.51, share-network-show command doesn't have
    # neutron_net_id and neutron_subnet_id, that information is in
    # "share-network-subnets"
    assert "--os-share-api-version 2.50 share-network-show" fake_sn_name neutron_net_id fake_net
    assert "--os-share-api-version 2.50 share-network-show" fake_sn_name neutron_subnet_id fake_subnet

    share_network_subnets=$(manila share-network-show fake_sn_name | grep share_network_subnets)
    if [[ ! -z "$share_network_subnets" ]]; then
        neutron_net_id=$(echo $share_network_subnets | tr ',' '\n' | grep neutron_net_id | cut -d "'" -f4)
        neutron_subnet_id=$(echo $share_network_subnets | tr ',' '\n' | grep neutron_subnet_id | cut -d "'" -f4)

        if [[ $neutron_net_id != fake_net ]]; then
            die $LINENO "Neutron net ID for share network isn't fake_net, it is $neutron_net_id"
        fi
        if [[ $neutron_subnet_id != fake_subnet ]]; then
            die $LINENO "Neutron subnet ID for share network isn't fake_subnet, it is $neutron_subnet_id"
        fi
    fi

    assert security-service-show fake_ss_name description fake_ss_description
    assert security-service-show fake_ss_name dns_ip fake_dns_ip
    assert security-service-show fake_ss_name server fake_server
    assert security-service-show fake_ss_name domain fake_domain
    assert security-service-show fake_ss_name user fake_user
    assert security-service-show fake_ss_name password fake_password
}

function scenario_2_destroy_attach_ss_to_sn {
    manila share-network-delete fake_sn_name
    manila security-service-delete fake_ss_name
}

#####

function scenario_3_do_quotas {
    current_shares_quota=$(manila quota-show --tenant fake | \
        grep " shares " | get_field 2)
    ((new_shares_quota=$current_shares_quota + 5))
    manila quota-update fake --shares $new_shares_quota
    resource_save manila quota $new_shares_quota
}

function scenario_3_verify_quotas {
    shares_quota=$(manila quota-show --tenant fake | \
        grep " shares " | get_field 2)
    expected=$(resource_get manila quota)
    if [[ $shares_quota != $expected ]] ; then
        die $LINENO "Shares quota for 'fake' tenant is expected "\
                    "as $expected but it is $shares_quota."
    fi
}

function scenario_3_destroy_quotas {
    manila quota-delete --tenant fake
}

#####

function scenario_4_do_private_share_types {
    manila type-create ${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4 false \
        --is-public false
    manila type-access-add ${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4 \
        $(openstack project show demo -c id -f value)
}

function scenario_4_verify_private_share_types {
    share_type_visibility=$(manila type-list --all \
        --columns name,visibility | \
        grep ${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4 | get_field 2)
    if [[ $share_type_visibility != 'private' ]] ; then
        die $LINENO "Visibility of share type "\
                    "${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4 is not "\
                    "'private'. It is $share_type_visibility"
    fi

    project_id=$(openstack project show demo -c id -f value)
    access=$(manila type-access-list \
        ${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4 | grep $project_id)
    if [[ -z $access ]]; then
        die $LINENO "Expected $project_id project ID is not found in list "\
                    "of allowed projects of "\
                    "${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4 share type."
    fi
}

function scenario_4_destroy_private_share_types {
    manila type-delete ${MANILA_GRENADE_SHARE_TYPE_NAME}_scenario4
}

#####

function scenario_5_do_share_snapshot {
    if [[ $(trueorfalse True MANILA_GRENADE_SHARE_TYPE_SNAPSHOT_SUPPORT_EXTRA_SPEC) == True ]]; then
        # Create share snapshot
        manila snapshot-create $MANILA_GRENADE_SHARE_NAME \
            --name $MANILA_GRENADE_SHARE_SNAPSHOT_NAME
        resource_save manila share_snapshot $MANILA_GRENADE_SHARE_SNAPSHOT_NAME

        # Wait for share snapshot creation results
        wait_timeout=$MANILA_GRENADE_WAIT_TIMEOUT
        available='false'
        while (( wait_timeout > 0 )) ; do
            current_status=$( manila snapshot-show $MANILA_GRENADE_SHARE_SNAPSHOT_NAME | \
                              grep " status " | get_field 2 )
            if [[ $current_status == 'available' ]]; then
                available='true'
                break
            elif [[ $current_status == 'creating' ]]; then
                ((wait_timeout-=$MANILA_GRENADE_WAIT_STEP))
                sleep $MANILA_GRENADE_WAIT_STEP
            elif [[ $current_status == 'error' ]]; then
                die $LINENO "Share snapshot is in 'error' state."
            else
                die $LINENO "Should never reach this line."
            fi
        done
        if [[ $available == 'true' ]]; then
            echo "Share snapshot has been created successfully."
        else
            die $LINENO "Share snapshot timed out to reach 'available' status."
        fi
    else
        echo "Skipping scenario '5' with creation of share snapshot."
    fi
}

function scenario_5_verify_share_snapshot {
    if [[ $(trueorfalse True MANILA_GRENADE_SHARE_TYPE_SNAPSHOT_SUPPORT_EXTRA_SPEC) == True ]]; then
        # Check that source share ID is set
        share_id_in_snapshot=$( manila snapshot-show \
            $MANILA_GRENADE_SHARE_SNAPSHOT_NAME \
            | grep "| share_id " | get_field 2 )

        if [[ -z $share_id_in_snapshot ]]; then
            die $LINENO "Source share ID is not set."
        fi

        # Check that snapshot's source share ID is correct
        share_id=$( manila show $MANILA_GRENADE_SHARE_NAME \
            | grep "| id   " | get_field 2 )

        if [[ $share_id != $share_id_in_snapshot ]]; then
            die $LINENO "Actual source share ID '$share_id_in_snapshot' is not "\
                "equal to expected value '$share_id'."
        fi

        # Check presence of expected columns in snapshot view
        snapshot_output=$( manila snapshot-show $MANILA_GRENADE_SHARE_SNAPSHOT_NAME )
        for snapshot_column in 'id' 'provider_location' 'name' 'size' 'export_locations'; do
            echo $snapshot_output | grep "| $snapshot_column "
            if [[ $? != 0 ]]; then
                die $LINENO "'$snapshot_column' column was not found in output '$snapshot_output'"
            fi
        done
    fi
}

function scenario_5_destroy_share_snapshot {
    if [[ $(trueorfalse True MANILA_GRENADE_SHARE_TYPE_SNAPSHOT_SUPPORT_EXTRA_SPEC) == True ]]; then
        manila snapshot-delete $MANILA_GRENADE_SHARE_SNAPSHOT_NAME

        wait_timeout=$MANILA_GRENADE_WAIT_TIMEOUT
        found='true'
        while (( wait_timeout > 0 )) ; do
            snapshot_status=$( manila snapshot-list --columns id,name,status | \
                grep $MANILA_GRENADE_SHARE_SNAPSHOT_NAME | get_field 3)
            if [[ -z $snapshot_status ]]; then
                found='false'
                break
            elif [[ $snapshot_status == 'deleting' ]]; then
                ((wait_timeout-=$MANILA_GRENADE_WAIT_STEP))
                sleep $MANILA_GRENADE_WAIT_STEP
            elif [[ $snapshot_status == 'error_deleting' ]]; then
                die $LINENO "Share snapshot failed to be deleted."
            else
                die $LINENO "Should never reach this line."
            fi
        done
        if [[ $found == 'true' ]]; then
            die $LINENO "Share snapshot timed out to be deleted."
        else
            echo "Share snapshot has been deleted successfully."
        fi
    fi
}

#####

function scenario_6_do_share_mount_and_write_data {

    mkdir -p /tmp/manila-share
    export_path=$(resource_get manila export_path)
    share_protocol=$(resource_get manila share_protocol| awk '{print tolower($0)}')
    sudo mount -t $share_protocol $export_path /tmp/manila-share
    test_msg="Hello from the past"
    echo $test_msg | sudo tee /tmp/manila-share/testfile && sudo sync
}

function scenario_6_verify_share_mount_and_read_data {
    export_path=$(resource_get manila export_path)
    share_is_mounted=$(sudo mount | grep $export_path)
    [[ -z $share_is_mounted ]] && die $LINENO "Share $export_path is not mounted"

    read_data=$(sudo cat /tmp/manila-share/testfile|xargs)
    if [[ $read_data == "Hello from the past" ]]; then
        echo "Share data remains unmodified."
    else
        die $LINENO "Share data does not match what was written before upgrade."
    fi
}

function scenario_6_destroy_share_mount {
    export_path=$(resource_get manila export_path)
    sudo umount -f /tmp/manila-share
}


################################# Main logic ##################################

function create {
    scenario_1_do_share_with_rules_and_metadata
    scenario_2_do_attach_ss_to_sn
    scenario_3_do_quotas
    scenario_4_do_private_share_types
    scenario_5_do_share_snapshot
    scenario_6_do_share_mount_and_write_data
    echo "Manila 'create': SUCCESS"
}

function verify {
    scenario_1_verify_share_with_rules_and_metadata
    scenario_2_verify_attach_ss_to_sn
    scenario_3_verify_quotas
    scenario_4_verify_private_share_types
    scenario_5_verify_share_snapshot
    scenario_6_verify_share_mount_and_read_data
    echo "Manila 'verify': SUCCESS"
}

function destroy {
    scenario_6_destroy_share_mount
    scenario_5_destroy_share_snapshot
    scenario_1_destroy_share_with_rules_and_metadata
    scenario_2_destroy_attach_ss_to_sn
    scenario_3_destroy_quotas
    scenario_4_destroy_private_share_types
    echo "Manila 'destroy': SUCCESS"
}

function verify_noapi {
    scenario_6_verify_share_mount_and_read_data
}

################################# Dispatcher ##################################

case $1 in
    "create")
        create
        ;;
    "verify_noapi")
        verify_noapi
        ;;
    "verify")
        verify
        ;;
    "destroy")
        destroy
        ;;
    "force_destroy")
        set +o errexit
        destroy
        ;;
esac

###############################################################################