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

61 Коммитов

Автор SHA1 Сообщение Дата
robogatikov 5d14000083
feat: make OverlayExtensionConfig `ExtensionIPRange` field immutable (#3056)
feat: make extensionIPRange field immutable
2024-11-01 17:35:47 +00:00
Ramiro 19156a71a3
Adding availability zone to nnc spec (#3092)
* adding availability zone to nnc spec

* adding optional kubebuilder annotation
2024-10-31 13:16:30 +00:00
Evan Baker 6720e10414
chore: update build tools and regenerate CRDs (#3061)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2024-10-10 16:13:08 +00:00
Evan Baker 1edb63f0b0
fix: make ipamv2 metrics resilient to missing custom resource definitions (#3029)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2024-10-01 20:47:51 +00:00
Evan Baker ff46b57144
fix: add legacy IPAM metrics back to IPAMv2 (#2970)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2024-09-04 16:01:25 +00:00
robogatikov 456ce7c086
feat: add new OverlayExtensionConfig CRD (#2892) 2024-08-20 15:48:44 +00:00
aggarwal0009 f7b6e8b8c2
Add MacAddress to NodeInfo CRD (#2843)
* add macAddressList to NI CRD

* address pr comments
2024-07-18 21:36:36 +00:00
aggarwal0009 d955f048f0
fix nodeInfo schema (#2838) 2024-07-10 20:43:04 +00:00
aggarwal0009 662ae8749b
Add Status to NodeInfo CRD (#2827)
* Add Status to NodeInfo CRD

* annotate subresource to NodeInfo status
2024-07-09 16:57:57 +00:00
shreyashastantram 313ce0c4b0
feat: Adding backend interfaces support to CNS (#2693)
* Adding backend interfaces support for CNS

* Fixing the log line

* Moving backend nic functions to platform package

* Moving the pnpID fetching to platform package

* Moving the mapping to CRD mode

* Moving macaddress parsing to net package function

* removing the backend nic config

* Handling multiple interface information

* Adding error handling for macaddress parsing

* Moving pnpid mapping to swift v2  flow

* Adding pipeline vars

* Adding ut's for Happy paths

* Adding ut's for Happy paths

* Adding mtpnc check

* Rebasing with master

* Addressing lint errors

* Adding function to linux file

* Addressing lint errors

* Addressing lint comments

* Addressing Lint issues

* Modifying ut's

* removing mutex lock on cache

* Adding podnetwork instance label

* Modifying ut's after change

* Moving function out of restserver

* Moving mapping after crd intial state

* Adding the config debug statements

* removing the unused config

* Adding the debug statements

* Adding the debug statements

* Adding more debug logs

* removing log lines and adding mtpnc status check

* Moving mapping to state file

* Rebasing and removing the debug statements

* Addressing lint errors

* removing the debug pipeline changes

* Adding more coverage

* Adding test coverage and unhappy paths

* Addressing lint errors

* addressing lint errors

* Addressing lint errors
2024-07-05 23:11:00 +00:00
Sharif Nasser Kadamani 368193c5f5
feat: add subnet address space to mtpnc status (#2825)
* feat: add subnet address space to mtpnc status

* ref: regenerate multitenancy crds

---------

Co-authored-by: Kshitija Murudi <kmurudi@microsoft.com>
2024-07-03 05:04:59 +00:00
bohuini 13f7037fd9
feat: Added NIC type and modified setRoutes function to support Windows (#2679)
* Added NIC type and modified setRoutes function to support Windows

* Removed deprecated nic types
2024-06-07 20:49:55 +00:00
Matthew Long 90df8a1d5a
feat: plumb accelnet bool through interfaceinfo (#2746) 2024-05-20 22:33:57 +00:00
Matthew Long 4073c74cfa
feat: update CRDs to accomodate multiple pod nics (#2717)
* feat: update CRDs to accomodate multiple pod nics

* fix: device type in mtpnc status, rename device types

* fix: change podnetworks to podnetworkconfigs
2024-05-02 22:36:09 +00:00
Aranta Rokade 6e66efd7cf
[refactor] make podname optional (#2584)
* [refactor] make podname optional

* push manifest yaml

* remove podame from mtpnc (the correct way)

---------

Co-authored-by: Aranta Rokade <arantarokade@microsoft.com>
2024-02-15 04:17:26 +00:00
jc2543 c165215b4f
fix: add status field to PodNetworkInterface to identify if the PNI is in a ready or error state (#2555)
update statuses

Co-authored-by: Chloe Chen <chlochen@microsoft.com>
2024-02-09 19:31:00 +00:00
aggarwal0009 8acc55148c
Add new status to PN CRD (#2535)
* Add new status to PN crd

* Update PN CRD status

* Update PN CRD staus

* updating generated manifest for MT podnetwork

---------

Co-authored-by: Miguel Gonzalez <miguelgo@microsoft.com>
2024-01-25 20:16:15 +00:00
Matthew Long 1fc2ba07ed
feat: create or update nodeinfo crd at cns startup for multitenancy (#2545)
* feat: create or update nodeinfo crd at cns startup for multitenancy

* fix: spelling on variable name nodeInfoErr
2024-01-25 19:50:31 +00:00
Samarth Shah ada75607e1
fix: Add SubnetGUID to MT PodNetwork CRD (#2321)
* Update SubnetResourceId to SubnetGUID

* Leave subnetResourceID as is, just add subnetGUID field to PN CRD

* Update order of properties in PodNetworkSpec

---------

Co-authored-by: Samarth Shah <shshah@illinoisalumni.org>
2023-10-31 13:30:06 -07:00
aggarwal0009 131cf7a239
Fix: Update pni scope to namespaced (#2282)
update pni scope to namespaced
2023-10-09 11:43:01 -07:00
Ashish Nair a61940dbde
feat: Consume the NCStatus to be able to append subnet is full error to Pod IP reservation failures (#2202)
* Added Network Conatiner Status to include the latest error code for a Network Container

* Updated the crd to have the Status field included into the Network Container

* Updated the names and added Status and ErrorText as two fields in NC Status

* Fixed the casing and json values for these variables

* Propagated the NC Status inside the CNS and IPAM Monitor pool states

* Fixed the lint error of missing comma

* Saved the updated NC Status into the CNS statefile

* Updated the IP assignment to check and error out subnet is Full when there are no more available IPs for CNS to assign

* Fixed a minor compilation issue

* Fixed lint failures

* Fixed lint failures

* Removed the reference from the metastate of the ipam monitor

* Added Update Success and Update Failed statuses to the NC Status to be able to clearly indicate response status inside the NNC from DNC-RC

* Updated the error to use errors pkg instead of fmt

* Updating the cns reconcillation logic to skip if there is a failure updating the NC and there are no IPs allocated for the NC

* Handled PR comments:
* Updated the code to have the NC status be part of the error directly so that it can be consumed by containerD
 and cx can perform actions on it.
 * Code update to not use dynamic slices.
 * Removed the logic which handled 0 IPs allocated to NNC in CNS reconcile

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

* Addressed the PR comment which helped delete a block of code to store ncIDs and also added more error codes to the NCStatus

---------

Signed-off-by: GitHub <noreply@github.com>
2023-09-22 02:50:29 +00:00
Ashish Nair 210fe86a97
Feat: Created a Network Container Status Section to be updated with the latest error code (#2193)
* Added Network Conatiner Status to include the latest error code for a Network Container

* Updated the crd to have the Status field included into the Network Container

* Updated the names and added Status and ErrorText as two fields in NC Status

* Fixed the casing and json values for these variables

* Added error code to the NC Status and removed the latest prefix from the varibale names

* Removed the timestamp variable from the NC Status

* Moved the Status object inside the NC Status to be able to accurately define the status of each NC for the node

* Changed to having an enum representing the NC Status which DNC-RC will update after inferring the error and CNS can use this field to propagate and NCRequest failures

* Made the validation of the new enum optional to keep it backward compatible
2023-09-08 11:39:17 -07:00
aggarwal0009 1116f7efa1
Update MTPNC scope (#2186)
* update mtpnc scope

* update mtpnc scope to Namespaced
2023-08-28 12:46:55 -07:00
aggarwal0009 216cc2364e
update swiftv2 crds scope (#2176) 2023-08-25 09:08:14 -07:00
aggarwal0009 35c6833500
Ankaggar/consolidate crds (#2171)
* organise related swiftv2 CRDs in same GV package

* fix linter error

* update crdgen

* consolidate external swiftv2 crds

* fix manifests

* more changes

* update crdgen

* resolve merge conflicts

* fix crdgen check failure

* further flatten swiftv2 crds

* fix UT failure
2023-08-23 14:22:58 -07:00
Evan Baker 06e3877cdf
Upgrade controller-runtime (#2162)
* upgrade controller-runtime

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

* update build tools and regen crds

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

* fix import conflict

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

---------

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2023-08-23 08:58:52 -07:00
aggarwal0009 50422dcb75
[Multitenancy]: Add PodNetwork field to MTPNC spec (#2151)
* Add PN to MTPNC spec

* add annotation

* remove omitempty tag
2023-08-17 11:54:18 -07:00
aggarwal0009 906313d49f
[Multitenancy]: Add PNI CRD (#2134)
* ADD CNI PRD

* update manifest

* add doc.go

* ADD CNI PRD

* updatepodnetwork  ffiel as required

* update manifest

* fix crdgen

---------

Signed-off-by: aggarwal0009 <127549148+aggarwal0009@users.noreply.github.com>
2023-08-16 09:36:29 -07:00
aggarwal0009 3b7c365105
[Multitenancy]: Add PodNetwork CRD (#2133)
* Add PN CRD

* fix push error

* minor updates

* Add PN CRD

* update crdgen

* update network to VnetGuid

* minor update

* add doc.go

* update readme

* update crd fields

* update crdgen

* Update crd/external/podnetwork/api/v1alpha1/podnetwork.go

Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
Signed-off-by: aggarwal0009 <127549148+aggarwal0009@users.noreply.github.com>

* address pr comments

---------

Signed-off-by: aggarwal0009 <127549148+aggarwal0009@users.noreply.github.com>
Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
2023-08-15 08:29:16 -07:00
aggarwal0009 6a9fddb64d
[Multitenancy]: Add NodeInfo crd (#2113)
* add nodeinfo crd

* update manifest default value

* address pr comments

* update readme

* update nodesInfo to nodeInfo

* add crd to crdgen check file

* update manifest file

* remove whitespaces from manifest

* remove whitespaces from crdgen

* remove unnecessary helper funcs from CRD client

* address pr comments

* remove status subresource from nodeinfo crd

* update manifest

* Update crd/nodeinfo/api/v1alpha1/nodeinfo.go

Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>

* Update crd/nodeinfo/api/v1alpha1/groupversion_info.go

Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>

* Update crd/nodeinfo/embed.go

Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>

* add doc.go

* update manifest

---------

Signed-off-by: aggarwal0009 <127549148+aggarwal0009@users.noreply.github.com>
Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
2023-08-11 12:49:49 -07:00
aggarwal0009 e1581a1791
[Multitenancy] : Add MT PodNetworkConfig CRD (#2111)
* Add MT PodNetworkConfig CRD

* fix comment typo

* adding readme

* remove reconciling status

* add comments

* updated crd manifest

* address pr comments

* fix typo

* update crdgen.yaml

* fix method name

* fix typo

* update manifest indentation

* update readme

* revert crdgen file

* removed unnecessary helper func from crd client

* address pr comments

* update UUID to NCID for MPNC CRD

* address more pr comments
2023-08-10 18:48:08 -07:00
dependabot[bot] 1af833cc10
deps: bump sigs.k8s.io/controller-tools from 0.11.3 to 0.12.0 in /build/tools (#1938) 2023-05-03 17:25:21 +00:00
Evan Baker cc6aaf580d
update nnc printcols for kubectl output (#1908)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2023-04-20 03:24:03 +00:00
Ashish Nair 88f70b1ecc
[Feature: Vnet Scale]: Added the vnet block mode of operation for the NC Type in the NNC (#1872)
Added the vnet block mode of operation for the NC Type
2023-04-05 02:10:55 +00:00
Evan Baker 03baab4e4c
deprecate SetOwnerRef in favor of SetControllerRef (#1801)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2023-02-23 23:47:47 +00:00
dependabot[bot] 2418eafc5a
deps: bump sigs.k8s.io/controller-tools from 0.11.2 to 0.11.3 in /build/tools (#1786) 2023-02-06 21:41:17 +00:00
dependabot[bot] 0c3ae38808
deps: bump sigs.k8s.io/controller-tools from 0.11.1 to 0.11.2 in /build/tools (#1776) 2023-02-04 00:33:54 +00:00
shchen ccba21e79d
Update ClusterSubnetStates crd (#1769)
put timestamp to status.
2023-02-03 10:46:00 -06:00
dependabot[bot] b5f4fbf580
deps: bump sigs.k8s.io/controller-tools from 0.10.0 to 0.11.1 in /build/tools (#1733)
* deps: bump sigs.k8s.io/controller-tools in /build/tools

Bumps [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools) from 0.10.0 to 0.11.1.
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.10.0...v0.11.1)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* regen crds

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Baker <rbtr@users.noreply.github.com>
2023-01-05 14:55:12 -06:00
Evan Baker 353b7e01c6
fix: cns to use controller runtime (cached) clients in reconcilers (#1668)
* update crd clients to accept existing ctrlcli core clients

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

* fix cns to use managed cached clients for reconcilers

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

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
Signed-off-by: GitHub <noreply@github.com>
2022-12-05 17:55:45 -08:00
dependabot[bot] 12a5981530
deps: bump sigs.k8s.io/controller-tools from 0.9.2 to 0.10.0 in /build/tools (#1629) 2022-09-28 02:14:56 +00:00
Evan Baker 6dc1dbbdf6
Fix ClusterSubnetState JSON annotations and kubectl printercolumns (#1591)
fix clustersubnetstate annotations and printercols

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

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-09-12 14:57:06 -05:00
Evan Baker f17f2bfd88
Build out ClusterSubnetStatus client/api (#1487)
* update tools

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

* update CRDs and add api for clustersubnetstate

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

* fix test name

Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-07-26 18:36:50 +00:00
rsagasthya 79e0867c40
Creating new CRD for ClusterSubnetState. (#1465)
* Creating new CRD for ClusterSubnetState.

* Changes to the CRD definition.

* Updated new ClusterSubnetState CRD. Generated YAML files.

* Changed bool Status to Exhausted.

* Changed bool Status to Exhausted.
2022-07-21 17:18:05 -07:00
Evan Baker c3e709d2af
update deps in nested modules (#1410)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-06-01 20:07:48 +00:00
Evan Baker c0d88234c5
move mode to NC and add type (#1331)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-04-14 17:21:39 -05:00
Evan Baker 739c1a26dc
add mode to nnc (#1309)
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2022-04-04 19:02:57 -05:00
rsagasthya 181fbf88b7
Updates to the CRD Manifests. (#1292) 2022-03-17 15:10:02 -05:00
rsagasthya 65ce2f1d96
Added the Pod Net ARM ID as a Label. (#1260)
* Added the Pod Net ARM ID as a Label.

Added Pod Net Arm Id as labels to the CNS Metrics.

* CNS Metrics: ARM ID as Label

Necessary changes to the read the ARM ID metadata coming from DNC.

* Subtle changes in NNC

Variable names had to be modified to meet lint standards.

* Subtle changes in NNC

Variable names had to be modified to meet lint standards.

* Made NNC arg a Pointer

NNC that was passed to create the ARM ID was too heavy. Converted that argument to a pointer and passed the reference of the NNC in that method.

* [CNS] Metrics Prefix

Added the "cx_" prefix to prometheus metrics of CNS.

* Minor Changes

Minor edits with the Metric Names and Documentation.

* ConstLabels in Metrics

Made changes to the ConstLabels in the CNS Metrics.

* ConstLabels in Metrics

Made changes to the ConstLabels in the CNS Metrics.
2022-03-16 02:39:36 +00:00
Matthew Long d8b4ce2c74
fix: CRD status should include Node IP (#1249) 2022-02-23 04:18:57 +00:00