Skip to content

Commit

Permalink
Merge pull request #533 from ondrej-fabry/release-1.3
Browse files Browse the repository at this point in the history
Release v1.3
  • Loading branch information
VladoLavor authored Mar 22, 2018
2 parents 21e4742 + 976f9ff commit 1a961e0
Show file tree
Hide file tree
Showing 11 changed files with 337 additions and 53 deletions.
40 changes: 21 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,55 @@
# Release v1.3-rc1 (2018-XX-XX)
# Release v1.3 (2018-03-22)

## Compatibility
VPP v18.01-rc0~605-g954d437
cn-infra v1.1
cn-infra v1.2

The vpp-agent is now using custom VPP branch stable-1801-contiv.
Link to [github].(https://github.com/vpp-dev/vpp/tree/stable-1801-contiv)
The vpp-agent is now using custom VPP branch [stable-1801-contiv](https://github.com/vpp-dev/vpp/tree/stable-1801-contiv).

## New Features
- [ipsecplugin](plugins/defaultplugins/ifplugin)
* New plugin for IPSec added. *add more info about IPSec (what is possible to do,
what is not, link to readme...)*
- [ipsecplugin](plugins/defaultplugins/ipsecplugin)
* New plugin for IPSec added. The IPSec is supported for VPP only
with linux set manually for now. IKEv2 is not yet supported.
More information in the [readme](plugins/defaultplugins/ipsecplugin/README.md).
- [nsplugin](plugins/linuxplugin/nsplugin)
* New namespace plugin added. The configurator handles common namespace and microservice
processing and communication with other Linux plugins.
* New namespace plugin added. The configurator handles common namespace
and microservice processing and communication with other Linux plugins.
- [ifplugin](plugins/defaultplugins/ifplugin)
* Added support for Network address translation. NAT plugin supports
configuration of NAT44 interfaces, address pools and DNAT. Look for
more information in the [readme](plugins/defaultplugins/ifplugin/README.md).
configuration of NAT44 interfaces, address pools and DNAT.
More information in the [readme](plugins/defaultplugins/ifplugin/README.md).
* DHCP can now be configured for the interface
- [l2plugin](plugins/defaultplugins/l2plugin)
* Split-horizon group can be configured for bridge domain interface.
- [l3plugin](plugins/defaultplugins/l3plugin)
* Added support for proxy ARP. For more information and configuration
example, please see [readme](plugins/defaultplugins/l3plugin/README.md).
example, please see [readme](plugins/defaultplugins/l3plugin/README.md).
- [linux ifplugin](plugins/linuxplugin/ifplugin)
* Support for automatic interface configuration (currently only TAP).
* Support for automatic interface configuration (currently only TAP).

## Improvements
- [aclplugin](plugins/defaultplugins/aclplugin)
* Removed configuration order of interfaces. Access list can be now
configured even if interfaces do not exist yet, and add them later.
- [vpp-agent-ctl](cmd/vpp-agent-ctl)
* The vpp-agent-ctl was refactored and command info was updated.
* The vpp-agent-ctl was refactored and command info was updated.

## Image
* VPP can be build in release and debug mode
## Docker Images
* VPP can be build and run in release or debug mode.
Read more information in the [readme](https://github.com/ligato/vpp-agent/blob/pantheon-dev/docker/dev_vpp_agent/README.md).
* Production image is now smaller by roughly 40% (229MB).

## Bugfix
* Resync of ifplugin in both, VPP and Linux, was improved. Interfaces
with the same configuration data are not recreated during resync.
* STN do not fail if IP address with mask is provided.
* Fixed ingress/egress interface resolution in ACL.
* Fixed ingress/egress interface resolution in ACL.
* Linux routes now check network reachability for gateway address b
before configuration. It should prevent "network unreachable" errors
during config.
* Corrected bridge domain crash in case non-bvi interface was added to
another non-bvi interface.
* Fixed several bugs related to VETH and AF-PACKET configuration and resync.
another non-bvi interface.
* Fixed several bugs related to VETH and AF-PACKET configuration and resync.

# Release v1.2 (2018-02-07)

Expand Down
5 changes: 3 additions & 2 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ required = [

[[constraint]]
name = "github.com/ligato/cn-infra"
revision = "b1d7b65181d158935badfb66898f06160c4b1c26"
version = "1.2"

[[constraint]]
branch = "master"
Expand Down
22 changes: 13 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ COMMIT := $(shell git rev-parse HEAD)
DATE := $(shell date +'%Y-%m-%dT%H:%M%:z')

CNINFRA_CORE := github.com/ligato/vpp-agent/vendor/github.com/ligato/cn-infra/core
LDFLAGS = -ldflags '-X $(CNINFRA_CORE).BuildVersion=$(VERSION) -X $(CNINFRA_CORE).CommitHash=$(COMMIT) -X $(CNINFRA_CORE).BuildDate=$(DATE)'
LDFLAGS = -X $(CNINFRA_CORE).BuildVersion=$(VERSION) -X $(CNINFRA_CORE).CommitHash=$(COMMIT) -X $(CNINFRA_CORE).BuildDate=$(DATE)

ifeq ($(STRIP), y)
LDFLAGS += -w -s
endif

COVER_DIR ?= /tmp/

Expand All @@ -16,18 +20,18 @@ clean: clean-cmd clean-examples
# Install commands
install:
@echo "# installing commands"
go install -v ${LDFLAGS} -tags="${GO_BUILD_TAGS}" ./cmd/vpp-agent
go install -v ${LDFLAGS} -tags="${GO_BUILD_TAGS}" ./cmd/vpp-agent-grpc
go install -v ${LDFLAGS} -tags="${GO_BUILD_TAGS}" ./cmd/vpp-agent-ctl
go install -v ${LDFLAGS} -tags="${GO_BUILD_TAGS}" ./cmd/agentctl
go install -v -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}" ./cmd/vpp-agent
go install -v -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}" ./cmd/vpp-agent-grpc
go install -v -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}" ./cmd/vpp-agent-ctl
go install -v -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}" ./cmd/agentctl

