| - expect solutions: |
| [0, 1, 2] |
| [0, 1, 2] |
| [1, 0, 2] |
| [1, 2, 0] |
| - expect failure to solve: |
| The requested resource requirements are not solvable [[0, 2], [2], [0, 2]] |
| - test removing a Resources list from itself |
| ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. |
| - test removing a Resources list from one with the same list in it |
| - test resources config and state dir: |
| cnf -: DBG: Found main configuration file in [PATH]/selftest/resource_test/conf/paths.conf which is [PATH]/selftest/resource_test/conf/paths.conf |
| cnf -: DBG: MAIN CONFIG: |
| {'default_suites_conf_path': '[PATH]/selftest/resource_test/conf/default-suites.conf', |
| 'defaults_conf_path': '[PATH]/selftest/resource_test/conf/defaults.conf', |
| 'resource_conf_path': '[PATH]/selftest/resource_test/conf/resources.conf', |
| 'scenarios_dir': ['[PATH]/selftest/resource_test/conf/scenarios'], |
| 'state_dir': '[PATH]/selftest/resource_test/conf/test_work/state_dir', |
| 'suites_dir': ['[PATH]/selftest/resource_test/conf/suite_test'], |
| 'trial_dir': '[PATH]/selftest/resource_test/conf/trial'} |
| *** all resources: |
| {'bts': [{'_hash': 'd2aa7c1124943de352351b650ca0c751784da6b6', |
| 'addr': '10.42.42.114', |
| 'band': 'GSM-1800', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'direct_pcu': 'True', |
| 'ipa_unit_id': '1', |
| 'label': 'sysmoBTS 1002', |
| 'type': 'osmo-bts-sysmo'}, |
| {'_hash': '2158317d5e0055070e7174c2498dedf53a2957e9', |
| 'addr': '10.42.42.50', |
| 'band': 'GSM-1800', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'ipa_unit_id': '6', |
| 'label': 'Ettus B200', |
| 'osmo_trx': {'clock_reference': 'external', 'launch_trx': 'True'}, |
| 'type': 'osmo-bts-trx'}, |
| {'_hash': 'f964ba5fe7a37b97ec3e0c4ef21c9231a19de45d', |
| 'addr': '10.42.42.51', |
| 'band': 'GSM-1800', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'ipa_unit_id': '7', |
| 'label': 'sysmoCell 5000', |
| 'osmo_trx': {'clock_reference': 'external', |
| 'launch_trx': 'False', |
| 'trx_ip': '10.42.42.112'}, |
| 'type': 'osmo-bts-trx'}], |
| 'ip_address': [{'_hash': 'fd103b22c7cf2480d609150e06f4bbd92ac78d8c', |
| 'addr': '10.42.42.2'}, |
| {'_hash': '1c614d6210c551d142aadca8f25e1534ebb2a70f', |
| 'addr': '10.42.42.3'}, |
| {'_hash': '862b529c701adf302477bc126a8032cfc2ec4753', |
| 'addr': '10.42.42.4'}, |
| {'_hash': '05feb6e1e24ca4235889eb28d0a8d5cedac6e5d1', |
| 'addr': '10.42.42.5'}, |
| {'_hash': 'e780ac7581ad29f8f46e637b61d0c38898c4c52c', |
| 'addr': '10.42.42.6'}], |
| 'modem': [{'_hash': '0b538cb6ad799fbd7c2953fd3b4463a76c7cc9c0', |
| 'auth_algo': 'comp128v1', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'imsi': '901700000009031', |
| 'ki': '80A37E6FDEA931EAC92FFA5F671EFEAD', |
| 'label': 'sierra_1', |
| 'path': '/sierra_1'}, |
| {'_hash': '3a6e7747dfe7dfdf817bd3351031bd08051605c3', |
| 'auth_algo': 'comp128v1', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'imsi': '901700000009029', |
| 'ki': '00969E283349D354A8239E877F2E0866', |
| 'label': 'sierra_2', |
| 'path': '/sierra_2'}, |
| {'_hash': 'f6ba17db2ad13da5ba5c54b5385a774f5351bb5a', |
| 'auth_algo': 'comp128v1', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'imsi': '901700000009030', |
| 'ki': 'BB70807226393CDBAC8DD3439FF54252', |
| 'label': 'gobi_0', |
| 'path': '/gobi_0'}, |
| {'_hash': 'fbff2e4f06b727fc8a70da23e1d134f9cd763919', |
| 'auth_algo': 'comp128v1', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'imsi': '901700000009032', |
| 'ki': '2F70DCA43C45ACB97E947FDD0C7CA30A', |
| 'label': 'gobi_3', |
| 'path': '/gobi_3'}]} |
| *** end: all resources |
| |
| - request some resources |
| --- testowner: Verifying 2 x bts (candidates: 3) |
| --- testowner: DBG: Picked - _hash: d2aa7c1124943de352351b650ca0c751784da6b6 |
| addr: 10.42.42.114 |
| band: GSM-1800 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| direct_pcu: 'True' |
| ipa_unit_id: '1' |
| label: sysmoBTS 1002 |
| type: osmo-bts-sysmo |
| - _hash: 2158317d5e0055070e7174c2498dedf53a2957e9 |
| addr: 10.42.42.50 |
| band: GSM-1800 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| ipa_unit_id: '6' |
| label: Ettus B200 |
| osmo_trx: |
| clock_reference: external |
| launch_trx: 'True' |
| type: osmo-bts-trx |
| --- testowner: Verifying 1 x ip_address (candidates: 5) |
| --- testowner: DBG: Picked - _hash: fd103b22c7cf2480d609150e06f4bbd92ac78d8c |
| addr: 10.42.42.2 |
| --- testowner: Verifying 2 x modem (candidates: 4) |
| --- testowner: DBG: Picked - _hash: 0b538cb6ad799fbd7c2953fd3b4463a76c7cc9c0 |
| auth_algo: comp128v1 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| imsi: '901700000009031' |
| ki: 80A37E6FDEA931EAC92FFA5F671EFEAD |
| label: sierra_1 |
| path: /sierra_1 |
| - _hash: 3a6e7747dfe7dfdf817bd3351031bd08051605c3 |
| auth_algo: comp128v1 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| imsi: '901700000009029' |
| ki: 00969E283349D354A8239E877F2E0866 |
| label: sierra_2 |
| path: /sierra_2 |
| --- testowner: DBG: FileWatch: scheduling watch for directory [PATH]/selftest/resource_test/conf/test_work/state_dir |
| --- testowner: Reserving 2 x bts (candidates: 3) |
| --- testowner: DBG: Picked - _hash: d2aa7c1124943de352351b650ca0c751784da6b6 |
| addr: 10.42.42.114 |
| band: GSM-1800 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| direct_pcu: 'True' |
| ipa_unit_id: '1' |
| label: sysmoBTS 1002 |
| type: osmo-bts-sysmo |
| - _hash: 2158317d5e0055070e7174c2498dedf53a2957e9 |
| addr: 10.42.42.50 |
| band: GSM-1800 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| ipa_unit_id: '6' |
| label: Ettus B200 |
| osmo_trx: |
| clock_reference: external |
| launch_trx: 'True' |
| type: osmo-bts-trx |
| --- testowner: Reserving 1 x ip_address (candidates: 5) |
| --- testowner: DBG: Picked - _hash: fd103b22c7cf2480d609150e06f4bbd92ac78d8c |
| addr: 10.42.42.2 |
| --- testowner: Reserving 2 x modem (candidates: 4) |
| --- testowner: DBG: Picked - _hash: 0b538cb6ad799fbd7c2953fd3b4463a76c7cc9c0 |
| auth_algo: comp128v1 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| imsi: '901700000009031' |
| ki: 80A37E6FDEA931EAC92FFA5F671EFEAD |
| label: sierra_1 |
| path: /sierra_1 |
| - _hash: 3a6e7747dfe7dfdf817bd3351031bd08051605c3 |
| auth_algo: comp128v1 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| imsi: '901700000009029' |
| ki: 00969E283349D354A8239E877F2E0866 |
| label: sierra_2 |
| path: /sierra_2 |
| --- testowner: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/resource_test/conf/test_work/state_dir, is_recursive=False> |
| ~~~ currently reserved: |
| bts: |
| - _hash: d2aa7c1124943de352351b650ca0c751784da6b6 |
| _reserved_by: testowner-123-1490837279 |
| addr: 10.42.42.114 |
| band: GSM-1800 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| direct_pcu: 'True' |
| ipa_unit_id: '1' |
| label: sysmoBTS 1002 |
| type: osmo-bts-sysmo |
| - _hash: 2158317d5e0055070e7174c2498dedf53a2957e9 |
| _reserved_by: testowner-123-1490837279 |
| addr: 10.42.42.50 |
| band: GSM-1800 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| ipa_unit_id: '6' |
| label: Ettus B200 |
| osmo_trx: |
| clock_reference: external |
| launch_trx: 'True' |
| type: osmo-bts-trx |
| ip_address: |
| - _hash: fd103b22c7cf2480d609150e06f4bbd92ac78d8c |
| _reserved_by: testowner-123-1490837279 |
| addr: 10.42.42.2 |
| modem: |
| - _hash: 0b538cb6ad799fbd7c2953fd3b4463a76c7cc9c0 |
| _reserved_by: testowner-123-1490837279 |
| auth_algo: comp128v1 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| imsi: '901700000009031' |
| ki: 80A37E6FDEA931EAC92FFA5F671EFEAD |
| label: sierra_1 |
| path: /sierra_1 |
| - _hash: 3a6e7747dfe7dfdf817bd3351031bd08051605c3 |
| _reserved_by: testowner-123-1490837279 |
| auth_algo: comp128v1 |
| ciphers: |
| - a5_0 |
| - a5_1 |
| imsi: '901700000009029' |
| ki: 00969E283349D354A8239E877F2E0866 |
| label: sierra_2 |
| path: /sierra_2 |
| |
| ~~~ end: currently reserved |
| |
| ~~~ with modifiers: |
| resources(testowner)={'bts': [{'_hash': 'd2aa7c1124943de352351b650ca0c751784da6b6', |
| '_reserved_by': 'testowner-123-1490837279', |
| 'addr': '10.42.42.114', |
| 'band': 'GSM-1800', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'direct_pcu': 'True', |
| 'ipa_unit_id': '1', |
| 'label': 'sysmoBTS 1002', |
| 'type': 'osmo-bts-sysmo'}, |
| {'_hash': '2158317d5e0055070e7174c2498dedf53a2957e9', |
| '_reserved_by': 'testowner-123-1490837279', |
| 'addr': '10.42.42.50', |
| 'band': 'GSM-1800', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'ipa_unit_id': '6', |
| 'label': 'Ettus B200', |
| 'num_trx': 2, |
| 'osmo_trx': {'clock_reference': 'external', 'launch_trx': 'True'}, |
| 'type': 'osmo-bts-trx'}], |
| 'ip_address': [{'_hash': 'fd103b22c7cf2480d609150e06f4bbd92ac78d8c', |
| '_reserved_by': 'testowner-123-1490837279', |
| 'addr': '10.42.42.2'}], |
| 'modem': [{'_hash': '0b538cb6ad799fbd7c2953fd3b4463a76c7cc9c0', |
| '_reserved_by': 'testowner-123-1490837279', |
| 'auth_algo': 'comp128v1', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'imsi': '901700000009031', |
| 'ki': '80A37E6FDEA931EAC92FFA5F671EFEAD', |
| 'label': 'sierra_1', |
| 'path': '/sierra_1'}, |
| {'_hash': '3a6e7747dfe7dfdf817bd3351031bd08051605c3', |
| '_reserved_by': 'testowner-123-1490837279', |
| 'auth_algo': 'comp128v1', |
| 'ciphers': ['a5_0', 'a5_1'], |
| 'imsi': '901700000009029', |
| 'ki': '00969E283349D354A8239E877F2E0866', |
| 'label': 'sierra_2', |
| 'path': '/sierra_2'}]} |
| ~~~ end: with modifiers: |
| ~~~ currently reserved: |
| {} |
| |
| ~~~ end: currently reserved |
| |
| - item_matches: |
| 1st subset matches correctly, pass |
| 2nd subset matches correctly, pass |
| 3rd subset should not match, pass |
| 3rd subset should not match, pass |
| 4th subset should not match, pass |
| *** concurrent allocation: |
| --- testowner1: Verifying 2 x bts (candidates: 3) |
| --- testowner1: Verifying 1 x ip_address (candidates: 5) |
| --- testowner1: Verifying 2 x modem (candidates: 4) |
| --- testowner1: Reserving 2 x bts (candidates: 3) |
| --- testowner1: Reserving 1 x ip_address (candidates: 5) |
| --- testowner1: Reserving 2 x modem (candidates: 4) |
| - 2nd instance reserve() start |
| --- testowner2: Verifying 2 x bts (candidates: 3) |
| --- testowner2: Verifying 1 x ip_address (candidates: 5) |
| --- testowner2: Verifying 2 x modem (candidates: 4) |
| --- testowner2: Reserving 2 x bts (candidates: 1) |
| --- testowner2: Unable to reserve resources, too many currently reserved. Waiting until some are available again |
| - 1st instance free() |
| --- testowner2: Reserving 2 x bts (candidates: 3) |
| --- testowner2: Reserving 1 x ip_address (candidates: 5) |
| --- testowner2: Reserving 2 x modem (candidates: 4) |
| - 2nd instance reserve() done |
| *** end: concurrent allocation |