diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok
index 9d0493d..dfc8d41 100644
--- a/selftest/suite_test/suite_test.ok
+++ b/selftest/suite_test/suite_test.ok
@@ -145,6 +145,16 @@
   label: m7802
   path: /wavecom_1
 tst test_suite: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/suite_test/test_work/state_dir, is_recursive=False>
+tst test_suite: RESERVED RESOURCES for test_suite:
+bts
+  sysmoCell 5000
+  sysmoCell 5000
+  sysmoBTS 1002
+ip_address
+  10.42.42.1
+modem
+  m7801
+  m7802
 
 ----------------------------------------------
 trial test_suite hello_world.py
@@ -364,6 +374,16 @@
   path: /wavecom_1
   [resource.py:[LINENR]]
 tst test_suite: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/suite_test/test_work/state_dir, is_recursive=False>  [util.py:[LINENR]]
+tst test_suite: RESERVED RESOURCES for test_suite:
+bts
+  sysmoCell 5000
+  sysmoCell 5000
+  sysmoBTS 1002
+ip_address
+  10.42.42.1
+modem
+  m7801
+  m7802  [suite.py:[LINENR]]
 
 ----------------------------------------------
 trial test_suite hello_world.py
@@ -509,6 +529,16 @@
   path: /wavecom_1
   [resource.py:[LINENR]]
 tst test_suite: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/suite_test/test_work/state_dir, is_recursive=False>  [util.py:[LINENR]]
+tst test_suite: RESERVED RESOURCES for test_suite:
+bts
+  sysmoCell 5000
+  sysmoCell 5000
+  sysmoBTS 1002
+ip_address
+  10.42.42.1
+modem
+  m7801
+  m7802  [suite.py:[LINENR]]
 
 ----------------------------------------------
 trial test_suite hello_world.py
@@ -650,6 +680,16 @@
   path: /wavecom_1
   [resource.py:[LINENR]]
 tst test_suite: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/suite_test/test_work/state_dir, is_recursive=False>  [util.py:[LINENR]]
+tst test_suite: RESERVED RESOURCES for test_suite:
+bts
+  sysmoCell 5000
+  sysmoCell 5000
+  sysmoBTS 1002
+ip_address
+  10.42.42.1
+modem
+  m7801
+  m7802  [suite.py:[LINENR]]
 resources(test_suite)={'bts': [{'_hash': 'a59640b8ba6a373552b24a6f9f65cadd2347bace',
           '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]',
           'addr': '10.42.42.53',
@@ -841,6 +881,16 @@
   path: /wavecom_1
   [resource.py:[LINENR]]
 tst test_suite: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/suite_test/test_work/state_dir, is_recursive=False>  [util.py:[LINENR]]
+tst test_suite: RESERVED RESOURCES for test_suite:
+bts
+  sysmoCell 5000
+  sysmoCell 5000
+  sysmoBTS 1002
+ip_address
+  10.42.42.1
+modem
+  m7801
+  m7802  [suite.py:[LINENR]]
 resources(test_suite)={'bts': [{'_hash': 'a59640b8ba6a373552b24a6f9f65cadd2347bace',
           '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]',
           'addr': '10.42.42.53',
@@ -944,6 +994,9 @@
   addr: 10.42.42.2
   [resource.py:[LINENR]]
 tst suiteC: DBG: FileWatch: unscheduling watch <ObservedWatch: path=[PATH]/selftest/suite_test/test_work/state_dir, is_recursive=False>  [util.py:[LINENR]]
+tst suiteC: RESERVED RESOURCES for suiteC:
+ip_address
+  10.42.42.2  [suite.py:[LINENR]]
 
 ----------------------------------------------
 trial suiteC test_template_overlay.py
diff --git a/src/osmo_gsm_tester/core/resource.py b/src/osmo_gsm_tester/core/resource.py
index 621522b..223a8f9 100644
--- a/src/osmo_gsm_tester/core/resource.py
+++ b/src/osmo_gsm_tester/core/resource.py
@@ -485,6 +485,18 @@
     def __repr__(self):
         return 'resources(%s)=%s' % (self.origin.name(), pprint.pformat(self.reserved))
 
+    def __str__(self):
+        return repr(self)
+
+    def summary_str(self, prefix=''):
+        lines = []
+        for key, reserved_list in sorted(self.reserved.items()):
+            lines.append(key)
+            for item in reserved_list:
+                label = item.get('label') or item.get('addr') or item.get('type') or item.get('_hash') or '?'
+                lines.append('  ' + label)
+        return prefix + ('\n' + prefix).join(lines)
+
     def get(self, kind, specifics=None):
         if specifics is None:
             specifics = {}
diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py
index 3860d19..3e9ecbf 100644
--- a/src/osmo_gsm_tester/core/suite.py
+++ b/src/osmo_gsm_tester/core/suite.py
@@ -160,6 +160,8 @@
             raise RuntimeError('Attempt to reserve resources twice for a SuiteRun')
         self.log('reserving resources in', self.resources_pool.state_dir, '...')
         self.reserved_resources = self.resources_pool.reserve(self, self.resource_requirements(), self.resource_modifiers())
+        # short summary of labels
+        self.log('RESERVED RESOURCES for ' + self.suite_name() + ':\n' + self.reserved_resources.summary_str())
 
     def get_reserved_resource(self, resource_class_str, specifics):
         return self.reserved_resources.get(resource_class_str, specifics=specifics)
