Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
b7012aef
M
minikube
项目概览
Chu Peng 楚鹏
/
minikube
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minikube
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b7012aef
编写于
10月 17, 2017
作者:
M
Matt Rickard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use mac instead of hostname to find IP
上级
9dd3d9bc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
37 addition
and
3 deletion
+37
-3
pkg/drivers/kvm/domain.go
pkg/drivers/kvm/domain.go
+23
-0
pkg/drivers/kvm/kvm.go
pkg/drivers/kvm/kvm.go
+6
-0
pkg/drivers/kvm/network.go
pkg/drivers/kvm/network.go
+8
-3
未找到文件。
pkg/drivers/kvm/domain.go
浏览文件 @
b7012aef
...
...
@@ -18,7 +18,9 @@ package kvm
import
(
"bytes"
"crypto/rand"
"fmt"
"net"
"text/template"
libvirt
"github.com/libvirt/libvirt-go"
...
...
@@ -54,10 +56,12 @@ const domainTmpl = `
</disk>
<interface type='network'>
<source network='{{.Network}}'/>
<mac address='{{.MAC}}'/>
<model type='virtio'/>
</interface>
<interface type='network'>
<source network='{{.PrivateNetwork}}'/>
<mac address='{{.MAC}}'/>
<model type='virtio'/>
</interface>
<serial type='pty'>
...
...
@@ -99,6 +103,25 @@ $ newgrp libvirt
Visit https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm-driver for more information.
`
func
randomMAC
()
(
net
.
HardwareAddr
,
error
)
{
buf
:=
make
([]
byte
,
6
)
_
,
err
:=
rand
.
Read
(
buf
)
if
err
!=
nil
{
return
nil
,
err
}
// We unset the first and second least significant bits (LSB) of the MAC
//
// The LSB of the first octet
// 0 for unicast
// 1 for multicast
//
// The second LSB of the first octet
// 0 for universally administered addresses
// 1 for locally administered addresses
buf
[
0
]
=
buf
[
0
]
&
0xfc
return
buf
,
nil
}
func
(
d
*
Driver
)
getDomain
()
(
*
libvirt
.
Domain
,
*
libvirt
.
Connect
,
error
)
{
conn
,
err
:=
getConnection
()
if
err
!=
nil
{
...
...
pkg/drivers/kvm/kvm.go
浏览文件 @
b7012aef
...
...
@@ -66,8 +66,14 @@ type Driver struct {
// The location of the iso to boot from
ISO
string
// The randomly generated MAC Address
// If empty, a random MAC will be generated.
MAC
string
}
const
defaultNetworkName
=
"minikube-net"
func
NewDriver
(
hostName
,
storePath
string
)
*
Driver
{
return
&
Driver
{
BaseDriver
:
&
drivers
.
BaseDriver
{
...
...
pkg/drivers/kvm/network.go
浏览文件 @
b7012aef
...
...
@@ -42,9 +42,14 @@ const networkTmpl = `
</network>
`
const
defaultNetworkName
=
"minikube-net"
func
(
d
*
Driver
)
createNetwork
()
error
{
if
d
.
MAC
==
""
{
mac
,
err
:=
randomMAC
()
if
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"generating mac address"
)
}
d
.
MAC
=
mac
.
String
()
}
conn
,
err
:=
getConnection
()
if
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"getting libvirt connection"
)
...
...
@@ -154,7 +159,7 @@ func (d *Driver) lookupIPFromLeasesFile() (string, error) {
if
len
(
entry
)
!=
5
{
return
""
,
fmt
.
Errorf
(
"Malformed leases entry: %s"
,
entry
)
}
if
entry
[
3
]
==
d
.
MachineName
{
if
entry
[
1
]
==
d
.
MAC
{
ipAddress
=
entry
[
2
]
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录