Граф коммитов

186 Коммитов

Автор SHA1 Сообщение Дата
Camryn Lee 40f8289e5b
adding dropgz test dockerfile for e2e testing (#1618)
* add new dockerfile for testing cni-dropgz

* add make targets for cni-dropgz-test manifest

* modify versioning in cni-dropgz-test manifest

* platform versioning for test image

* fix build of test image

* update go version for dropgz

* building vnet-ipam and vnet-telemetry

* copy azure-vnet* to grab all vnet binaries

* modify build for vnet-ipam

* fix copying of cns conflist
2022-09-28 09:35:34 -07:00
Ashish Nair 0a98133f82
Fix: Added a metric to monitor the subnet exhaustion state within the Ipam Monitor Pool (#1620)
* Added a metric to monitor the subnet exhaustion state within the Ipam Monitor Pool

* Fixed the PR comments

* Added a reconciler error metric

* Addressed code review comments

* Updating lint on code

* Addressed all code review comments and changed the reconciler metric to a counter metric and fixed linting issues

* Added a count metric for IPAM pool as well to count the number of switches between subnet exhaustion and reversal for each subnet

* Updated the makefile to be able to run linting with better garbage collection

* Updated the code with the PR review comments

* Updated the label values based on a discussion offline with Evan

Co-authored-by: asn <asn@microsoft.com>
2022-09-27 22:22:55 -07:00
Evan Baker b62c4f9221
vendor and use vendor in windows image builds (#1630)
to resolve network timeouts when pulling deps

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-09-27 12:29:24 -07:00
Evan Baker 0400273255
add git configuration target to Makefile for Codespaces (#1558)
add gitconfig to Makefile for codespace

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-09-12 16:00:51 -05:00
Vamsi Kalapala 7d89a83041
fix: [NPM] cyclonus latest pipeline cleanup issue (#1600)
* fix: [NPM] cyclonus latest pipeline cleanup issue

* fix: [NPM] cyclonus latest pipeline cleanup issue

* fix: [NPM] cyclonus latest pipeline cleanup issue
2022-09-09 16:19:35 -07:00
Vamsi Kalapala 1d7f484e11
fix: Remove retry from Windows pipelines (#1576)
* fix: Remove retry from Windows pipelines

* Adding in make command for windows NPM

* fixing an issue with retry

* adding a retry on task
2022-09-07 14:18:29 -07:00
Camryn Lee bb67582fd4
Update Makefile to build all binaries (#1575)
* build azure-ipam and zapai

* build ipam for linux only

* add archives

* remove zapai build

* update azure-ipam archive

* test
2022-09-06 14:07:56 -07:00
Evan Baker 8888338c62
Pipeline support for Go submodules versioned independently of root repo (#1533)
* use submodule specific tags

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* support separate go submodule versions

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* move version and tag responsibilities to the makefile

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* update integration tests to use component tags

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-09-01 18:35:01 +00:00
Camryn Lee 6ef6319dbd
pack released version of azure-vnet for CNI Installer (#1525)
* adding files

* fix vars

* test extract

* add build args

* copy binaries and conflist

* remove env assignment

* fix conflist copy

* update cilium to 1.12.1

* keep 1.12.0 for now

* cilium version

Co-authored-by: Camryn Lee <camrynlee@microsoft.com>
2022-08-19 20:30:46 +00:00
Evan Baker 2ee67e5b67
exclude tags for go submodules when building repo version (#1531)
exclude tags for go submodules when buliding repo version

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-08-16 15:29:05 -07:00
QxBytes a19e5fb5cd
feat: Add SNAT bridge to Native, decouple SNAT bridge (#1506)
* Native Endpoint Client Add Endpoints

* AddEndpointRules, ConfigureContainerInterfacesAndRoutes

* Changed interface names, log statements

nw.extIf.Name > eth0 (eth0)
eth0.vlanid > eth0.X (eth0.1)
%s%s hostIfName > vnet (A1veth0)
%s%s-2 contIfName > container (B1veth0)

* Renaming, using lib to set ns

* Namespace "path" is /var/run/netns/<NS>

* Loopback set up, Remove auto kernel subnet route

* Cannot set link to up if it's in another NS

* Multiple containers on same VNET NS

* Delete Endpoint routes on Delete

* Minimizing netns usage

* Moving NS Exec Code

* Further minimized netns.Set usage

* Moved helper methods down, drafted tests

* Removed DevName from Route Info, more tests

* Test existing vnet ns, delete endpoint

* NetNS interface for testing

* Separated tests by namespace

* Endpoints delete if they cannot be moved into NS

* Namespace netns tests

* Added Native Client to deleteEndpointImpl

* Deletion of Endpoints Impl and Tests

* Cleaned code (Tests ok)

* Moved mock/netns to package (Tests ok)

* Fixing Netns (wip)

Moved netnsinterface to consumer package (network).
Removed "Netns" from "NewNetns" and "NewMockNetns" as it is unambiguous.
Changed uintptr to int and casted the int to uintptr when needed later.

* Using errors.Wrap for error context (wip)

* Removed sentence case (wip)

* Removing variable predeclaration

* Removed NewNativeEndpointClient

Directly instantiating struct because nothing special happens in NewNativeEndpointClient

* Removed generics from ExecuteInNS

* Removed uintptr from mocknetns, tests compile

Forgot to remove uintptr from mocknetns

* Fix tests, lint

* Fixes from linter

Works on VMSS

* Replacing references to ethX with vlan veth

* Removed unnecessary log

* Removed unnecessary mac, fix tests

* Mockns method name enum

* Unable to use GetNetworkInterfaceByName due to NS

If I use GetNetworkInterface, I need to be in the vnet NS, but that means I will need to call ExecuteInNS, which causes tests to fail.

* Fixes from linter

* Assume if NS exists, vlan veth exists

Tests ok

* Fixes for Linter

* Snat refactor

* Fix delete tests

* Fix delete tests bug

* More snat refactor

* Breaking, prepping for Native Snat

Delete native endpoint snat route linux to remove errors and in theory, ovs should work fine again.

* Go mod tidy for linting

Hopefully this fixes the windows lint error

* Add fields to native endpoint client for snat

* Using New() func to create Native Client

Creation of the native endpoint client is too complicated to directly instantiate.

* Snat defaults

* Insert SNAT entry points

* Native Snat error handling

* Breaking, decouple ovsctl from snat

Proposed Solution implementation
Moved ovsctlClient.AddPortOnOVSBridge to ovs_endpoint_snatroute_linux.go. Removed ovsctlclient from NewSnatClient. Removed ovsctlClient from testing file.

* Delete unecessary ovssnat files

* No lint on vishvananda netns

Maybe this will fix the windows linter?

* Build linux only for netns package

Maybe this fixes the linter error?

* Remove nolint to see if linter fails

* Breaking, removed bridgeName

bridgeName refers to the OVS Switch I believe

* If native uses snat bridge, should also get IP

* Breaking, Decouple or Wrap snat route

* Check to see if snat triggered

* Snat behaviors specific to ovs/native

* Pass the pointer

Add/Delete ok

* Renaming to make consts public

* Breaking, moving ovs specific parts of snat to ovs

* Remove enable infra vnet (Tests ok)

Tested:
Allow Host to NC only
Allow NC to Host only
Allow both
Wget
Ping between containers

Warning: Enable snat is still hard coded to true!!!

* Move add port to after exists() check

* Moved netns interface to caller, generalized tests

Tests ok, Native ok

* Typos

* Reordered if statement, unwrapped arp

Tests ok, ping ok, wget ok

* Linted, wrapping errors

* Go fumpt entire network package

* Code markers removed, clean (Tests ok)

OVS & Native:
-	Ping between two containers same VM, no packets on bridge
-	Ping between two containers diff VM, no packets on bridge
-	Ping other container not in vnet, no packets on bridge
-	Ping snat to container, packets on bridge
-	Ping container to snat, packets on bridge
-	Tcpdump confirmed on azSnatBr
-	Deletion of containers deletes appropriate interfaces

* Renamed veth, fixed logs

* Made deleteEndpoints logic clearer, renamed error

* Renamed eth0 to primaryHostIfName, vlanEth to vlanIf

* Deleted debug log

* Corrected merge (hardware addr) (Tests ok)

* Renamed vlan veth to hostExtIf_vlanID, Disabled RA

eth0.2 makes disable RA look for a folder eth0 and then another sub folder "2". ("eth0/2") However, it should look for a folder named "eth0.2" literally. To solve this, we change the naming scheme to use an underscore instead. (Tests ok)

* Renamed Native to TransparentVlan

Confirmed basic functionality on VM with correct mode

* Make file updated

* Create azure-windows-multitenancy-transparent-vlan.conflist

* Unified snat err format

* Rename to transparent-vlan

* Route table support added to local netlink

* Moved SNAT to end of function

* Defer deleting vlan interface on failure
2022-08-10 13:50:26 -07:00
Mathew Merrick ef95e7d9f4
Add Cyclonus Windows job (#1363)
* add cyclonus windows job

* control plane jobs

* add cyclonus to conformance

* run cyclonus from pipeline vm

* containerize

* cluster name

* rg name

* shorter rg

* k8s version

* update wait timeout

* logging

* get kubeconfigs

* date

* kubeconfig

* shorter name

* job timeout

* bigger vm

* increase vm size

* kubernetes version

* feature preview register

* increase node size

* exit code

* failonstderr

* move windows specifics closer

* omit failstderr

* wait for npm pods to restart

* update conformance scope

* retry

* seperate conformance for platforms

* revert branch

* hunter's branch
2022-08-08 10:43:44 -07:00
Quang Nguyen cd1a193c9d
Add make target for delegated ipam (#1476)
add make target for delegated ipam
2022-07-28 14:11:05 -07:00
Camryn Lee b58dc70702
Update Swift pipeline w byo cluster (#1475)
* byo cluster pipeline update

* adding sub var

* use build validations sub

* test

Signed-off-by: GitHub <noreply@github.com>

* use native azcli

* test /usr/bin/az

* login and set sub

* testing

* try upgrade cli

* try upgrade azcli 2

* testing

* testing

* test svc conn

* test svc conn

* test svc conn

* test svc conn

* test svc conn

* test svc conn

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* fix rg-down

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* update ds

* testing

* build imgs

* test

* uncomment pipeline

* remove debug

* pipeline update

* review fixes

* update svc conn

* testing

Co-authored-by: Camryn Lee <camrynlee@microsoft.com>
Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
2022-07-27 14:12:58 -07:00
Evan Baker c391f67ea2
Add dropgz module for CNI installer (#1335)
* dropgz: self extracting gz installer and cni dropper dockerfile

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* update integration test for new container name

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* add compound closer and address other review feedback

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* address review comments

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-07-15 14:56:02 -07:00
tamilmani1989 ba3bbe0f26
Remove azure-vnet-telemetry for windows multitenancy (#1430)
* Remove azure-vne-telemetry for windows multitenancy and telemetry service for windows multitenancy will be started from cns.

* start telemetry service from cns

* lint and log fix

* minor change

* addressed comment
2022-07-01 15:09:39 -07:00
Mathew Merrick dfddb2092d
save image tarballs as pipeline artifacts (#1394)
* skopeo save
2022-05-23 11:44:06 -07:00
Evan Baker d56fac6e4e
build overlay cni tgz (#1351)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-05-06 12:14:46 -05:00
Jaeryn dbb4f68393
build: Add Windows CNS & NPM as Part of Multi-Arch Manifest (#1345)
* add windows cns manifest to multi arch image

* try to use generic windows template w/ containerize stage in pipeline

* try and use buildah to pull images

* update manifest build and push for buildah

* create manifest by referencing images instead of pulling to avoid OS mismatch error

* remove unused windows-image.yaml

* remove REGISTRY var and use IMAGE_REGISTRY from makefile

Co-authored-by: Jaeryn <tsun.chu@microsoft.com>
Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
2022-05-05 15:32:53 -07:00
Evan Baker 6394cf6707
build multiplat manifests with buildah (#1356)
* build multiplat manifests with buildah

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* copy container in to docker-daemon cache and re-enable trivvy

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* set -e

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-05-04 18:18:26 -05:00
Evan Baker dd91f431f7
remove workspace and add Make helpers to set it up (#1350)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-04-25 13:42:29 -05:00
Evan Baker 95155ca9b4
Support NetworkContainers of Static or Dynamic types (#1325)
* add overlay static nnc to nc listener

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* inline err check

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* pass NodeNetworkConfigs to Update method by value

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* rework nnc reconcile flow for NetworkContainer modes

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-04-18 22:07:08 -05:00
Evan Baker 0973f3ce95
fix go test (#1329)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-04-13 19:33:54 -05:00
Jaeryn a096e02220
Modify Makefile to build CNI archive for Windows AKS Swift and add the corresponding conflist (#1319)
Co-authored-by: Jaeryn <tsun.chu@microsoft.com>
2022-04-06 10:09:25 -07:00
Vamsi Kalapala f230f5768a
[NPM] Adding a SCTP exclusion increasing tests to 214 in cyclonus (#1240)
* [NPM] Adding a SCTP sxclusion increasing tests to 214 in cyclonus

* Adding support for a new extended github workflow nightly

* fix the make command

* fix the make command

* remove dbug flag

* increasinf timeout
2022-03-04 14:01:05 -08:00
Evan Baker 8f9d6b32d6
use fully-qualified image names in all Dockerfiles (#1248)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-02-24 12:08:13 -06:00
Evan Baker 467eacd4ea
update cyclonus workflow (#1246)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-02-16 14:30:17 -06:00
Evan Baker 09c06b01e1
Parameterize Makefile, parallelize platform builds, support buildah (#1102)
* templatize the container make targets

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* add container push to npm conformance task

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* update pipelines

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* default OS and ARCH to GOOS and GOARCH

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-02-15 19:00:04 -06:00
Nitish Malhotra b6f04b6236
feat: [NPM] define transport shim layer using gRPC (#1163) 2021-12-14 11:52:28 -08:00
Evan Baker 57847a9673
add devcontainer for codespaces (#1169)
* add devcontainer for codespaces

Signed-off-by: GitHub <noreply@github.com>

* add repo setup to postcreate

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-12-13 11:18:08 -08:00
Mathew Merrick 537b11cc34
feat: add image and manifest for windows npm (#1098)
* add image and manifest for windows npm
2021-12-02 09:55:36 -08:00
Evan Baker c8014bc097
update build tools (#1127)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-11-29 19:05:32 -06:00
Evan Baker 7c5cdde1b8
make hook install optional (#1131)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-11-24 15:54:20 -06:00
Evan Baker 7fbbd1e0b7
lint pre-push hook (#1112) 2021-11-22 12:56:58 -06:00
Mathew Merrick fa8f665ab5
ci: add windows build pool and NPM windows dockerfile (#1073)
* build pool windows
2021-11-05 10:30:09 -07:00
Evan Baker 4a4370b0be
chore: tidy up nmagent client for context timeouts (#1056)
* chore: tidy up nmagent client for context timeouts

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* address review feedback

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* fix tests

* change integration test timeout to 1h

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* guard against nil in wireserver util

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* read body

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>

* correct durations

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-10-21 13:14:03 -05:00
Paul Johnston c64c5ab04a
Azure cns windows dockerfile (#1043)
* cns windows dockerfile and make target
2021-10-14 15:42:56 -07:00
Paul Johnston f595b53ad3
chore: moving order of GOOS and GOARCh env sets in makefile (#1037) 2021-09-30 12:52:36 -07:00
Paul Johnston 3f97a3040f
Arm64 docker (#1030)
* chore: making docker images arch agnostic through docker buildx
2021-09-28 14:17:25 -07:00
Hunter Gregory fe23878507
Remove test coverage (#1007)
* removed test/ and testutil/ from code coverage

* remove promutil from coverage

* removed tools/ from code coverage

* removed crd/ from code coverage and updated multitenantnetworkcontainer's manifest

* switch to !ignore_NAME syntax for test and cli tags

* add coverage back to crd (besides autogenerated files)

* rename ignore_test and ignore_cli tags to ignore_uncovered

* make cns/fakes/ uncovered

* mark go files in crd api folders as uncovered again

* add main.go back for nnsmock server
2021-09-17 15:29:40 -07:00
Paul Johnston 43d1d463ed
Makefile windows (#758)
* chore: making makefile windows compatible
2021-09-17 15:05:32 -07:00
Evan Baker c8f3f53137
test cns config and hns linux stub (#1005)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-09-16 20:25:40 -05:00
Paul Johnston 36d975b08f
Adding a build stage for arm64 cni (#990)
* Making multi-platform make target and integrating it into PR pipeline
2021-09-08 14:46:32 -07:00
Mathew Merrick 836ee3810e
feat: [NPM] Add config file and feature toggles (#979)
* package case

* package restructure

* add default config and toggles

* lint
2021-09-01 09:03:24 -07:00
Evan Baker 4dfefd0045
update to tools and Makefile (#965) 2021-08-09 09:57:59 -07:00
Evan Baker fc88940256
chore: update controller-runtime (#957)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-07-30 12:28:21 -05:00
Evan Baker 617f898b12
fix: bump minimum cni to 1.4.7 for reconcile flow (#948)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-07-20 18:06:35 -05:00
Mathew Merrick f2e763050d
fix: [CNI] handle getting endpoints when state file is empty (#916)
* handle empty state file

* update tests

* restore

* fix: add custom unmarshaller for struct with embedded custom interface type

* mkdir images

Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
2021-06-30 17:54:43 -07:00
Mathew Merrick b138a42410
chore: remove hardcoded envs from makefile (#913) 2021-06-28 13:07:21 -07:00
Mathew Merrick 6dfaa607e1
chore: disable cgo when building ACN artifacts (#906) 2021-06-21 14:46:36 -07:00
Evan Baker 030a522c7a
fix: lint changes vs the default branch only (#902) 2021-06-21 14:34:26 -07:00
Mathew Merrick ae9aedcfdf
[CNI] Parse CNI version in CNI client (#899)
* get CNI version

* update makefile to produce cni-manager image

* return proper type
2021-06-18 10:20:03 -07:00
Evan Baker 5e534da4bf
feat: add golangci to build tools (#896)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-06-14 13:08:26 -05:00
Mathew Merrick b09ca83ef7
[CNI] Add GET_ENDPOINT_STATE command to dump CNI state to stdout (#891)
* inital dump state and ipam interface update

* add reconcile command to CNI

* add integration test

* pass endpoint id on add

* address some feedback

* fix test path and linting

* address feedback and logging

* remove return and rename to PodEndpointID
2021-06-11 14:01:42 -07:00
Evan Baker 16b3645937
feat: add more status fields to the nodenetworkconfig: status, allocated IPs, subnets (#889)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-06-04 11:57:33 -05:00
Pengfei Ni de466f58e7
feat: add multi-tenant NetworkContainer controller (#876) 2021-06-03 20:49:00 -07:00
Evan Baker ee7538cf5f
chore: update to go1.16 (#887)
* chore: update to go1.16 for embed
* chore: update github.com/docker/libnetwork dependency to fix logrus package casing issue
* feat: move build-time binary dependencies to build/tools and compile locally

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2021-06-03 11:18:21 -05:00
Evan Baker 7f2cfc7b74
feat: use go mod to download tools like controller-gen (#884) 2021-05-28 11:34:04 -05:00
Mathew Merrick 3bc1a1f00e
[CI] Add Cyclonus to merge validation (#860) 2021-05-04 23:51:45 -07:00
Mathew Merrick d929d1acb0
chore: Specify CI build pool name (#841)
* Specify pool name
2021-04-13 11:00:49 -07:00
Paul Johnston 9365272a02
Aks swift test update (#838)
* AKS-Swift-test update to use underlay in runners sub
2021-04-02 13:24:01 -07:00
msvik 28cf37bc9d
CNI changes to support baremetal scenario (#835)
* Modify CNI for windows baremetal scenario in Azure

* Fix the CNI result for baremetal case

* Addressed PR comments from Tamilmani and Ramiro

* Remove azure-telemetry.exe from cni-baremetal package

* Fix formatting in logging

* Addressed Ramiro's PR review comments

* Formatting fix in printf

Co-authored-by: VK <abc@gmail.com>
2021-03-26 10:28:42 -07:00
Mathew Merrick fe66f5b03e
[build] Makefile update to generate image tarballs in artifacts (#804)
Consolidate CNS docker files into 1 only, and output docker images to neat images directory as part of build for release purposes
2021-03-25 14:08:02 -07:00
Mathew Merrick d78002d3c0
[build] Update pipeline and enable debug symbols in bins (#793)
* add symbols, add gcflags, update timeouts, only show azure core errors
2021-02-23 12:58:49 -08:00
Mathew Merrick 73ae4e0325
chore: update tools directory and deployments (#779) 2021-02-09 17:56:37 -08:00
Mathew Merrick 39c9ad3a72
test: Add Swift Testing Pipeline (#712)
* Add new Swift test scenarios
2021-01-20 11:00:32 -08:00
Paul Johnston c3aa60f7f9
chore: updating the base cnms image to reach compliance (#759)
* chore: updating the base cnms image to reach compliance
2020-12-23 15:00:33 -08:00
Paul Johnston fb3481ded3
Show codecoverage for entire repo (#754)
* test: include all packages in code coverage report
2020-12-16 13:25:15 -08:00
Mathew Merrick 2bb1fd9af5
fix: Move acncli to hack and update error message (#748)
* fix: update acncli error message

* fix: acncnli move to hack
2020-12-10 18:06:53 -08:00
Mathew Merrick c499075742
chore: Update pipeline yaml, replace hardcoded registries to env's (#744)
* fix: replace hardcoded image env's to env's
2020-12-02 11:26:08 -08:00
Mathew Merrick 3eb5f3cb1f
feat: produce Azure CNI Swift tarball (#711) 2020-10-29 10:32:21 -07:00
Mathew Merrick 7bd8a2644d
Add "acn" cli tool to install and manage Azure CNI (#688)
* tail azure-vnet.logs

* dockerfile update

* installer fixes

* remove external deps

* move to cli design

* manager cmd

* update vendor

* minor fixes

* logs

* update makefile

* Update manager-master.yaml

* Update manager-agent.yaml
2020-10-20 14:00:40 -07:00
Mathew Merrick 41232c134d
CNI using CNS IPAM (#597)
* Configure CNI to use CNS IPAM
2020-09-29 14:43:19 -07:00
neaggarwMS de95ffc399
Pass HostInterface PrimaryIP info to CNI (#662)
* Pass HostPrimaryInterface details to CNS
2020-08-21 14:04:50 -07:00
Paul Johnston 1d02a91420
Dockerfile for cns container (#636)
* CNS dockerfile for Aks Swift
2020-07-31 11:34:50 -07:00
Mathew Merrick dc37410502
Pipeline update (#627)
* pipeline update

* dockerfile update

* ipset update
2020-07-23 23:21:49 -07:00
neaggarwMS 8b14462489 Removed example directory 2020-07-23 08:40:13 -07:00
neaggarwMS 9d6a137de0 Fix build 2020-07-23 08:40:13 -07:00
neaggarwMS 8a32ddc462 Run the complete unit test suite in CNI 2020-07-17 12:26:19 -07:00
neaggarwMS 8e073e5f94 Enable restserver tests, commented faulty tests for now 2020-07-17 12:26:19 -07:00
Mathew Merrick 644642b100
CNS IPAM for CNI (#584)
* Add IPAM to CNS for CNI
2020-07-13 17:37:49 -07:00
Paul Johnston a15ff461c6
Request controller for CNS (#583)
* NewRequestController and StartRequestController

* Making Start Manager in go routine

* Lookup HOSTNAME env var

* Adding cnsipaminterface.go

* Created requestController interface and implemented updating CRD

* fix windows 1903 test apimodel.json (#585)

* Avoiding redundant calls into cns by only watching for status updates in reconcile loop, ignoring spec updates in reconcil loop. Also adding ability for updating CRD spec through k8sRequestController methods

* fixing comments

* Cleaned up code and added more comments

* Made client interface for testing purposes and changed structure of files to be less folder-y

* Addressed comments from Paul Miller and Wei

* Beginning unit tests

* Finished unit tests

* Fixing pipeline issues

* found issue, fixed HOSTNAME environment variable dependency

* review changes requested

* more review changes

* Addressed changes from yesterday's review

* Changing makefile line to run correct package

* Addressed Matt Long's suggestions

Co-authored-by: Mathew Merrick <matmerr@users.noreply.github.com>
2020-07-02 11:42:59 -07:00
PrIce Qian 7b5e817bd8
Improving and adding CNI unit tests (#543)
* Add ipam/pool_test.go & add network/*test.go

* add testing ./network/ in Makefile

* fix context
2020-06-26 14:16:45 -07:00
Mathew Merrick 9f3478f828
Add codecov.yml (#559)
* add codecov.yml

* add race flag to tests

* make covermode atomic
2020-05-09 08:19:37 -07:00
tamilmani1989 6ac5e8c9f0
CNI Ipv6 Dualstack Support (#538)
* added cniv6 plugin

* cni ipv6 base framework

* removed unwanted changes

* added ipv6 change

* added cni ipv6 changes

* drop neighbor discovery messages to other VMs

* fixed issues

* fixed unit tests

* fix nil dereference

* addressed comments

* ipv6 fixes and changes

* addressed comments
2020-04-15 22:30:48 -07:00
Jaeryn 38dc38e898
Move NPM from dep to go mod (#539)
* Moving NPM to use gomod

* Vendoring via go mod

* add more npm tests

* remove go dep specific commands

* adding pipeline changes
2020-04-06 16:18:17 -07:00
Mathew Merrick d2ba9bb2f3
IPv6 Node IPAM (#532)
* switch to go mod

* pull node spec from apiserver

* carve v6 addresses

* address pool

* update go mod vendor

* build image

* build image

* build image

* separate go mod for npm

* add manager ipv6 ipam test

* added comments and addressed feedback

* address comments

* address comments

* address comments

* check if loaded

* address comments

* update pipeline

* update pipeline

* update test message

Co-authored-by: Ubuntu <azureuser@k8s-agentpool1-23761303-0.2w0jm2xwiahebmp33klngrlq1d.xx.internal.cloudapp.net>
2020-04-02 11:01:05 -07:00
Paul Johnston 17e2c7d404
Adding network monitor capabilities for prerouting and postrouting ebrules (#527)
* About to take debugging comments out

* Removed debugging statements and tested again

* Removed more debugging statements and unused method

* Made changes suggested by Tamilmani, tested again.

* Made spacing changes suggested by Tamilmani

* Triggering new tests to run
2020-03-18 14:02:31 -07:00
tamilmani1989 a151c83894
AITelemetry support for CNS (#455)
* Added logger package for CNS

* added aitelemetry for cns

* Added AI Telemetry for CNS

* added respective folders in makefile and added config file

* added all config fields

* addressed review comments

* removing repetitive log

* logged configpath

* reverted to keep old telemetry channel and pulled new ai package

* removed unwanted logs..added log file
2020-01-24 13:29:52 -08:00
Jaeryn df012bcd1f
Adding AI metrics for NPM (#475)
* Adding AI metrics for NPM

* addressing tamilmani's comments
2020-01-23 13:52:30 -08:00
tamilmani1989 2d619b78fe
AppInsightTelemetry support for CNI (#458)
* Added AITelemetry support for CNI

* added new files

* added other configs in config file

* fixed ut

* updated disableall similar to cns

* added container name to report

* addressed review comments

* addressed review comments

* added check for azure environment

* added log

* close log handle in unit test

* addressed review comments

* addressed review comments

* fixed a condition

* keep the netagent channel for logs

* fixed error

* addressed review comments
2020-01-14 14:53:24 -08:00
Jaeryn f4a5dcbffa
add build and publish image capabilities for cns (#471) 2020-01-06 16:11:52 -08:00
Ashvin Deodhar cd236e1f59
Publish/Unpublish Network Containers via CNS (#430)
Expose 2 APIs to publish and unpublish network containers from CNS.
a. PublishNetworkContainer
b. UnpublishNetworkContainer

DNC calls CNS to publish and unpublish the network containers.
2019-11-13 18:07:36 -08:00
Ashvin Deodhar 84fb35b545
Add Host NC communication support in Windows with HnsV2 (#424)
This PR adds support for host NC bidirectional communication with windows HnsV2. This is supported in multitenant scenario only. AllowHostToNCCommunication and AllowNCToHostCommunication flags are used to enable Host to NC and NC to host communication respectively.
2019-10-18 13:12:03 -07:00
tamilmani1989 e0605e90f6
added application insights telemetry package to send metrics and logs (#421)
* added application insights telemetry package to send metrics and logs to appinsights

* moved a function common to both packages
acquired a lock before writing to file

* added read write lock as per chandan comment. Addressed jaeryn comments

* fixed telemetry unit test

* defined interface and added appinsights package as vendor to acn

* added vendor package.go(appinsights)

* dependencies of appinsights

* added AI dependencies

* updated unit tests

* addressed review comments
2019-10-16 13:08:42 -07:00
Ashvin Deodhar df4f226aaa
Optimize call flow to complete loopback adapter creation (#408)
Loopback adapter creation operation comprises of two operations - createInterface and setWeakHostOnInterface. These operations take place inside the lock. If there are simultaneous requests, it interleaves these calls causing every loopback adapter creation to absorb the delay due to interleaving. createInterface can take time in seconds (typically 2 to 7 seconds based on the tests) while setWeakHostOnInterface finishes very quickly ( less than a second ). This change calls setWeakHostOnInterface within the same lock if createInterface succeeds. The tests show this improves the loopback adapter creation times for simultaneous requests.
2019-09-30 10:19:43 -07:00
jaer-tsun 65f7869c60
Fixing full image name to push to MCR. (#409) 2019-09-26 20:18:19 -04:00
jaer-tsun 149062dbcd
Create and push images to ACR instead of dockerhub (#406) 2019-09-26 14:07:50 -04:00
Mathew Merrick c44e775344
NPM test fixes + Azure Pipelines (#402)
Initial Azure Pipelines config, run pipeline tests in container, CNM and NPM fixes
2019-09-20 16:15:08 -07:00
tamilmani1989 b027258240
Enable IP forwarding for Linux mulititenancy (#386)
* Enable ipforwarding, prevent ip spoofing and other security concern

* added ovssnat test to circleci

* fixed compiler error

* updated circleci image

* fixed circleci yaml

* updated circleci image

* fixed UT

* fixed UTs

* addressed review comments

* added comments

* addressed review comments

* fixed UT

* separating PRs - removing ip spoofing check changes

* added document for describing multitenancy fields

* fixed docs/cnimultitenancy.md

* removed a condition as it seems to be not working
2019-08-20 14:06:36 -07:00