Skip to content

Commit

Permalink
fix: external dns issues
Browse files Browse the repository at this point in the history
1. update ovs to fix ovn-nbctl daemon issues.
2. ping gw when node init to activate flow.
  • Loading branch information
oilbeater committed Apr 17, 2019
1 parent d5c5ac6 commit 75c514a
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 20 deletions.
9 changes: 6 additions & 3 deletions dist/images/Dockerfile.cni
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,12 @@ RUN yum install -y \
unbound unbound-devel && \
yum clean all

RUN rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-common-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-host-2.10.1-1.el7.centos.x86_64.rpm
ENV OVS_VERSION=2.10.1
ENV OVS_SUBVERSION=2

RUN rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-common-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-host-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm

COPY start-cniserver.sh /kube-ovn/start-cniserver.sh
COPY install-cni.sh /kube-ovn/install-cni.sh
Expand Down
15 changes: 9 additions & 6 deletions dist/images/Dockerfile.controller
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@ RUN yum install -y \
unbound unbound-devel && \
yum clean all

RUN rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-devel-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-common-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-vtep-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-central-2.10.1-2.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-host-2.10.1-1.el7.centos.x86_64.rpm
ENV OVS_VERSION=2.10.1
ENV OVS_SUBVERSION=2

RUN rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-devel-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-common-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-vtep-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-central-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-host-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm

RUN mkdir -p /var/run/openvswitch
WORKDIR /kube-ovn
Expand Down
15 changes: 9 additions & 6 deletions dist/images/Dockerfile.node
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@ RUN yum install -y \
unbound unbound-devel && \
yum clean all

RUN rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-devel-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-common-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-vtep-2.10.1-1.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-central-2.10.1-2.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v2.10.1/openvswitch-ovn-host-2.10.1-1.el7.centos.x86_64.rpm
ENV OVS_VERSION=2.10.1
ENV OVS_SUBVERSION=2

RUN rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-devel-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-common-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-vtep-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-central-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm && \
rpm -i https://github.com/oilbeater/ovs/releases/download/v${OVS_VERSION}/openvswitch-ovn-host-${OVS_VERSION}-${OVS_SUBVERSION}.el7.centos.x86_64.rpm

RUN mkdir -p /var/run/openvswitch && \
mkdir -p /etc/cni/net.d && \
Expand Down
7 changes: 4 additions & 3 deletions pkg/daemon/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ func (csh CniServerHandler) initNodeGateway() error {
macAddr := node.Annotations[util.MacAddressAnnotation]
ipAddr := node.Annotations[util.IpAddressAnnotation]
portName := node.Annotations[util.PortNameAnnotation]
if macAddr == "" || ipAddr == "" || portName == "" {
return fmt.Errorf("can not find macAddr, ipAddr and portName")
gw := node.Annotations[util.GatewayAnnotation]
if macAddr == "" || ipAddr == "" || portName == "" || gw == "" {
return fmt.Errorf("can not find macAddr, ipAddr, portName and gw")
}
return configureNodeNic(portName, ipAddr, macAddr)
return configureNodeNic(portName, ipAddr, macAddr, gw)
}
6 changes: 5 additions & 1 deletion pkg/daemon/ovs.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ func configureContainerNic(nicName, ipAddr, gateway string, macAddr net.Hardware
})
}

func configureNodeNic(portName, ip, mac string) error {
func configureNodeNic(portName, ip, mac, gw string) error {
macAddr, err := net.ParseMAC(mac)
if err != nil {
return fmt.Errorf("failed to parse mac %s %v", macAddr, err)
Expand Down Expand Up @@ -210,5 +210,9 @@ func configureNodeNic(portName, ip, mac string) error {
return fmt.Errorf("can not set node nic %s up %v", portName, err)
}
}

// ping gw to activate the flow
output, _ := exec.Command("ping", "-w", "10", gw).CombinedOutput()
klog.Infof("ping gw result is: \n %s", string(output))
return nil
}
2 changes: 1 addition & 1 deletion pkg/ovs/ovn-nbctl.go
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ func (c Client) DeleteStaticRouter(cidr, router string) error {
}

func (c Client) FindLoadbalancer(lb string) (string, error) {
output, err := c.ovnNbCommand("--data=bare", "--no-heading", "--columns=_uuid", fmt.Sprintf("--db=%s", c.OvnNbAddress),
output, err := c.ovnNbCommand("--data=bare", "--no-heading", "--columns=_uuid",
"find", "load_balancer", fmt.Sprintf("name=%s", lb))
return output, err
}
Expand Down

0 comments on commit 75c514a

Please sign in to comment.