From 12ebbc8b0b14272ffb1b931c28a96f9918432946 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Fri, 21 Jan 2022 10:00:24 +0100 Subject: [PATCH] go.mod, vendor: update cilium to 1.11.1 Signed-off-by: Tobias Klauser --- go.mod | 2 +- go.sum | 26 +++- vendor/github.com/cilium/cilium/AUTHORS | 7 + .../api/v1/health/models/endpoint_status.go | 109 ++++++++++++++++ .../api/v1/health/models/node_status.go | 29 ++++- .../cilium/cilium/pkg/health/client/client.go | 120 ++++++++++++++---- .../cilium/cilium/pkg/ipam/option/option.go | 7 + .../cilium/cilium/pkg/ipam/types/types.go | 15 +++ .../pkg/ipam/types/zz_generated.deepcopy.go | 7 + .../pkg/ipam/types/zz_generated.deepequal.go | 21 +++ .../pkg/k8s/apis/cilium.io/v2/register.go | 2 +- .../k8s/apis/cilium.io/v2alpha1/register.go | 2 +- .../cilium/cilium/pkg/metrics/status.go | 15 ++- .../cilium/cilium/pkg/monitor/api/types.go | 3 +- .../cilium/cilium/pkg/option/config.go | 6 +- vendor/modules.txt | 2 +- 16 files changed, 330 insertions(+), 43 deletions(-) create mode 100644 vendor/github.com/cilium/cilium/api/v1/health/models/endpoint_status.go diff --git a/go.mod b/go.mod index 73523604e9..4496838f0c 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ replace ( require ( github.com/blang/semver/v4 v4.0.0 - github.com/cilium/cilium v1.11.0 + github.com/cilium/cilium v1.11.1 github.com/cilium/hubble v0.9.0 github.com/cilium/workerpool v1.1.1 github.com/cloudflare/cfssl v1.6.1 diff --git a/go.sum b/go.sum index 30f4ce59d7..d81c8924a8 100644 --- a/go.sum +++ b/go.sum @@ -216,18 +216,29 @@ github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZw github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2 v1.11.0/go.mod h1:SQfA+m2ltnu1cA0soUkj4dRSsmITiVQUJvBIZjzfPyQ= github.com/aws/aws-sdk-go-v2 v1.11.1/go.mod h1:SQfA+m2ltnu1cA0soUkj4dRSsmITiVQUJvBIZjzfPyQ= +github.com/aws/aws-sdk-go-v2 v1.11.2/go.mod h1:SQfA+m2ltnu1cA0soUkj4dRSsmITiVQUJvBIZjzfPyQ= github.com/aws/aws-sdk-go-v2/config v1.10.0/go.mod h1:xuqoV5etD3N3B8Ts9je4ijgAv6mb+6NiOPFMUhwRcjA= +github.com/aws/aws-sdk-go-v2/config v1.11.0/go.mod h1:VrQDJGFBM5yZe+IOeenNZ/DWoErdny+k2MHEIpwDsEY= github.com/aws/aws-sdk-go-v2/credentials v1.6.0/go.mod h1:rQkYdQPDXRrvPLeEuCNwSgtwMzBo9eDGWlTNC69Sh/0= +github.com/aws/aws-sdk-go-v2/credentials v1.6.4/go.mod h1:tTrhvBPHyPde4pdIPSba4Nv7RYr4wP9jxXEDa1bKn/8= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.0/go.mod h1:5E1J3/TTYy6z909QNR0QnXGBpfESYGDqd3O0zqONghU= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.1/go.mod h1:MYiG3oeEcmrdBOV7JOIWhionzyRZJWCnByS5FmvhAoU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.2/go.mod h1:dF2F6tXEOgmW5X1ZFO/EPtWrcm7XkW07KNcJUGNtt4s= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.0/go.mod h1:NO3Q5ZTTQtO2xIg2+xTXYDiT7knSejfeDm7WGDaOo0U= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.2/go.mod h1:SgKKNBIoDC/E1ZCDhhMW3yalWjwuLjMcpLzsM/QQnWo= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0/go.mod h1:anlUzBoEWglcUxUQwZA7HQOEVEnQALVZsizAapB2hq8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.2/go.mod h1:xT4XX6w5Sa3dhg50JrYyy3e4WPYo/+WjY/BXtqXVunU= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.0/go.mod h1:6oXGy4GLpypD3uCh8wcqztigGgmhLToMfjavgh+VySg= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.2/go.mod h1:VITe/MdW6EMXPb0o0txu/fsonXbMHUU2OC2Qp7ivU4o= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= github.com/aws/aws-sdk-go-v2/service/ec2 v1.21.0/go.mod h1:kK7lSKNwAqIMKVCTsfVcN82m8pvuPUf+6g/zrz/PnE0= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.25.0/go.mod h1:cIbz+b70nxJafXf9lT07Xj03pef6CsVdYTCCR0DQEQc= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.0/go.mod h1:Mq6AEc+oEjCUlBuLiK5YwW4shSOAKCQ3tXN0sQeYoBA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.2/go.mod h1:FgR1tCsn8C6+Hf+N5qkfrE4IXvUL1RgW87sunJ+5J4I= github.com/aws/aws-sdk-go-v2/service/sso v1.6.0/go.mod h1:Q/l0ON1annSU+mc0JybDy1Gy6dnJxIcWjphO6qJPzvM= +github.com/aws/aws-sdk-go-v2/service/sso v1.6.2/go.mod h1:KnIpszaIdwI33tmc/W/GGXyn22c1USYxA/2KyvoeDY0= github.com/aws/aws-sdk-go-v2/service/sts v1.9.0/go.mod h1:jLKCFqS+1T4i7HDqCP9GM4Uk75YW1cS0o82LdxpMyOE= +github.com/aws/aws-sdk-go-v2/service/sts v1.11.1/go.mod h1:UV2N5HaPfdbDpkgkz4sRzWCvQswZjdO1FfqCWl0t7RA= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.9.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= @@ -285,8 +296,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cilium/cilium v1.11.0-rc3/go.mod h1:saQ+u3UA8vXGwFvcYpFTTFvhmJtfRiD74B/+yUSs0qE= -github.com/cilium/cilium v1.11.0 h1:uHgtn78k0ug2sQYUvytIVmWFaYxYFplDv0ScLBxgieA= -github.com/cilium/cilium v1.11.0/go.mod h1:mbw4BGSsHXJkeNu09TH8S+sOzI/yEHC/VgzhBqS3des= +github.com/cilium/cilium v1.11.1 h1:Q6GRmmZxADW/GxaYKJc2vo2z5n8haBxav3pLCgzjsdI= +github.com/cilium/cilium v1.11.1/go.mod h1:xdLxOE/3FhilCPBFrOyhuyUzze3siRoIWmEQ2uJGHQk= github.com/cilium/customvet v0.0.0-20201209211516-9852765c1ac4/go.mod h1:MEn5V1CejgUNFP3Y1JKmBC6Mb9TuK53ecHG9lffctFg= github.com/cilium/deepequal-gen v0.0.0-20200406125435-ad6a9003139e/go.mod h1:c4R5wxGyXhbM6zyKeRKNIc9aab5EZi4z4oOSZvUMvZA= github.com/cilium/dns v1.1.4-0.20190417235132-8e25ec9a0ff3/go.mod h1:cXN7jgo+gsGlNvQ7Vqu2ELdc3f7i7PPgupHqSkLzzBo= @@ -2443,17 +2454,19 @@ k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= k8s.io/api v0.21.3/go.mod h1:hUgeYHUbBp23Ue4qdX9tR8/ANi/g3ehylAqDn9NWVOg= k8s.io/api v0.22.3/go.mod h1:azgiXFiXqiWyLCfI62/eYBOu19rj2LKmIhFPP4+33fs= +k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= k8s.io/api v0.24.0-alpha.0 h1:M/31Z1GKgTE0/fWu2/arAfvIoMmL/oQ5ykYN9RTzgKg= k8s.io/api v0.24.0-alpha.0/go.mod h1:deWo+4OwHTtia+zwLZirxNA0Unp1Y/a4lsmydSRUqp8= k8s.io/apiextensions-apiserver v0.21.3/go.mod h1:kl6dap3Gd45+21Jnh6utCx8Z2xxLm8LGDkprcd+KbsE= k8s.io/apiextensions-apiserver v0.22.3/go.mod h1:f4plF+CXeqI89jAXL0Ml4LI/kSAZ54JS94+XOX1sae8= -k8s.io/apiextensions-apiserver v0.24.0-alpha.0/go.mod h1:CFbn7MgT/EzL4JFBWbHQOdlATbzXtFaMoiBZuIqhE6k= +k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= k8s.io/apimachinery v0.21.3/go.mod h1:H/IM+5vH9kZRNJ4l3x/fXP/5bOPJaVP/guptnZPeCFI= k8s.io/apimachinery v0.22.3/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= k8s.io/apimachinery v0.24.0-alpha.0 h1:FChRBdwz3dJDpfIBXaSRlDQQ6FOHiRvgAHaRAynx73s= k8s.io/apimachinery v0.24.0-alpha.0/go.mod h1:SqloDTPqePPNhEp8K4qUgqpKc3tE+ymn05iIUbSAQ7g= k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= @@ -2461,7 +2474,7 @@ k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= k8s.io/apiserver v0.21.3/go.mod h1:eDPWlZG6/cCCMj/JBcEpDoK+I+6i3r9GsChYBHSbAzU= k8s.io/apiserver v0.22.3/go.mod h1:oam7lH/F1Kto/WTamyQYrD68fS0mGUBORAFf6x/9Mxs= -k8s.io/apiserver v0.24.0-alpha.0/go.mod h1:Wzy5gdcJO/YD+eQ7ehQpVnC36E2HPZ9kDtQcFF+5qmM= +k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= k8s.io/cli-runtime v0.24.0-alpha.0 h1:o3xx1RrdTLH6dwlT0KntsWaueiOyI7Ov+vY5+4TL6Bs= k8s.io/cli-runtime v0.24.0-alpha.0/go.mod h1:9tFZCnHDd5u56V2j4jj4M/ql7bAj09adJ8TdY608DdI= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= @@ -2470,17 +2483,18 @@ k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= k8s.io/client-go v0.21.3/go.mod h1:+VPhCgTsaFmGILxR/7E1N0S+ryO010QBeNCv5JwRGYU= k8s.io/client-go v0.22.3/go.mod h1:ElDjYf8gvZsKDYexmsmnMQ0DYO8W9RwBjfQ1PI53yow= +k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= k8s.io/client-go v0.24.0-alpha.0 h1:qeU8M+gy+bTDzJQMMy6VsvYXtNJAPkP0QvJw/Cl7gnA= k8s.io/client-go v0.24.0-alpha.0/go.mod h1:tQEmSne6/r+o6F5m9q0zx2R7zgm9xXmnNuIgsUWcMxw= k8s.io/code-generator v0.21.3/go.mod h1:K3y0Bv9Cz2cOW2vXUrNZlFbflhuPvuadW6JdnN6gGKo= k8s.io/code-generator v0.22.3/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= -k8s.io/code-generator v0.24.0-alpha.0/go.mod h1:mObJbeTbuUA4VfVCtZI0nS/oLJRp+s2A07sH+fMregI= +k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= k8s.io/component-base v0.21.3/go.mod h1:kkuhtfEHeZM6LkX0saqSK8PbdO7A0HigUngmhhrwfGQ= k8s.io/component-base v0.22.3/go.mod h1:kuybv1miLCMoOk3ebrqF93GbQHQx6W2287FC0YEQY6s= -k8s.io/component-base v0.24.0-alpha.0/go.mod h1:oV8LeZkXpFiAHKmrdYcgsHzeF4HaDVipKo701EjtAt8= +k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= diff --git a/vendor/github.com/cilium/cilium/AUTHORS b/vendor/github.com/cilium/cilium/AUTHORS index 9c2570d49d..62f35af8d9 100644 --- a/vendor/github.com/cilium/cilium/AUTHORS +++ b/vendor/github.com/cilium/cilium/AUTHORS @@ -11,6 +11,7 @@ Akshat Agarwal humancalico@disroot.org Alban Crequy alban@kinvolk.io Aleksei Zakharov zakharov.a.g@yandex.ru Alexander Alemayhu alexander@alemayhu.com +Alexander Block ablock84@gmail.com Alexandre Perrin alex@kaworu.ch Alexei Starovoitov alexei.starovoitov@gmail.com Alex Romanov alex@romanov.ws @@ -130,6 +131,7 @@ Gowtham Sundara gowtham.sundara@rapyuta-robotics.com Guilherme Oki guilherme.oki@wildlifestudios.com Guilherme Souza 101073+guilhermef@users.noreply.github.com Han Zhou hzhou8@ebay.com +Hemanth Malla hemanth.malla@datadoghq.com Hemslo Wang hemslo.wang@gmail.com huangxuesen huangxuesen@kuaishou.com Hui Kong hui.kong@qunar.com @@ -138,6 +140,7 @@ Ian Vernon ian@cilium.io Ifeanyi Ubah ify1992@yahoo.com Ilya Dmitrichenko errordeveloper@gmail.com Ilya Shaisultanov ilya.shaisultanov@gmail.com +Ivan Makarychev i.makarychev@tinkoff.ru Ivar Lazzaro ivarlazzaro@gmail.com Jaff Cheng jaff.cheng.sh@gmail.com Jaime Caamaño Ruiz jcaamano@suse.com @@ -239,6 +242,7 @@ Nate Sweet nathanjsweet@pm.me Nathan Bird njbird@infiniteenergy.com nathannaveen 42319948+nathannaveen@users.noreply.github.com Nathan Taylor ntaylor1781@gmail.com +Necatican Yıldırım necaticanyildirim@gmail.com Neela Jacques neela@isovalent.com Neil Wilson neil@aldur.co.uk Nick M 4718+rkage@users.noreply.github.com @@ -260,6 +264,7 @@ Pranavi Roy pranvyr@gmail.com Pratyush Singhal psinghal20@gmail.com Qasim Sarfraz qasim.sarfraz@esailors.de Quentin Monnet quentin@isovalent.com +Raamnath Mani ram29@bskyb.com Raghu Gyambavantha raghug@bld-ml-loan4.olympus.f5net.com Rahul Jadhav nyrahul@gmail.com Rajat Jindal rajatjindal83@gmail.com @@ -289,6 +294,7 @@ Sean Winn sean@isovalent.com Sebastian Wicki sebastian@isovalent.com Sergey Generalov sergey@isovalent.com Sergey Monakhov monakhov@puzl.ee +Sergio Ballesteros snaker@locolandia.net Shantanu Deshpande shantanud106@gmail.com Simon Pasquier spasquier@mirantis.com Smaine Kahlouch smainklh@gmail.com @@ -343,6 +349,7 @@ Wenxian Li wofanli@gmail.com Will Deuschle wdeuschle@palantir.com Will Stewart will@northflank.com Xinyuan Zhang zhangxinyuan@google.com +yanhongchang yanhongchang@100tal.com Yiannis Yiakoumis yiannis@selfienetworks.com Yongkun Gui ygui@google.com Yosh de Vos yosh@elzorro.nl diff --git a/vendor/github.com/cilium/cilium/api/v1/health/models/endpoint_status.go b/vendor/github.com/cilium/cilium/api/v1/health/models/endpoint_status.go new file mode 100644 index 0000000000..cf6a50de16 --- /dev/null +++ b/vendor/github.com/cilium/cilium/api/v1/health/models/endpoint_status.go @@ -0,0 +1,109 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// Copyright 2017-2021 Authors of Cilium +// SPDX-License-Identifier: Apache-2.0 + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// EndpointStatus Connectivity status to host cilium-health endpoints via different paths +// +// +// swagger:model EndpointStatus +type EndpointStatus struct { + + // primary address + PrimaryAddress *PathStatus `json:"primary-address,omitempty"` + + // secondary addresses + SecondaryAddresses []*PathStatus `json:"secondary-addresses"` +} + +// Validate validates this endpoint status +func (m *EndpointStatus) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePrimaryAddress(formats); err != nil { + res = append(res, err) + } + + if err := m.validateSecondaryAddresses(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *EndpointStatus) validatePrimaryAddress(formats strfmt.Registry) error { + + if swag.IsZero(m.PrimaryAddress) { // not required + return nil + } + + if m.PrimaryAddress != nil { + if err := m.PrimaryAddress.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("primary-address") + } + return err + } + } + + return nil +} + +func (m *EndpointStatus) validateSecondaryAddresses(formats strfmt.Registry) error { + + if swag.IsZero(m.SecondaryAddresses) { // not required + return nil + } + + for i := 0; i < len(m.SecondaryAddresses); i++ { + if swag.IsZero(m.SecondaryAddresses[i]) { // not required + continue + } + + if m.SecondaryAddresses[i] != nil { + if err := m.SecondaryAddresses[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("secondary-addresses" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *EndpointStatus) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *EndpointStatus) UnmarshalBinary(b []byte) error { + var res EndpointStatus + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/vendor/github.com/cilium/cilium/api/v1/health/models/node_status.go b/vendor/github.com/cilium/cilium/api/v1/health/models/node_status.go index 5d9cbc9448..5df4b4c68d 100644 --- a/vendor/github.com/cilium/cilium/api/v1/health/models/node_status.go +++ b/vendor/github.com/cilium/cilium/api/v1/health/models/node_status.go @@ -19,9 +19,14 @@ import ( // swagger:model NodeStatus type NodeStatus struct { - // Connectivity status to simulated endpoint on node IP + // DEPRECATED: Please use the health-endpoint field instead, which + // supports reporting the status of different addresses for the endpoint + // Endpoint *PathStatus `json:"endpoint,omitempty"` + // Connectivity status to simulated endpoint on the node + HealthEndpoint *EndpointStatus `json:"health-endpoint,omitempty"` + // Connectivity status to cilium-health instance on node IP Host *HostStatus `json:"host,omitempty"` @@ -37,6 +42,10 @@ func (m *NodeStatus) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateHealthEndpoint(formats); err != nil { + res = append(res, err) + } + if err := m.validateHost(formats); err != nil { res = append(res, err) } @@ -65,6 +74,24 @@ func (m *NodeStatus) validateEndpoint(formats strfmt.Registry) error { return nil } +func (m *NodeStatus) validateHealthEndpoint(formats strfmt.Registry) error { + + if swag.IsZero(m.HealthEndpoint) { // not required + return nil + } + + if m.HealthEndpoint != nil { + if err := m.HealthEndpoint.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("health-endpoint") + } + return err + } + } + + return nil +} + func (m *NodeStatus) validateHost(formats strfmt.Registry) error { if swag.IsZero(m.Host) { // not required diff --git a/vendor/github.com/cilium/cilium/pkg/health/client/client.go b/vendor/github.com/cilium/cilium/pkg/health/client/client.go index da40c9e33b..fe93c9834d 100644 --- a/vendor/github.com/cilium/cilium/pkg/health/client/client.go +++ b/vendor/github.com/cilium/cilium/pkg/health/client/client.go @@ -158,6 +158,23 @@ func GetPathConnectivityStatusType(cp *models.PathStatus) ConnectivityStatusType return status } +func SummarizePathConnectivityStatusType(cps []*models.PathStatus) ConnectivityStatusType { + status := ConnStatusReachable + for _, cp := range cps { + switch GetPathConnectivityStatusType(cp) { + case ConnStatusUnreachable: + // If any status is unreachable, return it immediately. + return ConnStatusUnreachable + case ConnStatusUnknown: + // If the status is unknown, prepare to return it. It's + // going to be returned if there is no unreachable + // status in next iterations. + status = ConnStatusUnknown + } + } + return status +} + func formatConnectivityStatus(w io.Writer, cs *models.ConnectivityStatus, path, indent string) { status := cs.Status switch GetConnectivityStatusType(cs) { @@ -186,30 +203,32 @@ func formatPathStatus(w io.Writer, name string, cp *models.PathStatus, indent st } } -// pathIsHealthyOrUnknown checks whether ICMP and TCP(HTTP) connectivity to the -// given path is available or had no explicit error status (which usually is the -// case when the new node is provisioned). -func pathIsHealthyOrUnknown(cp *models.PathStatus) bool { - if cp == nil { - return false - } - - statuses := []*models.ConnectivityStatus{ - cp.Icmp, - cp.HTTP, - } - for _, status := range statuses { - switch GetConnectivityStatusType(status) { - case ConnStatusUnreachable: +// allPathsAreHealthyOrUnknown checks whether ICMP and TCP(HTTP) connectivity +// to the given paths is available or had no explicit error status +// (which usually is the case when the new node is provisioned). +func allPathsAreHealthyOrUnknown(cps []*models.PathStatus) bool { + for _, cp := range cps { + if cp == nil { return false } + + statuses := []*models.ConnectivityStatus{ + cp.Icmp, + cp.HTTP, + } + for _, status := range statuses { + switch GetConnectivityStatusType(status) { + case ConnStatusUnreachable: + return false + } + } } return true } func nodeIsHealthy(node *models.NodeStatus) bool { - return pathIsHealthyOrUnknown(GetHostPrimaryAddress(node)) && - (node.Endpoint == nil || pathIsHealthyOrUnknown(node.Endpoint)) + return allPathsAreHealthyOrUnknown(GetAllHostAddresses(node)) && + allPathsAreHealthyOrUnknown(GetAllEndpointAddresses(node)) } func nodeIsLocalhost(node *models.NodeStatus, self *models.SelfStatus) bool { @@ -234,6 +253,57 @@ func GetHostPrimaryAddress(node *models.NodeStatus) *models.PathStatus { return node.Host.PrimaryAddress } +// GetHostSecondaryAddresses returns the secondary host addresses (if any) +func GetHostSecondaryAddresses(node *models.NodeStatus) []*models.PathStatus { + if node.Host == nil { + return nil + } + + return node.Host.SecondaryAddresses +} + +// GetAllHostAddresses returns a list of all addresses (primary and any +// and any secondary) for the host of a given node. If node.Host is nil, +// returns nil. +func GetAllHostAddresses(node *models.NodeStatus) []*models.PathStatus { + if node.Host == nil { + return nil + } + + return append([]*models.PathStatus{node.Host.PrimaryAddress}, node.Host.SecondaryAddresses...) +} + +// GetEndpointPrimaryAddress returns the PrimaryAddress for the health endpoint +// within node. If node.HealthEndpoint is nil, returns nil. +func GetEndpointPrimaryAddress(node *models.NodeStatus) *models.PathStatus { + if node.HealthEndpoint == nil { + return nil + } + + return node.HealthEndpoint.PrimaryAddress +} + +// GetEndpointSecondaryAddresses returns the secondary health endpoint addresses +// (if any) +func GetEndpointSecondaryAddresses(node *models.NodeStatus) []*models.PathStatus { + if node.HealthEndpoint == nil { + return nil + } + + return node.HealthEndpoint.SecondaryAddresses +} + +// GetAllEndpointAddresses returns a list of all addresses (primary and any +// and any secondary) for the health endpoint within a given node. +// If node.HealthEndpoint is nil, returns nil. +func GetAllEndpointAddresses(node *models.NodeStatus) []*models.PathStatus { + if node.HealthEndpoint == nil { + return nil + } + + return node.HealthEndpoint.SecondaryAddresses +} + func formatNodeStatus(w io.Writer, node *models.NodeStatus, printAll, succinct, verbose, localhost bool) { localStr := "" if localhost { @@ -241,21 +311,27 @@ func formatNodeStatus(w io.Writer, node *models.NodeStatus, printAll, succinct, } if succinct { if printAll || !nodeIsHealthy(node) { - fmt.Fprintf(w, " %s%s\t%s\t%s\t%s\n", node.Name, localStr, getPrimaryAddressIP(node), - GetPathConnectivityStatusType(GetHostPrimaryAddress(node)).String(), - GetPathConnectivityStatusType(node.Endpoint).String()) + SummarizePathConnectivityStatusType(GetAllHostAddresses(node)).String(), + SummarizePathConnectivityStatusType(GetAllEndpointAddresses(node)).String()) } } else { fmt.Fprintf(w, " %s%s:\n", node.Name, localStr) formatPathStatus(w, "Host", GetHostPrimaryAddress(node), " ", verbose) - if verbose && node.Host != nil { + unhealthyPaths := !allPathsAreHealthyOrUnknown(GetHostSecondaryAddresses(node)) + if (verbose || unhealthyPaths) && node.Host != nil { for _, addr := range node.Host.SecondaryAddresses { formatPathStatus(w, "Secondary", addr, " ", verbose) } } - formatPathStatus(w, "Endpoint", node.Endpoint, " ", verbose) + formatPathStatus(w, "Endpoint", GetEndpointPrimaryAddress(node), " ", verbose) + unhealthyPaths = !allPathsAreHealthyOrUnknown(GetEndpointSecondaryAddresses(node)) + if (verbose || unhealthyPaths) && node.HealthEndpoint != nil { + for _, addr := range node.HealthEndpoint.SecondaryAddresses { + formatPathStatus(w, "Secondary", addr, " ", verbose) + } + } } } diff --git a/vendor/github.com/cilium/cilium/pkg/ipam/option/option.go b/vendor/github.com/cilium/cilium/pkg/ipam/option/option.go index 274342150a..dd65d41ba5 100644 --- a/vendor/github.com/cilium/cilium/pkg/ipam/option/option.go +++ b/vendor/github.com/cilium/cilium/pkg/ipam/option/option.go @@ -26,3 +26,10 @@ const ( // IPAMAlibabaCloud is the value to select the AlibabaCloud ENI IPAM plugin for option.IPAM IPAMAlibabaCloud = "alibabacloud" ) + +const ( + IPAMMarkForRelease = "marked-for-release" + IPAMReadyForRelease = "ready-for-release" + IPAMDoNotRelease = "do-not-release" + IPAMReleased = "released" +) diff --git a/vendor/github.com/cilium/cilium/pkg/ipam/types/types.go b/vendor/github.com/cilium/cilium/pkg/ipam/types/types.go index c25b6d75f5..52bdfc0cf2 100644 --- a/vendor/github.com/cilium/cilium/pkg/ipam/types/types.go +++ b/vendor/github.com/cilium/cilium/pkg/ipam/types/types.go @@ -100,6 +100,11 @@ type IPAMSpec struct { MaxAboveWatermark int `json:"max-above-watermark,omitempty"` } +// IPReleaseStatus defines the valid states in IP release handshake +// +// +kubebuilder:validation:Enum=marked-for-release;ready-for-release;do-not-release;released +type IPReleaseStatus string + // IPAMStatus is the IPAM status of a node // // This structure is embedded into v2.CiliumNode @@ -114,6 +119,16 @@ type IPAMStatus struct { // // +optional OperatorStatus OperatorStatus `json:"operator-status,omitempty"` + + // ReleaseIPs tracks the state for every IP considered for release. + // value can be one of the following string : + // * marked-for-release : Set by operator as possible candidate for IP + // * ready-for-release : Acknowledged as safe to release by agent + // * do-not-release : IP already in use / not owned by the node. Set by agent + // * released : IP successfully released. Set by operator + // + // +optional + ReleaseIPs map[string]IPReleaseStatus `json:"release-ips,omitempty"` } // OperatorStatus is the status used by cilium-operator to report diff --git a/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepcopy.go b/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepcopy.go index 7b1af8ec7f..53a06a5ba7 100644 --- a/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepcopy.go +++ b/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepcopy.go @@ -85,6 +85,13 @@ func (in *IPAMStatus) DeepCopyInto(out *IPAMStatus) { } } out.OperatorStatus = in.OperatorStatus + if in.ReleaseIPs != nil { + in, out := &in.ReleaseIPs, &out.ReleaseIPs + *out = make(map[string]IPReleaseStatus, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } return } diff --git a/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepequal.go b/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepequal.go index c4f637871d..020c32486c 100644 --- a/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepequal.go +++ b/vendor/github.com/cilium/cilium/pkg/ipam/types/zz_generated.deepequal.go @@ -114,6 +114,27 @@ func (in *IPAMStatus) DeepEqual(other *IPAMStatus) bool { return false } + if ((in.ReleaseIPs != nil) && (other.ReleaseIPs != nil)) || ((in.ReleaseIPs == nil) != (other.ReleaseIPs == nil)) { + in, other := &in.ReleaseIPs, &other.ReleaseIPs + if other == nil { + return false + } + + if len(*in) != len(*other) { + return false + } else { + for key, inValue := range *in { + if otherValue, present := (*other)[key]; !present { + return false + } else { + if inValue != otherValue { + return false + } + } + } + } + } + return true } diff --git a/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2/register.go b/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2/register.go index 6618d1b348..a448ef06f0 100644 --- a/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2/register.go +++ b/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2/register.go @@ -23,7 +23,7 @@ const ( // // Maintainers: Run ./Documentation/check-crd-compat-table.sh for each release // Developers: Bump patch for each change in the CRD schema. - CustomResourceDefinitionSchemaVersion = "1.24.2" + CustomResourceDefinitionSchemaVersion = "1.24.3" // CustomResourceDefinitionSchemaVersionKey is key to label which holds the CRD schema version CustomResourceDefinitionSchemaVersionKey = "io.cilium.k8s.crd.schema.version" diff --git a/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2alpha1/register.go b/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2alpha1/register.go index f488cc341a..2f1ee07f61 100644 --- a/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2alpha1/register.go +++ b/vendor/github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2alpha1/register.go @@ -23,7 +23,7 @@ const ( // // Maintainers: Run ./Documentation/check-crd-compat-table.sh for each release // Developers: Bump patch for each change in the CRD schema. - CustomResourceDefinitionSchemaVersion = "1.24.1" + CustomResourceDefinitionSchemaVersion = "1.24.3" // CustomResourceDefinitionSchemaVersionKey is key to label which holds the CRD schema version CustomResourceDefinitionSchemaVersionKey = "io.cilium.k8s.crd.schema.version" diff --git a/vendor/github.com/cilium/cilium/pkg/metrics/status.go b/vendor/github.com/cilium/cilium/pkg/metrics/status.go index 8ffd895c3c..55ff4fb6eb 100644 --- a/vendor/github.com/cilium/cilium/pkg/metrics/status.go +++ b/vendor/github.com/cilium/cilium/pkg/metrics/status.go @@ -128,14 +128,17 @@ func (s *statusCollector) Collect(ch chan<- prometheus.Metric) { ) for _, nodeStatus := range healthStatusResponse.Payload.Nodes { - switch healthClientPkg.GetPathConnectivityStatusType(healthClientPkg.GetHostPrimaryAddress(nodeStatus)) { - case healthClientPkg.ConnStatusUnreachable: - unreachableNodes++ + for _, addr := range healthClientPkg.GetAllHostAddresses(nodeStatus) { + if healthClientPkg.GetPathConnectivityStatusType(addr) == healthClientPkg.ConnStatusUnreachable { + unreachableNodes++ + break + } } - if nodeStatus.Endpoint != nil { - switch healthClientPkg.GetPathConnectivityStatusType(nodeStatus.Endpoint) { - case healthClientPkg.ConnStatusUnreachable: + + for _, addr := range healthClientPkg.GetAllEndpointAddresses(nodeStatus) { + if healthClientPkg.GetPathConnectivityStatusType(addr) == healthClientPkg.ConnStatusUnreachable { unreachableEndpoints++ + break } } } diff --git a/vendor/github.com/cilium/cilium/pkg/monitor/api/types.go b/vendor/github.com/cilium/cilium/pkg/monitor/api/types.go index c7beb51b8e..284f81def3 100644 --- a/vendor/github.com/cilium/cilium/pkg/monitor/api/types.go +++ b/vendor/github.com/cilium/cilium/pkg/monitor/api/types.go @@ -173,8 +173,7 @@ func TraceObservationPointHasConnState(obsPoint uint8) bool { case TraceToLxc, TraceToProxy, TraceToHost, - TraceToStack, - TraceToNetwork: + TraceToStack: return true default: return false diff --git a/vendor/github.com/cilium/cilium/pkg/option/config.go b/vendor/github.com/cilium/cilium/pkg/option/config.go index 8a01a9b39a..d593f1d901 100644 --- a/vendor/github.com/cilium/cilium/pkg/option/config.go +++ b/vendor/github.com/cilium/cilium/pkg/option/config.go @@ -1760,6 +1760,9 @@ type DaemonConfig struct { // EnableBandwidthManager enables EDT-based pacing EnableBandwidthManager bool + // ResetQueueMapping resets the Pod's skb queue mapping + ResetQueueMapping bool + // EnableRecorder enables the datapath pcap recorder EnableRecorder bool @@ -2151,8 +2154,7 @@ func (c *DaemonConfig) AlwaysAllowLocalhost() bool { } } -// TunnelingEnabled returns true if the remote-node identity feature -// is enabled +// TunnelingEnabled returns true if tunneling is enabled, i.e. not set to "disabled". func (c *DaemonConfig) TunnelingEnabled() bool { return c.Tunnel != TunnelDisabled } diff --git a/vendor/modules.txt b/vendor/modules.txt index e6a1f44560..00c47abca2 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -51,7 +51,7 @@ github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1 # github.com/cespare/xxhash/v2 v2.1.2 ## explicit; go 1.11 github.com/cespare/xxhash/v2 -# github.com/cilium/cilium v1.11.0 +# github.com/cilium/cilium v1.11.1 ## explicit; go 1.17 github.com/cilium/cilium/api/v1/client github.com/cilium/cilium/api/v1/client/daemon