16 Commits

Author SHA1 Message Date
Andrew Sy Kim
4eca430b63 route controller unit tests (#264) 2017-12-29 08:55:22 +05:30
Andrew Sy Kim
e27847f833 package utils unit tests and CI fixes (#261)
* package utils unit tests

* add tests to travis CI

* make push needs IMG_TAG in docker push command
2017-12-27 23:38:24 +05:30
Bryan Zubrod
aa48cf2d08 gofmt (#187) 2017-10-08 16:19:28 -05:00
Murali Reddy
0010425b8f bump up client-go to release-5.0 and vendor kubernetes/api
Fixes #178
2017-10-07 22:52:06 +05:30
Bryan Zubrod
342ea5ac9f Prevent masquerading pod -> NodeIP traffic (#174)
* Move getNodeIP logic to utils package

Remove redundant ipset lookups

utils.NewIPSet() does this for us.

* Don't masquerade pod -> nodeAddrsIPSet traffic

Previously with Pod egress enabled, this would get masqueraded.
This change also adds cleanup for said ipset.

* Enhanced cleanup of Pod egress, overlay networking

- Delete old/bad pod egress iptables rule(s) from old versions
- When pod egress or overlay are disabled, cleanup as needed

* Update IPSet.Sets to map type

* ipset enhancements

- Avoid providing method that would delete all ipset sets on a system
- New method DestroyAllWithin() destroys sets tracked by an IPSet
- Create() now handles cases where Sets/System state are not in sync
- Refresh() now handles leftover -temp set gracefully
- Swap() now uses ipset swap
- Delete() improved sync of Sets and system state
- Get() now validates if map element exists before trying
- etc

* Update routes controller to reflect ipset changes
2017-10-07 04:14:13 -05:00
ryarnyah
3debbfa4e2 Cleanup ipset create function + restore (#177)
* Cleanup ipset create function + restore. Fix #176

Switch from array to map to simplify set use

* Add sets initialization on create
2017-10-06 15:58:48 -05:00
Ryar Nyah
3431a1831f Delete ipset dependency + delete unused ipsets 2017-09-25 21:17:25 +02:00
Murali Reddy
f6a5e239f0 fixing gofmt, go_vet, gocyclo, golint errors 2017-09-04 17:10:48 +05:30
Bryan Zubrod
5af635a9bc CI: Automated build/release workflow (#46)
TLDR; Run "make help" for options.

* gofmt
* .gitignore kube-router binary
* Docs: build/release workflow
* Implement build/release workflow
2017-07-09 11:21:26 -05:00
Murali Reddy
29396f9662 add option '--hostname-override' to deal with cases where kubelet is launched
with --hostname-override flag

Fixes #23
2017-06-10 07:10:38 +05:30
Murali Reddy
d4f32978fb use NODE_NAME env variable to get the node object when running as daemon set
If NODE_NAME env is not set, fall back to hostname.

Partial fix towards #23 we still have issue where kube-router is run as agent
and kubelet is started with --hostname-overide flag
2017-06-07 02:28:21 +05:30
Murali Reddy
26bf5a37b2 In line with changes done for #17 ensure we check for both hostname and full FQDN
for the node name as kubelet can pass full FQDN for the node name
2017-06-02 11:00:04 +05:30
Murali Reddy
4531a915bb Handle both cases where node can be registered with master either
by host name or FQDN. kubelet can be started with --hostname-override with configurable value.
In AWS envirinment typcally its set FQDN obtained from the metda data. This fix ensures
we can deploy kube-router in case nodes are registered with FQDN

Fixes #17
2017-05-30 03:11:51 +05:30
Murali Reddy
231e5cee71 enable kube-router to be run as daemonset 2017-04-27 03:08:37 +05:30
Murali Reddy
a4e773bd91 edit README and handle external (outside from cluster) access to nodeport services
by masqurading the traffic so the return traffic from the pod hits the node before
going to the client
2017-04-18 03:37:46 +05:30
Murali Reddy
04a5cc033a base line version tested with kube 1.5.6, 1.6 2017-04-17 10:33:09 +05:30