• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

contiv / vpp / 957
66%

Build:
DEFAULT BRANCH: master
Ran 05 Feb 2018 05:43PM UTC
Jobs 1
Files 28
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
957

push

travis-ci

tiewei
Add recovery from transient Etcd errors (#571)

The main purpose of this pull request is to implement the recovery from transient Etcd errors that are not detected by the agent status monitor that also monitors Etcd. The agent status monitor does not detect fast Etcd restarts (a couple of seconds) that may result in data loss.

To monitor data loss in Etcd we utilize Etcd's capability to record revisions for every item stored in Etcd. A KSR status record was introduced in Etcd that for now holds just KSR statistics (a collection of stats for reflector in the KSR). The KSR status record is periodically updated. With every update, the etcd rev of the status record is checked with its last recorded value; if the etcd rev is not monotonically larger than the last recorded value, a resync is triggered. This functionality is implemented in plugin_impl_ksr.go (new functions: monitorEtcdStatus(), processEtcdMonitorEvent(), checkEtcdTransientError(), ksrHasSynced() and getKsrStats()).

To support the above chanes, the code base also underwent some cleanup:

The Writer and Lister interfaces and mocks were consolidated into a single interface/mock. This cleaned up reflector initalization and testing.

The ability to inject errors into the mock was made more fine grained (one for the ListValues() function, one for all other data operations) so that all error paths in KSR data resync can be tested in unit tests.

Reflector object type handling was cleaned up (constants introduced for each object type and then used consistently throughout the code).

4193 of 5515 relevant lines covered (76.03%)

534.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 957.1 (GO_BUILD_TAGS=mockvpp) 05 Feb 2018 05:43PM UTC 0
76.03
Travis Job 957.1
Source Files on build 957
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #957
  • 886230f3 on github
  • Prev Build on master (#952)
  • Next Build on master (#958)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc