コード例 #1
0
ファイル: manager.py プロジェクト: claudiubelu/tempest
 def _create_port(self, network, namestart='port-quotatest-'):
     name = data_utils.rand_name(namestart)
     body = dict(port=dict(
         name=name, network_id=network.id, tenant_id=network.tenant_id))
     result = self.network_client.create_port(body=body)
     self.assertIsNotNone(result, 'Unable to allocate port')
     port = net_common.DeletablePort(client=self.network_client,
                                     **result['port'])
     self.set_resource(name, port)
     return port
コード例 #2
0
    def _hotplug_server(self):
        old_floating_ip, server = self.floating_ip_tuple
        ip_address = old_floating_ip.floating_ip_address
        private_key = self.servers[server].private_key
        ssh_client = self.get_remote_client(ip_address,
                                            private_key=private_key)
        old_nic_list = self._get_server_nics(ssh_client)
        # get a port from a list of one item
        port_list = self._list_ports(device_id=server.id)
        self.assertEqual(1, len(port_list))
        old_port = port_list[0]
        self.compute_client.servers.interface_attach(server=server,
                                                     net_id=self.new_net.id,
                                                     port_id=None,
                                                     fixed_ip=None)
        # move server to the head of the cleanup list
        self.addCleanup(self.delete_timeout,
                        self.compute_client.servers,
                        server.id)
        self.addCleanup(self.delete_wrapper, server)

        def check_ports():
            port_list = [port for port in
                         self._list_ports(device_id=server.id)
                         if port != old_port]
            return len(port_list) == 1

        test.call_until_true(check_ports, 60, 1)
        new_port_list = [p for p in
                         self._list_ports(device_id=server.id)
                         if p != old_port]
        self.assertEqual(1, len(new_port_list))
        new_port = new_port_list[0]
        new_port = net_common.DeletablePort(client=self.network_client,
                                            **new_port)
        new_nic_list = self._get_server_nics(ssh_client)
        diff_list = [n for n in new_nic_list if n not in old_nic_list]
        self.assertEqual(1, len(diff_list))
        num, new_nic = diff_list[0]
        ssh_client.assign_static_ip(nic=new_nic,
                                    addr=new_port.fixed_ips[0]['ip_address'])
        ssh_client.turn_nic_on(nic=new_nic)