@@ -15,7 +15,8 @@ import (
15
15
"text/template"
16
16
"time"
17
17
18
- "github.com/alexzorin/libvirt-go"
18
+ libvirt "github.com/libvirt/libvirt-go"
19
+
19
20
"github.com/docker/machine/libmachine/drivers"
20
21
"github.com/docker/machine/libmachine/log"
21
22
"github.com/docker/machine/libmachine/mcnflag"
@@ -90,8 +91,8 @@ type Driver struct {
90
91
CacheMode string
91
92
IOMode string
92
93
connectionString string
93
- conn * libvirt.VirConnection
94
- VM * libvirt.VirDomain
94
+ conn * libvirt.Connect
95
+ VM * libvirt.Domain
95
96
vmLoaded bool
96
97
}
97
98
@@ -208,14 +209,14 @@ func (d *Driver) GetURL() (string, error) {
208
209
return fmt .Sprintf ("tcp://%s:2376" , ip ), nil // TODO - don't hardcode the port!
209
210
}
210
211
211
- func (d * Driver ) getConn () (* libvirt.VirConnection , error ) {
212
+ func (d * Driver ) getConn () (* libvirt.Connect , error ) {
212
213
if d .conn == nil {
213
- conn , err := libvirt .NewVirConnection (connectionString )
214
+ conn , err := libvirt .NewConnect (connectionString )
214
215
if err != nil {
215
216
log .Errorf ("Failed to connect to libvirt: %s" , err )
216
- return & libvirt.VirConnection {}, errors .New ("Unable to connect to kvm driver, did you add yourself to the libvirtd group?" )
217
+ return & libvirt.Connect {}, errors .New ("Unable to connect to kvm driver, did you add yourself to the libvirtd group?" )
217
218
}
218
- d .conn = & conn
219
+ d .conn = conn
219
220
}
220
221
return d .conn , nil
221
222
}
@@ -392,7 +393,7 @@ func (d *Driver) Create() error {
392
393
log .Warnf ("Failed to create the VM: %s" , err )
393
394
return err
394
395
}
395
- d .VM = & vm
396
+ d .VM = vm
396
397
d .vmLoaded = true
397
398
398
399
return d .Start ()
@@ -436,7 +437,7 @@ func (d *Driver) Stop() error {
436
437
}
437
438
438
439
if s != state .Stopped {
439
- err := d .VM .DestroyFlags (libvirt .VIR_DOMAIN_DESTROY_GRACEFUL )
440
+ err := d .VM .DestroyFlags (libvirt .DOMAIN_DESTROY_GRACEFUL )
440
441
if err != nil {
441
442
log .Warnf ("Failed to gracefully shutdown VM" )
442
443
return err
@@ -487,27 +488,27 @@ func (d *Driver) GetState() (state.State, error) {
487
488
if err := d .validateVMRef (); err != nil {
488
489
return state .None , err
489
490
}
490
- states , err := d .VM .GetState ()
491
+ virState , _ , err := d .VM .GetState ()
491
492
if err != nil {
492
493
return state .None , err
493
494
}
494
- switch states [ 0 ] {
495
- case libvirt .VIR_DOMAIN_NOSTATE :
495
+ switch virState {
496
+ case libvirt .DOMAIN_NOSTATE :
496
497
return state .None , nil
497
- case libvirt .VIR_DOMAIN_RUNNING :
498
+ case libvirt .DOMAIN_RUNNING :
498
499
return state .Running , nil
499
- case libvirt .VIR_DOMAIN_BLOCKED :
500
+ case libvirt .DOMAIN_BLOCKED :
500
501
// TODO - Not really correct, but does it matter?
501
502
return state .Error , nil
502
- case libvirt .VIR_DOMAIN_PAUSED :
503
+ case libvirt .DOMAIN_PAUSED :
503
504
return state .Paused , nil
504
- case libvirt .VIR_DOMAIN_SHUTDOWN :
505
+ case libvirt .DOMAIN_SHUTDOWN :
505
506
return state .Stopped , nil
506
- case libvirt .VIR_DOMAIN_CRASHED :
507
+ case libvirt .DOMAIN_CRASHED :
507
508
return state .Error , nil
508
- case libvirt .VIR_DOMAIN_PMSUSPENDED :
509
+ case libvirt .DOMAIN_PMSUSPENDED :
509
510
return state .Saved , nil
510
- case libvirt .VIR_DOMAIN_SHUTOFF :
511
+ case libvirt .DOMAIN_SHUTOFF :
511
512
return state .Stopped , nil
512
513
}
513
514
return state .None , nil
@@ -524,7 +525,7 @@ func (d *Driver) validateVMRef() error {
524
525
if err != nil {
525
526
log .Warnf ("Failed to fetch machine" )
526
527
} else {
527
- d .VM = & vm
528
+ d .VM = vm
528
529
d .vmLoaded = true
529
530
}
530
531
}
0 commit comments