示例#1
0
 def test_get_port_status_invalid_lswitch(self):
     try:
         nvplib.get_port_status(self.quantum.controller,
                                "invalid-lswitch",
                                "invalid-port")
     except exception.NetworkNotFound:
         return
     # Shouldn't be reached
     self.assertTrue(False)
示例#2
0
 def test_get_port_status_invalid_lswitch(self):
     try:
         nvplib.get_port_status(self.quantum.controller,
                                "invalid-lswitch",
                                "invalid-port")
     except exception.NetworkNotFound:
         return
     # Shouldn't be reached
     self.assertTrue(False)
示例#3
0
    def test_get_port_status_invalid_port(self):
        resp = self.quantum.create_custom_network("quantum-test-tenant",
                                                  "quantum-Private-TenantA",
                                                  self.BRIDGE_TZ_UUID,
                                                  self.quantum.controller)
        net_id = resp["net-id"]
        self.networks.append(net_id)

        try:
            nvplib.get_port_status(self.quantum.controller, net_id,
                                   "invalid-port")
        except exception.PortNotFound:
            return
        # Shouldn't be reached
        self.assertTrue(False)
示例#4
0
    def test_get_port_status_invalid_port(self):
        resp = self.quantum.create_custom_network("quantum-test-tenant",
                                                  "quantum-Private-TenantA",
                                                  self.BRIDGE_TZ_UUID,
                                                  self.quantum.controller)
        net_id = resp["net-id"]
        self.networks.append(net_id)

        try:
            nvplib.get_port_status(self.quantum.controller, net_id,
                                   "invalid-port")
        except exception.PortNotFound:
            return
        # Shouldn't be reached
        self.assertTrue(False)
示例#5
0
 def test_get_port_status_returns_the_right_stuff(self):
     resp = self.quantum.create_custom_network("quantum-test-tenant",
                                               "quantum-Private-TenantA",
                                               self.BRIDGE_TZ_UUID,
                                               self.quantum.controller)
     net_id = resp["net-id"]
     self.networks.append(net_id)
     resp = self.quantum.create_port("quantum-test-tenant", net_id,
                                     "ACTIVE")
     port_id = resp["port-id"]
     self.ports.append((net_id, port_id))
     res = nvplib.get_port_status(self.quantum.controller, net_id, port_id)
     self.assertTrue(res in ['UP', 'DOWN', 'PROVISIONING'])
示例#6
0
 def test_get_port_status_returns_the_right_stuff(self):
     resp = self.quantum.create_custom_network("quantum-test-tenant",
                                               "quantum-Private-TenantA",
                                               self.BRIDGE_TZ_UUID,
                                               self.quantum.controller)
     net_id = resp["net-id"]
     self.networks.append(net_id)
     resp = self.quantum.create_port("quantum-test-tenant", net_id,
                                     "ACTIVE")
     port_id = resp["port-id"]
     self.ports.append((net_id, port_id))
     res = nvplib.get_port_status(self.quantum.controller, net_id, port_id)
     self.assertTrue(res in ['UP', 'DOWN', 'PROVISIONING'])
示例#7
0
    def update_port(self, context, id, port):
        self._enforce_set_auth(context, port,
                               self.port_security_enabled_update)
        tenant_id = self._get_tenant_id_for_create(context, port)
        with context.session.begin(subtransactions=True):
            ret_port = super(NvpPluginV2, self).update_port(
                context, id, port)
            # copy values over
            ret_port.update(port['port'])

            # Handle port security
            if psec.PORTSECURITY in port['port']:
                self._update_port_security_binding(
                    context, id, ret_port[psec.PORTSECURITY])
            # populate with value
            else:
                ret_port[psec.PORTSECURITY] = self._get_port_security_binding(
                    context, id)

            port_nvp, cluster = (
                nvplib.get_port_by_quantum_tag(self.clusters.itervalues(),
                                               ret_port["network_id"], id))
            LOG.debug(_("Update port request: %s"), port)
            nvplib.update_port(cluster, ret_port['network_id'],
                               port_nvp['uuid'], id, tenant_id,
                               ret_port['name'], ret_port['device_id'],
                               ret_port['admin_state_up'],
                               ret_port['mac_address'],
                               ret_port['fixed_ips'],
                               ret_port[psec.PORTSECURITY])

        # Update the port status from nvp. If we fail here hide it since
        # the port was successfully updated but we were not able to retrieve
        # the status.
        try:
            ret_port['status'] = nvplib.get_port_status(
                cluster, ret_port['network_id'], port_nvp['uuid'])
        except:
            LOG.warn(_("Unable to retrieve port status for: %s."),
                     port_nvp['uuid'])
        return ret_port