NetworkInterface now contains both VethHost and VethChild
This commit is contained in:
parent
d009264986
commit
808fd821ac
@ -29,7 +29,13 @@ type ContainersDesc struct {
|
||||
|
||||
type ContainerDesc struct {
|
||||
Id string
|
||||
Network_interface string
|
||||
Network_interface *NetworkInterface
|
||||
}
|
||||
|
||||
type NetworkInterface struct {
|
||||
VethHost string
|
||||
VethChild string
|
||||
NsPath string
|
||||
}
|
||||
|
||||
func Unmarshal(containerDescFile string) (ContainersDesc, error) {
|
||||
|
@ -11,7 +11,8 @@ func TestUnmarshal(t *testing.T) {
|
||||
}
|
||||
|
||||
t.Logf("Cdesc: %s", cDesc)
|
||||
if cDesc.All_hosts[0].Network_interface != "veth7ASIQc" {
|
||||
if cDesc.All_hosts[0].Network_interface.VethHost != "veth24031eth1" &&
|
||||
cDesc.All_hosts[0].Network_interface.VethChild != "eth1" {
|
||||
t.Errorf("Cannot find network interface in %s", cDesc)
|
||||
}
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ type lxcContainerHandler struct {
|
||||
stopWatcher chan error
|
||||
watches map[string]struct{}
|
||||
fsInfo fs.FsInfo
|
||||
network_interface string
|
||||
network_interface *NetworkInterface
|
||||
}
|
||||
|
||||
func newLxcContainerHandler(name string, cgroupSubsystems *cgroupSubsystems, machineInfoFactory info.MachineInfoFactory) (container.ContainerHandler, error) {
|
||||
@ -56,7 +56,7 @@ func newLxcContainerHandler(name string, cgroupSubsystems *cgroupSubsystems, mac
|
||||
return nil, err
|
||||
}
|
||||
cDesc, err := Unmarshal(*containersDesc)
|
||||
var network_interface string
|
||||
var network_interface *NetworkInterface
|
||||
for _, container := range cDesc.All_hosts {
|
||||
cName := "/lxc/" + container.Id
|
||||
glog.Infof("container %s Name %s \n\n", container, name)
|
||||
@ -176,8 +176,8 @@ func (self *lxcContainerHandler) GetSpec() (info.ContainerSpec, error) {
|
||||
func (self *lxcContainerHandler) GetStats() (*info.ContainerStats, error) {
|
||||
var stats *info.ContainerStats
|
||||
var err error
|
||||
if len(self.network_interface) > 0 {
|
||||
n := network.NetworkState{VethHost: self.network_interface, VethChild: "unknown", NsPath: "unknown"}
|
||||
if self.network_interface != nil {
|
||||
n := network.NetworkState{VethHost: self.network_interface.VethHost, VethChild: self.network_interface.VethChild, NsPath: "unknown"}
|
||||
s := dockerlibcontainer.State{NetworkState: n}
|
||||
stats, err = libcontainer.GetStats(self.cgroup, &s)
|
||||
} else {
|
||||
|
@ -17,7 +17,10 @@
|
||||
"role": "compute_node",
|
||||
"net": null,
|
||||
"netinit": "false",
|
||||
"network_interface": "veth7ASIQc",
|
||||
"network_interface": {
|
||||
"VethChild": "eth1",
|
||||
"VethHost": "veth24031eth1"
|
||||
},
|
||||
"mounts": [
|
||||
{
|
||||
"host-dir": "/var/run/nm-sdc1",
|
||||
|
Loading…
Reference in New Issue
Block a user