Skip to content

Commit 3dabe29

Browse files
authored
Merge pull request #132 from stackhpc/stackhpc/2025.1-workflows
feat: automatic update of workflows stackhpc/2025.1
2 parents 0c0c5bf + 43be603 commit 3dabe29

26 files changed

Lines changed: 1381 additions & 205 deletions
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
name: Tag & Release
3+
'on':
4+
push:
5+
branches:
6+
- stackhpc/2025.1
7+
permissions:
8+
actions: read
9+
contents: write
10+
jobs:
11+
tag-and-release:
12+
uses: stackhpc/.github/.github/workflows/tag-and-release.yml@main

.github/workflows/tox.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
name: Tox Continuous Integration
3+
'on':
4+
pull_request:
5+
jobs:
6+
tox:
7+
uses: stackhpc/.github/.github/workflows/tox.yml@main

.zuul.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@
103103
irrelevant-files: *gate-irrelevant-files
104104
- grenade-skip-level:
105105
irrelevant-files: *gate-irrelevant-files
106+
# make this template job non-voting until it gets fixed
107+
- grenade-skip-level-always:
108+
irrelevant-files: *gate-irrelevant-files
109+
voting: false
106110
- tempest-ipv6-only:
107111
irrelevant-files: *gate-irrelevant-files
108112
- openstacksdk-functional-devstack:
@@ -123,6 +127,10 @@
123127
irrelevant-files: *gate-irrelevant-files
124128
- openstacksdk-functional-devstack:
125129
irrelevant-files: *gate-irrelevant-files
130+
# make this template job non-voting until it gets fixed
131+
- grenade-skip-level-always:
132+
irrelevant-files: *gate-irrelevant-files
133+
voting: false
126134
experimental:
127135
jobs:
128136
- cinder-multibackend-matrix-migration:

cinder/tests/unit/volume/drivers/hitachi/test_hitachi_hbsd_mirror_fc.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Copyright (C) 2022, 2024, Hitachi, Ltd.
1+
# Copyright (C) 2020, 2024, Hitachi, Ltd.
2+
# Copyright (C) 2025, Hitachi Vantara
23
#
34
# Licensed under the Apache License, Version 2.0 (the "License"); you may
45
# not use this file except in compliance with the License. You may obtain
@@ -606,6 +607,7 @@ def _setup_config(self):
606607
self.configuration.hitachi_copy_speed = 3
607608
self.configuration.hitachi_copy_check_interval = 3
608609
self.configuration.hitachi_async_copy_check_interval = 10
610+
self.configuration.hitachi_manage_drs_volumes = False
609611

610612
self.configuration.san_login = CONFIG_MAP['user_id']
611613
self.configuration.san_password = CONFIG_MAP['user_pass']
@@ -1018,11 +1020,13 @@ def test_delete_volume_secondary_is_invalid_ldev(self, request):
10181020
@mock.patch.object(requests.Session, "request")
10191021
def test_extend_volume(self, request):
10201022
request.side_effect = [FakeResponse(200, GET_LDEV_RESULT),
1023+
FakeResponse(200, GET_LDEV_RESULT),
1024+
FakeResponse(200, GET_LDEV_RESULT),
10211025
FakeResponse(200, GET_LDEV_RESULT),
10221026
FakeResponse(200, GET_LDEV_RESULT),
10231027
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT)]
10241028
self.driver.extend_volume(TEST_VOLUME[0], 256)
1025-
self.assertEqual(4, request.call_count)
1029+
self.assertEqual(6, request.call_count)
10261030

10271031
@mock.patch.object(requests.Session, "request")
10281032
def test_extend_volume_replication(self, request):
@@ -1064,7 +1068,7 @@ def _request_side_effect(
10641068
500, ERROR_RESULT, headers={'Content-Type': 'json'})
10651069
request.side_effect = _request_side_effect
10661070
self.driver.extend_volume(TEST_VOLUME[4], 256)
1067-
self.assertEqual(23, request.call_count)
1071+
self.assertEqual(27, request.call_count)
10681072

10691073
@mock.patch.object(driver.FibreChannelDriver, "get_goodness_function")
10701074
@mock.patch.object(driver.FibreChannelDriver, "get_filter_function")
@@ -1155,6 +1159,8 @@ def test_create_cloned_volume(
11551159
get_volume_type_qos_specs.return_value = {'qos_specs': None}
11561160
request.side_effect = [FakeResponse(200, GET_LDEV_RESULT),
11571161
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
1162+
FakeResponse(200, GET_LDEV_RESULT),
1163+
FakeResponse(200, GET_LDEV_RESULT),
11581164
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
11591165
FakeResponse(200, GET_SNAPSHOTS_RESULT),
11601166
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT)]
@@ -1167,7 +1173,7 @@ def test_create_cloned_volume(
11671173
ret = self.driver.create_cloned_volume(TEST_VOLUME[0], TEST_VOLUME[1])
11681174
actual = {'provider_location': '1'}
11691175
self.assertEqual(actual, ret)
1170-
self.assertEqual(5, request.call_count)
1176+
self.assertEqual(7, request.call_count)
11711177

11721178
@mock.patch.object(requests.Session, "request")
11731179
@mock.patch.object(volume_types, 'get_volume_type_extra_specs')
@@ -1220,7 +1226,7 @@ def _request_side_effect(
12201226
{'pldev': 1, 'sldev': 2,
12211227
'remote-copy': hbsd_utils.MIRROR_ATTR})}
12221228
self.assertEqual(actual, ret)
1223-
self.assertEqual(23, request.call_count)
1229+
self.assertEqual(25, request.call_count)
12241230

