Пример #1
0
    def test_create_failed(self):
        neutronV20.find_resourceid_by_name_or_id(
            mox.IsA(neutronclient.Client),
            'subnet',
            'sub123'
        ).MultipleTimes().AndReturn('sub123')
        self.stub_RouterConstraint_validate()

        neutronclient.Client.create_vpnservice(self.VPN_SERVICE_CONF).AndRaise(
            exceptions.NeutronClientException())
        self.m.ReplayAll()
        snippet = template_format.parse(vpnservice_template)
        self.stack = utils.parse_stack(snippet)
        resource_defns = self.stack.t.resource_definitions(self.stack)
        rsrc = vpnservice.VPNService('vpnservice',
                                     resource_defns['VPNService'],
                                     self.stack)
        error = self.assertRaises(exception.ResourceFailure,
                                  scheduler.TaskRunner(rsrc.create))
        self.assertEqual(
            'NeutronClientException: resources.vpnservice: '
            'An unknown exception occurred.',
            six.text_type(error))
        self.assertEqual((rsrc.CREATE, rsrc.FAILED), rsrc.state)
        self.m.VerifyAll()
Пример #2
0
    def create_vpnservice(self, resolve_neutron=True, resolve_router=True):
        self.stub_SubnetConstraint_validate()
        self.stub_RouterConstraint_validate()
        if resolve_neutron:
            neutronV20.find_resourceid_by_name_or_id(
                mox.IsA(neutronclient.Client),
                'subnet',
                'sub123'
            ).AndReturn('sub123')
            snippet = template_format.parse(vpnservice_template)
        else:
            snippet = template_format.parse(vpnservice_template_deprecated)
        if resolve_router:
            neutronV20.find_resourceid_by_name_or_id(
                mox.IsA(neutronclient.Client),
                'router',
                'rou123'
            ).AndReturn('rou123')
            props = snippet['resources']['VPNService']['properties']
            props['router'] = 'rou123'
            del props['router_id']
        neutronclient.Client.create_vpnservice(
            self.VPN_SERVICE_CONF).AndReturn({'vpnservice': {'id': 'vpn123'}})

        self.stack = utils.parse_stack(snippet)
        resource_defns = self.stack.t.resource_definitions(self.stack)
        return vpnservice.VPNService('vpnservice',
                                     resource_defns['VPNService'],
                                     self.stack)
Пример #3
0
 def create_vpnservice(self, resolve_neutron=True, resolve_router=True):
     self.stub_SubnetConstraint_validate()
     self.stub_RouterConstraint_validate()
     if resolve_neutron:
         snippet = template_format.parse(vpnservice_template)
     else:
         snippet = template_format.parse(vpnservice_template_deprecated)
     if resolve_router:
         props = snippet['resources']['VPNService']['properties']
         props['router'] = 'rou123'
         del props['router_id']
     self.mockclient.create_vpnservice.return_value = {
         'vpnservice': {'id': 'vpn123'}
     }
     self.stack = utils.parse_stack(snippet)
     resource_defns = self.stack.t.resource_definitions(self.stack)
     return vpnservice.VPNService('vpnservice',
                                  resource_defns['VPNService'],
                                  self.stack)
Пример #4
0
    def test_create_failed(self):
        self.stub_RouterConstraint_validate()

        self.mockclient.create_vpnservice.side_effect = (
            exceptions.NeutronClientException)

        snippet = template_format.parse(vpnservice_template)
        self.stack = utils.parse_stack(snippet)
        resource_defns = self.stack.t.resource_definitions(self.stack)
        rsrc = vpnservice.VPNService('vpnservice',
                                     resource_defns['VPNService'], self.stack)
        error = self.assertRaises(exception.ResourceFailure,
                                  scheduler.TaskRunner(rsrc.create))
        self.assertEqual(
            'NeutronClientException: resources.vpnservice: '
            'An unknown exception occurred.', six.text_type(error))
        self.assertEqual((rsrc.CREATE, rsrc.FAILED), rsrc.state)

        self.mockclient.create_vpnservice.assert_called_once_with(
            self.VPN_SERVICE_CONF)