diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py index 731da8326a8f378f86641fda1e9acce9fa96369f..365a8a87dd5c407ed230be409b162888ef96a4f9 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py +++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py @@ -659,19 +659,19 @@ class ResourceAssigner(): def is_claimable_rcu_wise(self, needed_resources, resource_claims_rcus, rcu_resource_type_id): is_claimable = True - if resource_claims_rcus: - for res_type, used_rcus in needed_resources.items(): - if res_type == rcu_resource_type_id: - for existing_claim in resource_claims_rcus: - for existing_rcu_claim in existing_claim['used_rcus']: - length_difference = abs(len(existing_rcu_claim) - len(used_rcus)) - if len(existing_rcu_claim) < len(used_rcus): - existing_rcu_claim.ljust(length_difference, '0') - elif len(existing_rcu_claim) > len(used_rcus): - used_rcus.ljust(length_difference, '0') - - is_claimable &= all(not (int(used_rcus[idx]) & int(character)) - for idx, character in enumerate(existing_rcu_claim)) + # if resource_claims_rcus: + # for res_type, used_rcus in needed_resources.items(): + # if res_type == rcu_resource_type_id: + # for existing_claim in resource_claims_rcus: + # for existing_rcu_claim in existing_claim['used_rcus']: + # length_difference = abs(len(existing_rcu_claim) - len(used_rcus)) + # if len(existing_rcu_claim) < len(used_rcus): + # existing_rcu_claim.ljust(length_difference, '0') + # elif len(existing_rcu_claim) > len(used_rcus): + # used_rcus.ljust(length_difference, '0') + # + # is_claimable &= all(not (int(used_rcus[idx]) & int(character)) + # for idx, character in enumerate(existing_rcu_claim)) return is_claimable diff --git a/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py b/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py index 593f33504dd4e0ffa92fa716654bd65824ce5e08..2a84e1d9f6b5bdc1f2c7625a1ef77c96eda99719 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py +++ b/SAS/ResourceAssignment/ResourceAssigner/test/t_resourceassigner.py @@ -1954,30 +1954,31 @@ class ResourceAssignerTest(unittest.TestCase): self.rarpc_mock.insertResourceClaims.assert_any_call(self.task_id, [rcu_claim], 1, 'anonymous', -1) - def test_do_assignment_inserts_resource_claims_with_rcus_and_conflicting_earlier_claim(self): - used_rcus = '111100010111100101101010' - - self.rarpc_mock.insertRcuSpecifications.return_value = [1] - self.rarpc_mock.insertResourceClaims.return_value = {'ids': [1]} - self.rarpc_mock.getResourceClaims.return_value = [{ - 'used_rcus': used_rcus - }] - - rcu_claim = { - 'resource_id': 212, - 'starttime': self.task_start_time, - 'endtime': self.task_end_time, - 'status': 'claimed', - 'used_rcus': used_rcus, - 'claim_size': used_rcus.count('1') - } - - self.specification_tree['otdb_id'] = self.resources_with_rcus_otdb_id - self.specification_tree['task_type'] = 'observation' - self.task['type'] = 'observation' - self.resourceAssigner.doAssignment(self.specification_tree) - - self.rarpc_mock.insertResourceClaims.assert_not_called() + # (Ruud B): Commented out, because the is_claimable_rcu_wise() fucntionality is currently disabled + # def test_do_assignment_inserts_resource_claims_with_rcus_and_conflicting_earlier_claim(self): + # used_rcus = '111100010111100101101010' + # + # self.rarpc_mock.insertRcuSpecifications.return_value = [1] + # self.rarpc_mock.insertResourceClaims.return_value = {'ids': [1]} + # self.rarpc_mock.getResourceClaims.return_value = [{ + # 'used_rcus': used_rcus + # }] + # + # rcu_claim = { + # 'resource_id': 212, + # 'starttime': self.task_start_time, + # 'endtime': self.task_end_time, + # 'status': 'claimed', + # 'used_rcus': used_rcus, + # 'claim_size': used_rcus.count('1') + # } + # + # self.specification_tree['otdb_id'] = self.resources_with_rcus_otdb_id + # self.specification_tree['task_type'] = 'observation' + # self.task['type'] = 'observation' + # self.resourceAssigner.doAssignment(self.specification_tree) + # + # self.rarpc_mock.insertResourceClaims.assert_not_called() def test_do_assignment_logs_amount_claims_inserted(self): self.resourceAssigner.doAssignment(self.specification_tree)