12251231
@mock.patch.object(requests.Session, "request")
12261232
@mock.patch.object(volume_types, 'get_volume_type_extra_specs')
@@ -1233,6 +1239,8 @@ def test_create_volume_from_snapshot(
12331239
get_volume_type_qos_specs.return_value = {'qos_specs': None}
12341240
request.side_effect = [FakeResponse(200, GET_LDEV_RESULT),
12351241
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
1242+
FakeResponse(200, GET_LDEV_RESULT),
1243+
FakeResponse(200, GET_LDEV_RESULT),
12361244
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
12371245
FakeResponse(200, GET_SNAPSHOTS_RESULT),
12381246
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT)]
@@ -1246,7 +1254,7 @@ def test_create_volume_from_snapshot(
12461254
TEST_VOLUME[0], TEST_SNAPSHOT[0])
12471255
actual = {'provider_location': '1'}
12481256
self.assertEqual(actual, ret)
1249-
self.assertEqual(5, request.call_count)
1257+
self.assertEqual(7, request.call_count)
12501258

12511259
@mock.patch.object(fczm_utils, "add_fc_zone")
12521260
@mock.patch.object(requests.Session, "request")
@@ -1555,6 +1563,8 @@ def test_create_group_from_src_volume(
15551563
get_volume_type_qos_specs.return_value = {'qos_specs': None}
15561564
request.side_effect = [FakeResponse(200, GET_LDEV_RESULT),
15571565
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
1566+
FakeResponse(200, GET_LDEV_RESULT),
1567+
FakeResponse(200, GET_LDEV_RESULT),
15581568
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
15591569
FakeResponse(200, GET_SNAPSHOTS_RESULT),
15601570
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT)]
@@ -1568,7 +1578,7 @@ def test_create_group_from_src_volume(
15681578
self.ctxt, TEST_GROUP[1], [TEST_VOLUME[1]],
15691579
source_group=TEST_GROUP[0], source_vols=[TEST_VOLUME[0]]
15701580
)
1571-
self.assertEqual(5, request.call_count)
1581+
self.assertEqual(7, request.call_count)
15721582
actual = (
15731583
None,
15741584
[{'id': TEST_VOLUME[1]['id'],
@@ -1607,7 +1617,7 @@ def test_create_group_from_src_Exception(
16071617
source_group=TEST_GROUP[0],
16081618
source_vols=[TEST_VOLUME[0], TEST_VOLUME[3]]
16091619
)
1610-
self.assertEqual(10, request.call_count)
1620+
self.assertEqual(11, request.call_count)
16111621

16121622
@mock.patch.object(requests.Session, "request")
16131623
@mock.patch.object(volume_types, 'get_volume_type_extra_specs')
@@ -1620,6 +1630,8 @@ def test_create_group_from_src_snapshot(
16201630
get_volume_type_qos_specs.return_value = {'qos_specs': None}
16211631
request.side_effect = [FakeResponse(200, GET_LDEV_RESULT),
16221632
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
1633+
FakeResponse(200, GET_LDEV_RESULT),
1634+
FakeResponse(200, GET_LDEV_RESULT),
16231635
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT),
16241636
FakeResponse(200, GET_SNAPSHOTS_RESULT),
16251637
FakeResponse(202, COMPLETED_SUCCEEDED_RESULT)]
@@ -1633,7 +1645,7 @@ def test_create_group_from_src_snapshot(
16331645
self.ctxt, TEST_GROUP[0], [TEST_VOLUME[0]],
16341646
group_snapshot=TEST_GROUP_SNAP[0], snapshots=[TEST_SNAPSHOT[0]]
16351647
)
1636-
self.assertEqual(5, request.call_count)
1648+
self.assertEqual(7, request.call_count)
16371649
actual = (
16381650
None,
16391651
[{'id': TEST_VOLUME[0]['id'],
@@ -1765,4 +1777,4 @@ def _request_side_effect(
17651777
TEST_VOLUME[5])
17661778
self.assertEqual(2, get_volume_type_extra_specs.call_count)
17671779
self.assertEqual(1, get_volume_type_qos_specs.call_count)
1768-
self.assertEqual(14, request.call_count)
1780+
self.assertEqual(16, request.call_count)

0 commit comments

Comments
 (0)