@@ -329,6 +329,62 @@ const HypervisorGetBody = `
329
329
}
330
330
`
331
331
332
+ // HypervisorGetPost253Body represents a raw hypervisor GET result with Pike+
333
+ // release with optional server list
334
+ const HypervisorGetPost253Body = `
335
+ {
336
+ "hypervisor":{
337
+ "cpu_info":{
338
+ "arch":"x86_64",
339
+ "model":"Nehalem",
340
+ "vendor":"Intel",
341
+ "features":[
342
+ "pge",
343
+ "clflush"
344
+ ],
345
+ "topology":{
346
+ "cores":1,
347
+ "threads":1,
348
+ "sockets":4
349
+ }
350
+ },
351
+ "current_workload":0,
352
+ "status":"enabled",
353
+ "state":"up",
354
+ "servers": [
355
+ {
356
+ "name": "test_server1",
357
+ "uuid": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
358
+ },
359
+ {
360
+ "name": "test_server2",
361
+ "uuid": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
362
+ }
363
+ ],
364
+ "disk_available_least":0,
365
+ "host_ip":"1.1.1.1",
366
+ "free_disk_gb":1028,
367
+ "free_ram_mb":7680,
368
+ "hypervisor_hostname":"fake-mini",
369
+ "hypervisor_type":"fake",
370
+ "hypervisor_version":2002000,
371
+ "id":"c48f6247-abe4-4a24-824e-ea39e108874f",
372
+ "local_gb":1028,
373
+ "local_gb_used":0,
374
+ "memory_mb":8192,
375
+ "memory_mb_used":512,
376
+ "running_vms":2,
377
+ "service":{
378
+ "host":"e6a37ee802d74863ab8b91ade8f12a67",
379
+ "id":"9c2566e7-7a54-4777-a1ae-c2662f0c407c",
380
+ "disabled_reason":null
381
+ },
382
+ "vcpus":1,
383
+ "vcpus_used":0
384
+ }
385
+ }
386
+ `
387
+
332
388
// HypervisorGetEmptyCPUInfoBody represents a raw hypervisor GET result with
333
389
// no cpu_info
334
390
const HypervisorGetEmptyCPUInfoBody = `
@@ -487,6 +543,56 @@ var (
487
543
VCPUsUsed : 0 ,
488
544
}
489
545
546
+ HypervisorFakeWithServers = hypervisors.Hypervisor {
547
+ CPUInfo : hypervisors.CPUInfo {
548
+ Arch : "x86_64" ,
549
+ Model : "Nehalem" ,
550
+ Vendor : "Intel" ,
551
+ Features : []string {
552
+ "pge" ,
553
+ "clflush" ,
554
+ },
555
+ Topology : hypervisors.Topology {
556
+ Cores : 1 ,
557
+ Threads : 1 ,
558
+ Sockets : 4 ,
559
+ },
560
+ },
561
+ CurrentWorkload : 0 ,
562
+ Status : "enabled" ,
563
+ State : "up" ,
564
+ Servers : & []hypervisors.Server {
565
+ {
566
+ Name : "test_server1" ,
567
+ UUID : "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" ,
568
+ },
569
+ {
570
+ Name : "test_server2" ,
571
+ UUID : "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" ,
572
+ },
573
+ },
574
+ DiskAvailableLeast : 0 ,
575
+ HostIP : "1.1.1.1" ,
576
+ FreeDiskGB : 1028 ,
577
+ FreeRamMB : 7680 ,
578
+ HypervisorHostname : "fake-mini" ,
579
+ HypervisorType : "fake" ,
580
+ HypervisorVersion : 2002000 ,
581
+ ID : "c48f6247-abe4-4a24-824e-ea39e108874f" ,
582
+ LocalGB : 1028 ,
583
+ LocalGBUsed : 0 ,
584
+ MemoryMB : 8192 ,
585
+ MemoryMBUsed : 512 ,
586
+ RunningVMs : 2 ,
587
+ Service : hypervisors.Service {
588
+ Host : "e6a37ee802d74863ab8b91ade8f12a67" ,
589
+ ID : "9c2566e7-7a54-4777-a1ae-c2662f0c407c" ,
590
+ DisabledReason : "" ,
591
+ },
592
+ VCPUs : 1 ,
593
+ VCPUsUsed : 0 ,
594
+ }
595
+
490
596
HypervisorFakeWithParameters = hypervisors.Hypervisor {
491
597
CPUInfo : hypervisors.CPUInfo {
492
598
Arch : "x86_64" ,
@@ -676,6 +782,20 @@ func HandleHypervisorGetSuccessfully(t *testing.T, fakeServer th.FakeServer) {
676
782
})
677
783
}
678
784
785
+ func HandleHypervisorGetPost253Successfully (t * testing.T , fakeServer th.FakeServer ) {
786
+ fakeServer .Mux .HandleFunc ("/os-hypervisors/" + HypervisorFake .ID , func (w http.ResponseWriter , r * http.Request ) {
787
+ th .TestMethod (t , r , "GET" )
788
+ th .TestHeader (t , r , "X-Auth-Token" , client .TokenID )
789
+
790
+ w .Header ().Add ("Content-Type" , "application/json" )
791
+ if r .URL .Query ().Get ("with_servers" ) == "true" {
792
+ fmt .Fprint (w , HypervisorGetPost253Body )
793
+ } else {
794
+ fmt .Fprint (w , HypervisorGetBody )
795
+ }
796
+ })
797
+ }
798
+
679
799
func HandleHypervisorGetEmptyCPUInfoSuccessfully (t * testing.T , fakeServer th.FakeServer ) {
680
800
fakeServer .Mux .HandleFunc ("/os-hypervisors/" + HypervisorFake .ID , func (w http.ResponseWriter , r * http.Request ) {
681
801
th .TestMethod (t , r , "GET" )
0 commit comments