# Build commands
cmd:
@echo "# building commands"
cd cmd/vpp-agent && go build -v -i ${LDFLAGS} -tags="$(GO_BUILD_TAGS)"
cd cmd/vpp-agent-grpc && go build -v -i ${LDFLAGS} -tags="${GO_BUILD_TAGS}"
cd cmd/vpp-agent-ctl && go build -v -i ${LDFLAGS} -tags="${GO_BUILD_TAGS}"
cd cmd/agentctl && go build -v -i ${LDFLAGS} -tags="${GO_BUILD_TAGS}"
cd cmd/vpp-agent && go build -v -i -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}"
cd cmd/vpp-agent-grpc && go build -v -i -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}"
cd cmd/vpp-agent-ctl && go build -v -i -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}"
cd cmd/agentctl && go build -v -i -ldflags "${LDFLAGS}" -tags="${GO_BUILD_TAGS}"

# Clean commands
clean-cmd:
Expand Down
2 changes: 2 additions & 0 deletions docker/dev_vpp_agent/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ RUN wget -O go.tgz "https://golang.org/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz
&& tar -C /usr/local -xzf go.tgz \
&& rm go.tgz

ENV PATH /usr/local/go/bin:$PATH

# build & install Protobuf & gogo protobuf compiler
RUN git clone https://github.com/google/protobuf.git \
&& cd protobuf \
Expand Down
19 changes: 4 additions & 15 deletions docker/dev_vpp_agent/build-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,17 @@ set -e
# setup Go paths
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export PATH=$PATH:${GOROOT}/bin:${GOPATH}/bin
echo "export GOROOT=$GOROOT" >> ~/.bashrc
echo "export GOPATH=$GOPATH" >> ~/.bashrc
echo "export PATH=$PATH" >> ~/.bashrc
mkdir -p $GOPATH

# install gometalinter, golint, gvt & Glide
#go get -u github.com/alecthomas/gometalinter
#gometalinter --install
#go get -u github.com/golang/lint/golint
#go get -u github.com/FiloSottile/gvt
#curl https://glide.sh/get | sh

# checkout agent code
mkdir -p $GOPATH/src/github.com/ligato
cd $GOPATH/src/github.com/ligato
mkdir -p ${GOPATH}/src/github.com/ligato
cd ${GOPATH}/src/github.com/ligato
git clone https://github.com/ligato/vpp-agent

# build the agent
cd $GOPATH/src/github.com/ligato/vpp-agent
cd ${GOPATH}/src/github.com/ligato/vpp-agent
git checkout $1
#make
make install
#make test
#make generate
4 changes: 4 additions & 0 deletions docker/prod_vpp_agent/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
FROM dev_vpp_agent as devimg

RUN /bin/bash -c "\
cd /root/go/src/github.com/ligato/vpp-agent \
&& make STRIP=y install"

FROM ubuntu:16.04

