+ self.do_with_progress_bar(
+ netwait,
+ 'Delete network %s' % netid,
+ self._waits[:5])
+
+ def _wait_for_network(self, netid, status):
+
+ def netwait(self, wait):
+ r = self.client.get_network_details(netid)
+ if r['status'] == status:
+ return
+ time.sleep(wait)
+ self.do_with_progress_bar(
+ netwait,
+ 'Wait network %s to reach status %s' % (netid, status),
+ self._waits[:5])
+
+ def _wait_for_nic(self, netid, servid, in_creation=True):
+ self._wait_for_network(netid, 'ACTIVE')
+
+ def nicwait(self, wait):
+ nics = self.client.list_server_nics(servid)
+ for net in nics:
+ found_nic = net['network_id'] == netid
+ if (in_creation and found_nic)\
+ or not (in_creation or found_nic):
+ return
+ time.sleep(wait)
+ self.do_with_progress_bar(
+ nicwait,
+ 'Wait nic-%s-%s to %sconnect' % (
+ netid,
+ servid,
+ '' if in_creation else 'dis'),
+ self._waits[:5])
+
+ def _has_status(self, servid, status):
+ r = self.client.get_server_details(servid)
+ return r['status'] == status
+
+ def _wait_for_status(self, servid, status):
+ (wait_bar, wait_cb) = self._safe_progress_bar(
+ 'Server %s in %s' % (servid, status))
+ self.client.wait_server(servid, status, wait_cb=wait_cb)
+ self._safe_progress_bar_finish(wait_bar)
+
+ def test_list_servers(self):
+ """Test list servers"""
+ self.server1 = self._create_server(
+ self.servname1,
+ self.flavorid,
+ self.img)
+ return
+ self.server2 = self._create_server(
+ self.servname2,
+ self.flavorid + 2,
+ self.img)
+ self._test_list_servers()
+
+ def _test_list_servers(self):
+ servers = self.client.list_servers()
+ dservers = self.client.list_servers(detail=True)
+
+ """detailed and simple are same size"""
+ self.assertEqual(len(dservers), len(servers))
+ for i in range(len(servers)):
+ for field in ('created',
+ 'flavorRef',
+ 'hostId',
+ 'imageRef',
+ 'progress',
+ 'status',
+ 'updated'):
+ self.assertFalse(field in servers[i])
+ self.assertTrue(field in dservers[i])
+
+ """detailed and simple contain same names"""
+ names = sorted(map(lambda x: x["name"], servers))
+ dnames = sorted(map(lambda x: x["name"], dservers))
+ self.assertEqual(names, dnames)