~ubuntu-branches/ubuntu/vivid/heat/vivid-updates

« back to all changes in this revision

Viewing changes to heat/tests/test_server.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2015-04-15 13:55:31 UTC
  • mfrom: (1.1.24)
  • Revision ID: package-import@ubuntu.com-20150415135531-ife9cdiuch673nsf
Tags: 2015.1~rc1-0ubuntu1
* New upstream milestone release for Openstack kilo;
  - d/control: Align with upstream dependencies. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
99
99
    def setUp(self):
100
100
        super(ServersTest, self).setUp()
101
101
        self.fc = fakes_v1_1.FakeClient()
102
 
        self.stub_keystoneclient()
103
102
        self.limits = self.m.CreateMockAnything()
104
103
        self.limits.absolute = self._limits_absolute()
105
104
 
880
879
            config_drive=None, disk_config=None, reservation_id=None,
881
880
            files={}, admin_pass='foo')
882
881
 
 
882
    def test_server_create_with_stack_scheduler_hints(self):
 
883
        return_server = self.fc.servers.list()[1]
 
884
        return_server.id = '5678'
 
885
        servers.cfg.CONF.set_override('stack_scheduler_hints', True)
 
886
        # Unroll _create_test_server, to enable check
 
887
        # for addition of heat ids (stack id, resource name)
 
888
        stack_name = 'test_server_w_stack_sched_hints_s'
 
889
        server_name = 'server_w_stack_sched_hints'
 
890
        (t, stack) = self._get_test_template(stack_name, server_name)
 
891
 
 
892
        resource_defns = t.resource_definitions(stack)
 
893
        server = servers.Server(server_name,
 
894
                                resource_defns['WebServer'], stack)
 
895
 
 
896
        self._mock_get_image_id_success('CentOS 5.2', 1,
 
897
                                        server_rebuild=False)
 
898
 
 
899
        self.m.StubOutWithMock(nova.NovaClientPlugin, '_create')
 
900
        nova.NovaClientPlugin._create().MultipleTimes().AndReturn(self.fc)
 
901
 
 
902
        self.m.StubOutWithMock(self.fc.servers, 'create')
 
903
        self.fc.servers.create(
 
904
            image=1, flavor=1, key_name='test',
 
905
            name=server_name,
 
906
            security_groups=[],
 
907
            userdata=mox.IgnoreArg(),
 
908
            scheduler_hints={'heat_root_stack_id': stack.root_stack.id,
 
909
                             'heat_stack_id': stack.id,
 
910
                             'heat_stack_name': stack.name,
 
911
                             'heat_path_in_stack': [(None, stack.name)],
 
912
                             'heat_resource_name': server.name},
 
913
            meta=None, nics=None, availability_zone=None,
 
914
            block_device_mapping=None, block_device_mapping_v2=None,
 
915
            config_drive=None, disk_config=None, reservation_id=None,
 
916
            files={}, admin_pass=None).AndReturn(return_server)
 
917
 
 
918
        self.m.ReplayAll()
 
919
        scheduler.TaskRunner(server.create)()
 
920
        # this makes sure the auto increment worked on server creation
 
921
        self.assertTrue(server.id > 0)
 
922
 
 
923
        self.m.VerifyAll()
 
924
 
883
925
    def test_check_maximum(self):
884
926
        msg = 'test_check_maximum'
885
927
        self.assertIsNone(servers.Server._check_maximum(1, 1, msg))
2438
2480
 
2439
2481
        return fake_interface(port, net, ip)
2440
2482
 
 
2483
    def test_get_network_id_neutron(self):
 
2484
        return_server = self.fc.servers.list()[3]
 
2485
        server = self._create_test_server(return_server, 'networks_update')
 
2486
 
 
2487
        self.patchobject(server, 'is_using_neutron', return_value=True)
 
2488
 
 
2489
        net = {'port': '2a60cbaa-3d33-4af6-a9ce-83594ac546fc'}
 
2490
        net_id = server._get_network_id(net)
 
2491
        self.assertEqual(None, net_id)
 
2492
 
 
2493
        net = {'network': 'f3ef5d2f-d7ba-4b27-af66-58ca0b81e032',
 
2494
               'fixed_ip': '1.2.3.4'}
 
2495
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2496
                         return_value='f3ef5d2f-d7ba-4b27-af66-58ca0b81e032')
 
2497
        net_id = server._get_network_id(net)
 
2498
        self.assertEqual('f3ef5d2f-d7ba-4b27-af66-58ca0b81e032', net_id)
 
2499
 
 
2500
        net = {'network': 'private_net',
 
2501
               'fixed_ip': '1.2.3.4'}
 
2502
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2503
                         return_value='f3ef5d2f-d7ba-4b27-af66-58ca0b81e032')
 
2504
        net_id = server._get_network_id(net)
 
2505
        self.assertEqual('f3ef5d2f-d7ba-4b27-af66-58ca0b81e032', net_id)
 
2506
 
 
2507
    def test_get_network_id_nova(self):
 
2508
        return_server = self.fc.servers.list()[3]
 
2509
        server = self._create_test_server(return_server, 'networks_update')
 
2510
 
 
2511
        self.patchobject(server, 'is_using_neutron', return_value=False)
 
2512
 
 
2513
        net = {'port': '2a60cbaa-3d33-4af6-a9ce-83594ac546fc'}
 
