Raise parallel orchestration limit

Increase the max-parallel-subclouds value from 100 to 500.

Test Plan:
  - Create and apply a patch strategy to install an in-service
    patch in 500 subclouds simultaneously.
  - Create and apply a patch strategy to remove a patch from 500
    subclouds simultaneously.

Story: 2009725
Task: 44123
Change-Id: Iee9f1aee4a850a928bef332b887cabb1bcc50ed2
Signed-off-by: Tee Ngo <tee.ngo@windriver.com>
This commit is contained in:
Tee Ngo 2021-12-04 00:14:27 -05:00
parent ed5423d076
commit d9e25d44ee
5 changed files with 6 additions and 7 deletions

View File

@ -49,7 +49,7 @@ SUPPORTED_GROUP_APPLY_TYPES = [
MAX_SUBCLOUD_GROUP_NAME_LEN = 255
MAX_SUBCLOUD_GROUP_DESCRIPTION_LEN = 255
MIN_SUBCLOUD_GROUP_MAX_PARALLEL_SUBCLOUDS = 1
MAX_SUBCLOUD_GROUP_MAX_PARALLEL_SUBCLOUDS = 100
MAX_SUBCLOUD_GROUP_MAX_PARALLEL_SUBCLOUDS = 500
class SubcloudGroupsController(object):

View File

@ -154,8 +154,7 @@ class SwUpdateStrategyController(object):
max_parallel_subclouds = int(max_parallel_subclouds_str)
except ValueError:
pecan.abort(400, _('max-parallel-subclouds invalid'))
# TODO(Bart): Decide on a maximum
if max_parallel_subclouds < 1 or max_parallel_subclouds > 100:
if max_parallel_subclouds < 1 or max_parallel_subclouds > 500:
pecan.abort(400, _('max-parallel-subclouds invalid'))
stop_on_failure = payload.get('stop-on-failure')

View File

@ -79,7 +79,7 @@ class OrchThread(threading.Thread):
self._stop = threading.Event()
# Keeps track of greenthreads we create to do work.
self.thread_group_manager = scheduler.ThreadGroupManager(
thread_pool_size=100)
thread_pool_size=500)
# Track worker created for each subcloud.
self.subcloud_workers = dict()

View File

@ -70,7 +70,7 @@ class PatchOrchThread(threading.Thread):
self.audit_rpc_client = audit_rpc_client
# Keeps track of greenthreads we create to do work.
self.thread_group_manager = scheduler.ThreadGroupManager(
thread_pool_size=100)
thread_pool_size=500)
# Track worker created for each subcloud.
self.subcloud_workers = dict()
# Used to store RegionOne patches.

View File

@ -178,10 +178,10 @@ class TestSubcloudGroupPost(testroot.DCManagerApiTest,
@mock.patch.object(rpc_client, 'ManagerClient')
def test_create_with_bad_max_parallel_subclouds(self, mock_client):
# max_parallel_subclouds must be an integer between 1 and 100
# max_parallel_subclouds must be an integer between 1 and 500
ndict = self.get_post_object()
# All the entries in bad_values should be considered invalid
bad_values = [0, 101, -1, 'abc']
bad_values = [0, 501, -1, 'abc']
for bad_value in bad_values:
ndict['max_parallel_subclouds'] = bad_value
response = self.app.post_json(self.get_api_prefix(),