102 lines
3.2 KiB
Python
102 lines
3.2 KiB
Python
# Copyright 2021 Red Hat, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
import sys
|
|
try:
|
|
from unittest import mock
|
|
except ImportError:
|
|
import mock
|
|
|
|
sys.modules['uuidutils'] = mock.MagicMock()
|
|
sys.modules['xml.etree'] = mock.MagicMock()
|
|
sys.modules['glanceclient.exc'] = mock.MagicMock()
|
|
sys.modules['ironic_inspector_client'] = mock.MagicMock()
|
|
sys.modules['novaclient.exceptions'] = mock.MagicMock()
|
|
|
|
MOCK_CPUS_RET_VALUE = (
|
|
[0, 1],
|
|
[{'numa_node': 0, 'thread_siblings': [0, 2], 'cpu': 0},
|
|
{'numa_node': 0, 'thread_siblings': [4, 6], 'cpu': 4},
|
|
{'numa_node': 0, 'thread_siblings': [8, 10], 'cpu': 8},
|
|
{'numa_node': 1, 'thread_siblings': [1, 3], 'cpu': 1},
|
|
{'numa_node': 1, 'thread_siblings': [5, 7], 'cpu': 5},
|
|
{'numa_node': 1, 'thread_siblings': [9, 11], 'cpu': 9}
|
|
])
|
|
|
|
MOCK_ROLES_INFO = [
|
|
{
|
|
'name': 'foo',
|
|
'flavor': 'bar',
|
|
'count': 9999}]
|
|
|
|
MOCK_FLAVORS = {
|
|
'ok': {
|
|
'bar': {
|
|
'keys': {
|
|
'resources:fizz': 'fizz',
|
|
'resources:buzz': 'buzz',
|
|
'resources:DISK_GB': 1,
|
|
'MEMORY_MB': 10,
|
|
'VCPU': 100
|
|
}
|
|
}
|
|
},
|
|
'fail_NOVCPU': {
|
|
'bar': {
|
|
'keys': {
|
|
'resources:fizz': 'fizz',
|
|
'resources:buzz': 'buzz',
|
|
'resources:DISK_GB': 1,
|
|
'MEMORY_MB': 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
MOCK_FLAVORS_CHECK_EXPECTED = {
|
|
'ok': (
|
|
{'bar': (
|
|
({'keys': {
|
|
'resources:fizz': 'fizz',
|
|
'resources:buzz': 'buzz',
|
|
'resources:DISK_GB': 1,
|
|
'MEMORY_MB': 10,
|
|
'VCPU': 100
|
|
}},
|
|
9999)
|
|
)},
|
|
[],
|
|
[
|
|
'Flavor bar does not have a custom resource class associated with it',
|
|
'Flavor bar has to have scheduling based on standard properties disabled by setting resources:VCPU=0 resources:MEMORY_MB=0 resources:DISK_GB=0 in the flavor property'
|
|
]
|
|
),
|
|
'fail_NOVCPU': (
|
|
{'bar': (
|
|
({'keys': {
|
|
'resources:fizz': 'fizz',
|
|
'resources:buzz': 'buzz',
|
|
'resources:DISK_GB': 1,
|
|
'MEMORY_MB': 10,
|
|
}},
|
|
9999)
|
|
)},
|
|
[],
|
|
[
|
|
'Flavor bar does not have a custom resource class associated with it',
|
|
'Flavor bar has to have scheduling based on standard properties disabled by setting resources:VCPU=0 resources:MEMORY_MB=0 resources:DISK_GB=0 in the flavor property'
|
|
]
|
|
)
|
|
}
|