30 Commits

Author SHA1 Message Date
Jian Li
01613c2e20 Purge the tunnel and router bridge on removing kubernetes host
Change-Id: I8743b1064b29c76fe96bc4dbfa267f425430a96b
(cherry picked from commit 32a28ad698cacb5cbdc454f2793c6e46f0ec1658)
2020-12-01 09:29:38 +00:00
Jian Li
8fa74cfaa2 Remove bridges and associated flow rules when removing k8s nodes
Change-Id: Iab54503a4bb75874f69e8e1623bb11c66cad9eee
(cherry picked from commit dc1df642f320123f8b31d6f2a62e7ac6498c87d0)
2020-11-30 13:02:55 +00:00
Jian Li
f4818b0863 Support NodePort communication model at k8s passthrough mode
Change-Id: I2179ebc9a4812493619c56aa270d8fc4821efbb2
2020-11-14 22:11:45 +09:00
Jian Li
07c27f33e0 Initial support VM and container communication via POD and service IP
Change-Id: Ic87beee6ed122ec5551370c2b6a2789edf8fba5b
2020-10-11 01:24:48 +09:00
Jian Li
9bc67777a4 Add node IP attribute in k8s node class with minor code refactoring
Change-Id: I4c1c86c95acfeb38569b91c1677e4ce8af90460f
2020-10-07 02:50:46 +09:00
Jian Li
adbe515b45 Fix: shorten the hostname unique string length from five to four
Change-Id: I43ed9e0a41fa180433224ea5021b8d08afa9051e
(cherry picked from commit f4efdf58e3a8e2dcdfb2254c68c0323532e78898)
2020-09-22 12:26:12 +00:00
Jian Li
252107320f Inter-connect k8s external and openstack integration bridge
Change-Id: Ibd889e9fd4a10a06056b823d6c01254429d5cdc4
(cherry picked from commit a4d8fba801d1514d01d7a2c1ccfb59722a433583)
2020-09-11 14:10:59 +00:00
Jian Li
4860e37b2b Inter-connect k8s and openstack intg bridge, kbr-ex and kbr-router
Change-Id: Id7d3c874e8b267252ca387b1ca6f67b9f9bc5116
(cherry picked from commit 019ce6a7143620fab32b7b0579aa7381aa102af2)
2020-09-10 07:23:11 +00:00
Jian Li
3cb86e3cfd Listen on k8s port event to create instance port and host
Change-Id: I59ab1f5f422ce2ba8f5432279ceec6d77cd96f06
2020-09-08 17:17:14 +09:00
Jian Li
8916418b8d Fix: statically add portnumber of intg and ext bridge
1. install service flow rules for all types of services including
ClusterIP, NodePort, LoadBalancer

Change-Id: I9884c7e5dfef66e7af5497403dd3cba6c6b46b61
2020-09-05 05:34:41 +00:00
Jian Li
b121844398 Support distributed virtual router (DVR) at kubernetes
Change-Id: I6dfa1ad0d2161443e37fa80901d5ababbec6f74e
2020-09-05 03:10:18 +00:00
Jian Li
1ecfbb7565 Split tunneling behavior into a separated tunnel bridge
Change-Id: I4de5f21ac9eaf286479f619c960a2319b597a819
2020-09-05 03:09:37 +00:00
Jian Li
8685dd340b Use host handler to bootstrap tunnel bridge and related ports
Change-Id: I19bb28d86620b9c42c33e0b570ff176b467d71ac
2020-09-04 16:11:09 +00:00
Jian Li
58b33989e2 Initial support for multi kubernetes clusters for k8s nodes
Change-Id: I6ca132898f8e157e0583de38a637fdc135f21d6f
(cherry picked from commit e2a04cedde73618ef24575e70cb221e03854de1d)
2020-09-04 14:02:08 +00:00
Jian Li
d376e0669d Add new kubernetes node state, add a set of state related REST APIs
Change-Id: I2ac3d9ff26030433e61148e0bf8963016f751f8a
2020-01-04 01:24:31 +09:00
Jian Li
d47c012141 Fix: make kubernetes token string optional for ApiConfig
Change-Id: I679944fb5df3ed71a8af7c12a92aec3c4e36bee6
2019-12-30 16:20:26 +00:00
Jian Li
77af8f3a87 Support onboard kubernetes nodes through K8S API configuration
Change-Id: I060a443f45ef9c974d030415a30e9376fc82d124
2019-12-18 14:11:56 +09:00
Jian Li
121ddfe9d5 Fix: allow to invoke service IP from local k8s node
Change-Id: I8c39703f35319bb51bbd175e7ff717d5e6ec5250
2019-08-30 10:59:42 +09:00
Jian Li
7709eb4334 Refer to external bridge and gateway IP from k8s node store
Change-Id: I7dab97ead59e3746b67e6e3bedc3a2c6fea41bf1
2019-08-29 16:10:32 +09:00
Jian Li
5a9c2bbe30 Fix: retrieve port bridge port MAC from deviceService rather via ovsdb
1. Derive gateway IP address from POD subnet CIDR.
2. Remove the logic of injecting gateway IP address.

Change-Id: Ice44c1c4b41bc1689954041aee6441a379e5bacd
2019-08-29 14:28:09 +09:00
Jian Li
1b08d650d0 Support to learn external gateway MAC at controller
Change-Id: I72c13133708de1ac86e26160397233518489d46b
2019-05-31 10:46:17 +00:00
Jian Li
eb488eab81 Support internal to external communication for k8s POD using SNAT
Change-Id: I8da79d2728fc40b886e44ba4f5ea81d248e33fc2
2019-05-31 10:46:17 +00:00
Jian Li
bf562c2c9c Support to inject external bridge into k8s node for external routing
1. Add group bucket related rules on receiving endpoint events
   rather than POD events.

Change-Id: I1152343cf8ff6bbccaed3dc34908a3affbc70980
2019-05-31 10:46:17 +00:00
Jian Li
7d111d7a41 Install rules for handling traffic destined to gateway at k8s node
Change-Id: I3a3ce8ecc581aee7e8e70e338dbf7bf4a6c518db
2019-05-31 10:46:17 +00:00
Jian Li
1cee988ec6 Manage k8s API config life cycle, bootstrap k8s node using k8s client
Change-Id: I9926c6d4903da514b66a3bcbe05358c605c9cc1a
2019-03-06 05:28:38 +00:00
Jian Li
3defa842eb Import k8s client deps, support inject k8s API server config
Change-Id: Iaf246a06462b8a878e93ef3f98da399c3600b129
2019-03-06 05:28:38 +00:00
Jian Li
4aa1764d35 Implement east-west communication for k8s network
Change-Id: Ibac91b7a856e35a26cf0e0f23d6d01f65197625d
2019-03-06 05:28:38 +00:00
Jian Li
f16e8850b3 [ONOS-7902] Add node handler and a set of CLIs for kubernetes node
Change-Id: Iee4a88e4af437d551a38342de339455387389f61
2019-02-17 18:47:25 +09:00
Jian Li
49109b5cd4 [ONOS-7902] Add default implementation of k8s node with unit tests
Change-Id: I283967ae14dc7f38e749d7407e4bec698536c18b
2019-02-17 18:47:25 +09:00
Jian Li
9e43ec1404 [ONOS-7902] Add a set of interfaces, enums for kubernetes node
Change-Id: I76e380973386cebc785b00b42f05b22ffe674606
2019-02-17 18:47:25 +09:00