1package provision 2 3import ( 4 "github.com/docker/machine/libmachine/auth" 5 "github.com/docker/machine/libmachine/drivers" 6 "github.com/docker/machine/libmachine/engine" 7 "github.com/docker/machine/libmachine/provision/pkgaction" 8 "github.com/docker/machine/libmachine/provision/serviceaction" 9 "github.com/docker/machine/libmachine/swarm" 10) 11 12type FakeDetector struct { 13 Provisioner 14} 15 16func (fd *FakeDetector) DetectProvisioner(d drivers.Driver) (Provisioner, error) { 17 return fd.Provisioner, nil 18} 19 20type FakeProvisioner struct{} 21 22func NewFakeProvisioner(d drivers.Driver) Provisioner { 23 return &FakeProvisioner{} 24} 25 26func (fp *FakeProvisioner) SSHCommand(args string) (string, error) { 27 return "", nil 28} 29 30func (fp *FakeProvisioner) String() string { 31 return "fakeprovisioner" 32} 33 34func (fp *FakeProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptions, error) { 35 return nil, nil 36} 37 38func (fp *FakeProvisioner) GetDockerOptionsDir() string { 39 return "" 40} 41 42func (fp *FakeProvisioner) GetAuthOptions() auth.Options { 43 return auth.Options{} 44} 45 46func (fp *FakeProvisioner) GetSwarmOptions() swarm.Options { 47 return swarm.Options{} 48} 49 50func (fp *FakeProvisioner) Package(name string, action pkgaction.PackageAction) error { 51 return nil 52} 53 54func (fp *FakeProvisioner) Hostname() (string, error) { 55 return "", nil 56} 57 58func (fp *FakeProvisioner) SetHostname(hostname string) error { 59 return nil 60} 61 62func (fp *FakeProvisioner) CompatibleWithHost() bool { 63 return true 64} 65 66func (fp *FakeProvisioner) Provision(swarmOptions swarm.Options, authOptions auth.Options, engineOptions engine.Options) error { 67 return nil 68} 69 70func (fp *FakeProvisioner) Service(name string, action serviceaction.ServiceAction) error { 71 return nil 72} 73 74func (fp *FakeProvisioner) GetDriver() drivers.Driver { 75 return nil 76} 77 78func (fp *FakeProvisioner) SetOsReleaseInfo(info *OsRelease) {} 79 80func (fp *FakeProvisioner) GetOsReleaseInfo() (*OsRelease, error) { 81 return nil, nil 82} 83 84type NetstatProvisioner struct { 85 *FakeProvisioner 86} 87 88func (p *NetstatProvisioner) SSHCommand(args string) (string, error) { 89 return `Active Internet connections (servers and established) 90Proto Recv-Q Send-Q Local Address Foreign Address State 91tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 92tcp 0 72 192.168.25.141:ssh 192.168.25.1:63235 ESTABLISHED 93tcp 0 0 :::2376 :::* LISTEN 94tcp 0 0 :::ssh :::* LISTEN 95Active UNIX domain sockets (servers and established) 96Proto RefCnt Flags Type State I-Node Path 97unix 2 [ ACC ] STREAM LISTENING 17990 /var/run/acpid.socket 98unix 2 [ ACC ] SEQPACKET LISTENING 14233 /run/udev/control 99unix 2 [ ACC ] STREAM LISTENING 19365 /var/run/docker.sock 100unix 3 [ ] STREAM CONNECTED 19774 101unix 3 [ ] STREAM CONNECTED 19775 102unix 3 [ ] DGRAM 14243 103unix 3 [ ] DGRAM 14242`, nil 104} 105 106func NewNetstatProvisioner() Provisioner { 107 return &NetstatProvisioner{ 108 &FakeProvisioner{}, 109 } 110} 111