示例#1
0
 def handle(self, request, data):
     try:
         LOG.info('Attaching %s port to VIF %s' %
                  (data['port'], data['vif_id']))
         body = {'attachment': {'id': '%s' % data['vif_id']}}
         api.quantum_attach_port(request,
                                     data['network'], data['port'], body)
     except Exception, e:
         if not hasattr(e, 'message'):
             e.message = str(e)
         messages.error(request,
             _('Unable to attach port %(port)s to VIF %(vif)s: %(msg)s') %
             {"port": data['port'],
              "vif": data['vif_id'],
              "msg": e.message})
示例#2
0
    def test_port_attach(self):
        self.mox.StubOutWithMock(api, "quantum_attach_port")
        api.quantum_attach_port(IsA(http.HttpRequest),
                                'n1', 'p1', dict).AndReturn(True)
        self.mox.StubOutWithMock(api, "get_vif_ids")
        api.get_vif_ids(IsA(http.HttpRequest)).AndReturn([{
                'id': 'v1',
                'instance_name': 'instance1',
                'available': True}])

        formData = {'port': 'p1',
                    'network': 'n1',
                    'vif_id': 'v1',
                    'method': 'AttachPort'}

        self.mox.ReplayAll()

        res = self.client.post(reverse('steer:engine:networks:port_attach',
                                       args=["n1", "p1"]),
                               formData)

        self.assertRedirectsNoFollow(res,
                                     reverse('steer:engine:networks:detail',
                                             args=["n1"]))