RUN apt-get update \
Expand Down
3 changes: 2 additions & 1 deletion tests/robot/libraries/docker.robot
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,10 @@ Execute In Container
Log Many ${container} ${command}
Switch Connection docker
${currdate}= Get Current Date
${out} ${stderr}= Execute Command ${DOCKER_COMMAND} exec ${container} ${command} return_stderr=True
${out} ${stderr} ${rc}= Execute Command ${DOCKER_COMMAND} exec ${container} ${command} return_stderr=True return_rc=True
Log ${out}
Log ${stderr}
Log ${rc}
${status}= Run Keyword And Return Status Should be Empty ${stderr}
Run Keyword If ${status}==False Log One or more error occured during execution of a command ${command} in container ${container} level=WARN
Append To File ${RESULTS_FOLDER}/output_${container}.log *** Time:${currdate} Command: ${command}${\n}${out}${\n}***
Expand Down
12 changes: 6 additions & 6 deletions tests/robot/suites/crud/linux_arp_crud.robot
Original file line number Diff line number Diff line change
Expand Up @@ -60,44 +60,44 @@ Add ARPs
vpp_ctl: Put Linux ARP agent_vpp_1 vpp1_veth1 veth1_arp 155.155.155.155 32:51:51:51:51:51
vpp_ctl: Put Linux ARP agent_vpp_1 vpp1_veth2 veth2_arp 155.155.155.156 32:51:51:51:51:52
vpp_ctl: Put Linux ARP agent_vpp_1 lo loopback_arp 155.155.155.156 32:51:51:51:51:52
vpp_ctl: Put Linux ARP agent_vpp_1 eth0 eth_arp 155.155.155.156 32:51:51:51:51:52
#vpp_ctl: Put Linux ARP agent_vpp_1 eth0 eth_arp 155.155.155.156 32:51:51:51:51:52
Sleep ${SYNC_SLEEP}

Check ARPSs
${out}= Execute In Container agent_vpp_1 ip neigh
Log ${out}
Should Contain ${out} 155.155.155.156 dev vpp1_veth2 lladdr 32:51:51:51:51:52 PERMANENT
Should Contain ${out} 155.155.155.155 dev vpp1_veth1 lladdr 32:51:51:51:51:51 PERMANENT
Should Contain ${out} 155.155.155.156 dev eth0 lladdr 32:51:51:51:51:52 PERMANENT
#Should Contain ${out} 155.155.155.156 dev eth0 lladdr 32:51:51:51:51:52 PERMANENT
Should Contain ${out} 155.155.155.156 dev lo lladdr 32:51:51:51:51:52 PERMANENT

Change ARPs
vpp_ctl: Put Linux ARP agent_vpp_1 vpp1_veth1 veth1_arp 155.255.155.155 32:61:51:51:51:51
vpp_ctl: Put Linux ARP agent_vpp_1 vpp1_veth2 veth2_arp 155.255.155.156 32:61:51:51:51:52
vpp_ctl: Put Linux ARP agent_vpp_1 lo loopback_arp 155.255.155.156 32:61:51:51:51:52
vpp_ctl: Put Linux ARP agent_vpp_1 eth0 eth_arp 155.255.155.156 32:61:51:51:51:52
#vpp_ctl: Put Linux ARP agent_vpp_1 eth0 eth_arp 155.255.155.156 32:61:51:51:51:52
Sleep ${SYNC_SLEEP}

Check ARPSs Again
${out}= Execute In Container agent_vpp_1 ip neigh
Log ${out}
Should Contain ${out} 155.255.155.156 dev vpp1_veth2 lladdr 32:61:51:51:51:52 PERMANENT
Should Contain ${out} 155.255.155.155 dev vpp1_veth1 lladdr 32:61:51:51:51:51 PERMANENT
Should Contain ${out} 155.255.155.156 dev eth0 lladdr 32:61:51:51:51:52 PERMANENT
#Should Contain ${out} 155.255.155.156 dev eth0 lladdr 32:61:51:51:51:52 PERMANENT
Should Contain ${out} 155.255.155.156 dev lo lladdr 32:61:51:51:51:52 PERMANENT

Delete ARPs
vpp_ctl: Delete Linux ARP agent_vpp_1 veth1_arp
vpp_ctl: Delete Linux ARP agent_vpp_1 veth2_arp
vpp_ctl: Delete Linux ARP agent_vpp_1 loopback_arp
vpp_ctl: Delete Linux ARP agent_vpp_1 eth_arp
#vpp_ctl: Delete Linux ARP agent_vpp_1 eth_arp

Check ARPSs After Delete
${out}= Execute In Container agent_vpp_1 ip neigh
Log ${out}
Should Not Contain ${out} 155.255.155.156 dev vpp1_veth2 lladdr 32:61:51:51:51:52 PERMANENT
Should Not Contain ${out} 155.255.155.155 dev vpp1_veth1 lladdr 32:61:51:51:51:51 PERMANENT
Should Not Contain ${out} 155.255.155.156 dev eth0 lladdr 32:61:51:51:51:52 PERMANENT
#Should Not Contain ${out} 155.255.155.156 dev eth0 lladdr 32:61:51:51:51:52 PERMANENT
Should Not Contain ${out} 155.255.155.156 dev lo lladdr 32:61:51:51:51:52 PERMANENT


Expand Down
Loading

0 comments on commit 1a961e0

Please sign in to comment.