2514
 
 
2515
        net_id = server._get_network_id(net)
 
2516
        self.assertEqual(None, net_id)
 
2517
 
 
2518
        net = {'network': 'f3ef5d2f-d7ba-4b27-af66-58ca0b81e032',
 
2519
               'fixed_ip': '1.2.3.4'}
 
2520
 
 
2521
        self.patchobject(nova.NovaClientPlugin, 'get_nova_network_id',
 
2522
                         return_value='f3ef5d2f-d7ba-4b27-af66-58ca0b81e032')
 
2523
        net_id = server._get_network_id(net)
 
2524
        self.assertEqual('f3ef5d2f-d7ba-4b27-af66-58ca0b81e032', net_id)
 
2525
 
 
2526
        net = {'network': 'private_net',
 
2527
               'fixed_ip': '1.2.3.4'}
 
2528
        self.patchobject(nova.NovaClientPlugin, 'get_nova_network_id',
 
2529
                         return_value='f3ef5d2f-d7ba-4b27-af66-58ca0b81e032')
 
2530
        net_id = server._get_network_id(net)
 
2531
        self.assertEqual('f3ef5d2f-d7ba-4b27-af66-58ca0b81e032', net_id)
 
2532
 
2441
2533
    def test_get_network_matches_no_matching(self):
2442
2534
        return_server = self.fc.servers.list()[3]
2443
2535
        server = self._create_test_server(return_server, 'networks_update')
2502
2594
            self.create_old_net(port='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'),
2503
2595
            self.create_old_net(net='gggggggg-1111-1111-1111-gggggggggggg',
2504
2596
                                ip='1.2.3.4'),
2505
 
            self.create_old_net(net='f3ef5d2f-d7ba-4b27-af66-58ca0b81e032'),
 
2597
            self.create_old_net(net='gggggggg-1111-1111-1111-gggggggggggg'),
2506
2598
            self.create_old_net(port='dddddddd-dddd-dddd-dddd-dddddddddddd'),
2507
2599
            self.create_old_net(uuid='gggggggg-1111-1111-1111-gggggggggggg',
2508
2600
                                ip='5.6.7.8'),
2514
2606
            self.create_fake_iface('cccccccc-cccc-cccc-cccc-cccccccccccc',
2515
2607
                                   nets[2]['network'], '10.0.0.11'),
2516
2608
            self.create_fake_iface(nets[3]['port'],
2517
 
                                   'f3ef5d2f-d7ba-4b27-af66-58ca0b81e032',
 
2609
                                   'gggggggg-1111-1111-1111-gggggggggggg',
2518
2610
                                   '10.0.0.12'),
2519
2611
            self.create_fake_iface(nets[0]['port'],
2520
2612
                                   'gggggggg-1111-1111-1111-gggggggggggg',
2534
2626
             'fixed_ip': '1.2.3.4',
2535
2627
             'uuid': None},
2536
2628
            {'port': 'cccccccc-cccc-cccc-cccc-cccccccccccc',
2537
 
             'network': 'f3ef5d2f-d7ba-4b27-af66-58ca0b81e032',
 
2629
             'network': 'gggggggg-1111-1111-1111-gggggggggggg',
2538
2630
             'fixed_ip': None,
2539
2631
             'uuid': None},
2540
2632
            {'port': 'dddddddd-dddd-dddd-dddd-dddddddddddd',
2550
2642
             'fixed_ip': None,
2551
2643
             'uuid': '0da8adbf-a7e2-4c59-a511-96b03d2da0d7'}]
2552
2644
 
 
2645
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2646
                         return_value='gggggggg-1111-1111-1111-gggggggggggg')
 
2647
 
2553
2648
        server.update_networks_matching_iface_port(nets, interfaces)
2554
2649
        self.assertEqual(expected, nets)
2555
2650
 
2616
2711
        return_server.interface_attach(None, new_networks[0]['network'],
2617
2712
                                       new_networks[0]['fixed_ip']).AndReturn(
2618
2713
                                           None)
 
2714
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2715
                         return_value='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa')
2619
2716
        self.stub_NetworkConstraint_validate()
2620
2717
        self.m.ReplayAll()
2621
2718
 
2712
2809
        return_server.interface_detach(
2713
2810
            poor_interfaces[3].port_id).InAnyOrder().AndReturn(None)
2714
2811
 
 
2812
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2813
                         return_value='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa')
2715
2814
        self.m.StubOutWithMock(return_server, 'interface_attach')
2716
2815
        return_server.interface_attach(
2717
2816
            new_networks[1]['port'], None, None).AndReturn(None)
2755
2854
                                   '31.32.33.34')
2756
2855
        ]
2757
2856
 
 
2857
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2858
                         return_value='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa')
2758
2859
        return_server.interface_list().AndReturn(poor_interfaces)
2759
2860
 
2760
2861
        self.m.StubOutWithMock(return_server, 'interface_detach')
2805
2906
                                   '31.32.33.34')
2806
2907
        ]
2807
2908
 
 
2909
        self.patchobject(neutron.NeutronClientPlugin, 'resolve_network',
 
2910
                         return_value='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa')
 
2911
 
2808
2912
        return_server.interface_list().AndReturn(poor_interfaces)
2809
2913
 
2810
2914
        self.m.StubOutWithMock(return_server, 'interface_detach')