Skip to content

Commit dc9207e

Browse files
authored
Merge pull request #34 from dongsupark/dongsu/migrate-libvirt
import libvirt/libvirt-go instead of alexzorin/libvirt-go
2 parents cd8ae9d + a7eeb00 commit dc9207e

File tree

2 files changed

+22
-21
lines changed

2 files changed

+22
-21
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ developed for Docker Machine.
1919
# Dependencies
2020

2121
This driver leverages [libvirt](http://libvirt.org/) and the [libvirt-go
22-
library](https://github.com/alexzorin/libvirt-go) to create and manage
22+
library](https://github.com/libvirt/libvirt-go) to create and manage
2323
KVM based virtual machines. It has been tested with Ubuntu 12.04 through 15.04
2424
and should work on most platforms with KVM/libvirt support. If you run into
2525
compatibility problems, please file an [issue](https://github.com/dhiltgen/docker-machine-kvm/issues).

kvm.go

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import (
1515
"text/template"
1616
"time"
1717

18-
"github.com/alexzorin/libvirt-go"
18+
libvirt "github.com/libvirt/libvirt-go"
19+
1920
"github.com/docker/machine/libmachine/drivers"
2021
"github.com/docker/machine/libmachine/log"
2122
"github.com/docker/machine/libmachine/mcnflag"
@@ -90,8 +91,8 @@ type Driver struct {
9091
CacheMode string
9192
IOMode string
9293
connectionString string
93-
conn *libvirt.VirConnection
94-
VM *libvirt.VirDomain
94+
conn *libvirt.Connect
95+
VM *libvirt.Domain
9596
vmLoaded bool
9697
}
9798

@@ -208,14 +209,14 @@ func (d *Driver) GetURL() (string, error) {
208209
return fmt.Sprintf("tcp://%s:2376", ip), nil // TODO - don't hardcode the port!
209210
}
210211

211-
func (d *Driver) getConn() (*libvirt.VirConnection, error) {
212+
func (d *Driver) getConn() (*libvirt.Connect, error) {
212213
if d.conn == nil {
213-
conn, err := libvirt.NewVirConnection(connectionString)
214+
conn, err := libvirt.NewConnect(connectionString)
214215
if err != nil {
215216
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?")
217218
}
218-
d.conn = &conn
219+
d.conn = conn
219220
}
220221
return d.conn, nil
221222
}
@@ -392,7 +393,7 @@ func (d *Driver) Create() error {
392393
log.Warnf("Failed to create the VM: %s", err)
393394
return err
394395
}
395-
d.VM = &vm
396+
d.VM = vm
396397
d.vmLoaded = true
397398

398399
return d.Start()
@@ -436,7 +437,7 @@ func (d *Driver) Stop() error {
436437
}
437438

438439
if s != state.Stopped {
439-
err := d.VM.DestroyFlags(libvirt.VIR_DOMAIN_DESTROY_GRACEFUL)
440+
err := d.VM.DestroyFlags(libvirt.DOMAIN_DESTROY_GRACEFUL)
440441
if err != nil {
441442
log.Warnf("Failed to gracefully shutdown VM")
442443
return err
@@ -487,27 +488,27 @@ func (d *Driver) GetState() (state.State, error) {
487488
if err := d.validateVMRef(); err != nil {
488489
return state.None, err
489490
}
490-
states, err := d.VM.GetState()
491+
virState, _, err := d.VM.GetState()
491492
if err != nil {
492493
return state.None, err
493494
}
494-
switch states[0] {
495-
case libvirt.VIR_DOMAIN_NOSTATE:
495+
switch virState {
496+
case libvirt.DOMAIN_NOSTATE:
496497
return state.None, nil
497-
case libvirt.VIR_DOMAIN_RUNNING:
498+
case libvirt.DOMAIN_RUNNING:
498499
return state.Running, nil
499-
case libvirt.VIR_DOMAIN_BLOCKED:
500+
case libvirt.DOMAIN_BLOCKED:
500501
// TODO - Not really correct, but does it matter?
501502
return state.Error, nil
502-
case libvirt.VIR_DOMAIN_PAUSED:
503+
case libvirt.DOMAIN_PAUSED:
503504
return state.Paused, nil
504-
case libvirt.VIR_DOMAIN_SHUTDOWN:
505+
case libvirt.DOMAIN_SHUTDOWN:
505506
return state.Stopped, nil
506-
case libvirt.VIR_DOMAIN_CRASHED:
507+
case libvirt.DOMAIN_CRASHED:
507508
return state.Error, nil
508-
case libvirt.VIR_DOMAIN_PMSUSPENDED:
509+
case libvirt.DOMAIN_PMSUSPENDED:
509510
return state.Saved, nil
510-
case libvirt.VIR_DOMAIN_SHUTOFF:
511+
case libvirt.DOMAIN_SHUTOFF:
511512
return state.Stopped, nil
512513
}
513514
return state.None, nil
@@ -524,7 +525,7 @@ func (d *Driver) validateVMRef() error {
524525
if err != nil {
525526
log.Warnf("Failed to fetch machine")
526527
} else {
527-
d.VM = &vm
528+
d.VM = vm
528529
d.vmLoaded = true
529530
}
530531
}

0 commit comments

Comments
 (0)