Skip to content

nits to getIstio #257

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 11, 2017
Merged

nits to getIstio #257

merged 2 commits into from
May 11, 2017

Conversation

rshriram
Copy link
Member

@rshriram rshriram commented May 11, 2017

This change is Reviewable

@istio-testing
Copy link
Collaborator

Jenkins job istio/presubmit passed

@rshriram rshriram requested review from frankbu and sebastienvas May 11, 2017 18:30
Copy link
Member

@ldemailly ldemailly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add v to the tar so people see what they are getting

@rshriram rshriram removed the request for review from sebastienvas May 11, 2017 18:57
@rshriram rshriram merged commit ccfe44e into master May 11, 2017
@rshriram rshriram deleted the temp branch May 11, 2017 18:58
@ldemailly
Copy link
Member

Is there a corresponding doc change (there's also a chicken and egg issue on how you get this file?)

@rshriram
Copy link
Member Author

Its in master and will always be in master. The vanity url https://git.io/getIstio points to this file

zenlint pushed a commit to zenlint/istio that referenced this pull request Aug 30, 2017
mandarjog pushed a commit to mandarjog/istio that referenced this pull request Oct 30, 2017
This PR adds an experimental servicegraph generation service to the
mixer codebase. This addition is meant to be temporary, as it is
expected that such a service will eventually be moved to a proper
repository once it evolves beyond initial prototype status.

A demosvc is also provided a target for prometheus scraping (to gen data
for testing).

No tests are provided, at the moment, as this is prototype (at best)
quality code.

Former-commit-id: f0048999841956ca8b7870dacfd337b251040104
rshriram added a commit that referenced this pull request Oct 30, 2017
* renaming for a fix

* allow redirects


Former-commit-id: ccfe44e
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
This PR adds an experimental servicegraph generation service to the
mixer codebase. This addition is meant to be temporary, as it is
expected that such a service will eventually be moved to a proper
repository once it evolves beyond initial prototype status.

A demosvc is also provided a target for prometheus scraping (to gen data
for testing).

No tests are provided, at the moment, as this is prototype (at best)
quality code.

Former-commit-id: 8ee7b408b0f7a5c3ab30db9880a9d25cc5032d36
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
Automatic merge from submit-queue

Refresh cert before each CSR for node agent

**Release note**:

```release-note
NONE
```
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
* Add TCP routing checks to e2e integration test

Use existing HTTP server/client to verify TCP routing rules by setting
up k8s services with non-http port names (e.g. tcp, tcp-alternative).

This also fixes bug in inbound TCP route contruction by adding
ServiceAddress:ServicePort and EndpointAddress:ServicePort in addition
to EndpointAddress:Port.

* address review comments

* Generate seperate route configs for endpoint IP and service VIP

* Update config.go

* refresh envoy.json.golden

* Update config.go
mandarjog pushed a commit that referenced this pull request Nov 2, 2017
* renaming for a fix

* allow redirects


Former-commit-id: ccfe44e
mandarjog pushed a commit that referenced this pull request Nov 2, 2017
Automatic merge from submit-queue

Refresh cert before each CSR for node agent

**Release note**:

```release-note
NONE
```
guptasu pushed a commit to guptasu/istio that referenced this pull request Jun 11, 2018
* Rename enable_mixer_check to disable_check_calls.

* update per comment
kyessenov pushed a commit to kyessenov/istio that referenced this pull request Aug 13, 2018
fails to compile on ubuntu 17.10
g++ (Ubuntu 7.2.0-8ubuntu3) 7.2.0
because of undefined std::function. adding the header fixes this.
rajusharma pushed a commit to rajusharma/istio that referenced this pull request Jul 2, 2019
howardjohn pushed a commit to howardjohn/istio that referenced this pull request Jan 12, 2020
* Sync installer SHA

* Update goldens

* Update default values

* Update goldens
brian-avery pushed a commit to brian-avery/istio that referenced this pull request Feb 12, 2021
Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)
luksa pushed a commit to luksa/istio that referenced this pull request Jun 30, 2021
MAISTRA-2051: Add xns-informer for Kubernetes types (istio#223)

* vendor: Add github.com/maistra/xns-informer

* Update mirrored licenses to fix gen-check

* MAISTRA-2051: Add xns-informer for Kubernetes types

This integrates the xns-informer library for multi-namespace support,
but only for core Kubernetes types.  The informers are hard-coded to
watch all namespaces here.  The integration with MemberRoll will come
in a follow-up.

MAISTRA-2051 Add xns-informer for Istio types (istio#221)

MAISTRA-2051: Add MemberRollController (istio#227)

* MAISTRA-2051: Add MemberRollController

Includes the following:

* 75742b0 - Add Makefile for Maistra client generation

This adds a Makefile with tasks for generating the Maistra specific
clients. It is adapted from the one in the Istio client-go repository.

* 5f8562c - Add MemberRollController

Squashed commit, consisting of:

  * MAISTRA-417: Add MemberRollController

  * MAISTRA-450: Switch across to ConfiguredMembers and check existing
    config for changes

  * MAISTRA-1005 Do not expect namespaces to have a stable ordering

The clients have also been regenerated.

* 1b7a89d - Add missing licenses

* fe2f8cd - Fix Copyright holder

* 06ea2db - MAISTRA-1666: Add `go mod vendor` as part of `make gen`

This is to make sure all PR's will have an updated
vendor directory. The `gencheck` prow job will ensure that.

* MAISTRA-2051: Update MemberRollController for xns-informers

* MAISTRA-2051: Add AddMemberRoll to kube client

* MAISTRA-2051: Configure MemberRoll controller in istiod

MAISTRA-2051: Add xns-informer for Service APIs (istio#229)

* MAISTRA-2051: Update xns-informers

* MAISTRA-2051: Add xns-informer for Service APIs

MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)

This moves galley to the shared Kubernetes client, which will let it
use xns-informers for multi-namespace support like everything else.

MAISTRA-2051: Update xns-informers to latest (istio#252)

* MAISTRA-2051: Reset Kubernetes client to release-1.8 state

* MAISTRA-2051: Use xns-informers in Kubernetes client

* MAISTRA-2051: Un-skip tests with xns-informers issues

These tests were skipped because of issues with xns-informers, which
have now been solved.  They should no longer be skipped.

* MAISTRA-2051: Update xns-informers to latest

* MAISTRA-2051: Skip problematic integration test: TestDashboard

MAISTRA-2051: Use MultiNamespaceInformer in galley (istio#254)

* Revert "MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)"

This reverts commit 0b1567a.

* MAISTRA-2051: Use MultiNamespaceInformer in galley

This is a rework of the previous change that used the central
Kubernetes client in Galley.  The watchers in Galley manage stopping
and starting individual informers, which doesn't work well with the
factory returning cached informers.  This creates multi-namespace
informers individually instead of using the central factory.  It's
also a much smaller change overall and doesn't affect the tests.

* MAISTRA-2051: Add GetMemberRoll method to Kubernetes client

* MAISTRA-2051: Integrate MemberRoll with Galley

This configures the mulit-namespace aware infomers in Galley to
respond to changes in the set of namespaces via the MemberRoll.

This includes parts of the following:

  - 4b70b8d MAISTRA-1895 Add option to enable/disable CRD scan
  - 6e8019e MAISTRA-1968 allow analyzer to work with multi list watcher

MAISTRA-1724: Don't watch namespaces if MemberRoll is used (istio#257)

Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)

MAISTRA-1755: invoke UpdateNamespaces() as part of MemberRollController.Register()

Cherry-pick of f0eed15 for Maistra 2.1 / Istio 1.8 rebase.

MAISTRA-1724: Better hanlde deletion in NamespaceController

MAISTRA-2153: Disable namespace informer if MemberRoll is used (istio#283)

This causes istiod to skip creating the namespace informer in the
Kubernetes service registry controller if a MemberRoll is specified,
because Maistra cannot read namespace objects.  This will affect the
behavior of multi-network deployments that do not use mesh networks
for configuration, i.e. a namespace cannot be labeled with a default
network now.

MAISTRA-2197: Push first update when cache is warm (istio#294)

Change SMMR Controller behavior to only send the first update to
listeners when it has a list of members ready. In other words, when
cache is synced.

Before this, the first update was sent with only one hardcoded member:
The control plane namespace. Now it is sent with the full list of SMMR
members.

While on that, switch to our own log scope, to facilitate debugging.

Manual cherry pick of maistra/istio#291

MAISTRA-2233: Start xns-informers with empty namespace set (istio#303)

The multi-namespace informers created by xns-informers default to
watching all namespaces to match upstream behaviour.  This causes
permissions issues in Maistra because they will do this until the
first update from the MemberRoll controller sets the correct set of
namespaces on each informer.  We should instead explicitly configure
them with an empty set of namespaces at startup.

MAISTRA-2234: Seed MemberRoll listeners with system namespace (istio#302)

The MemberRoll controller was changed in MAISTRA-2197 to not send the
initial update with just the system namespace to all listeners.  This
can be a problem when the user hasn't created an SMMR resource yet,
because any listeners registered before the caches sync may never get
an update informing them to watch the system namespace.

This attempts to work around the issue by having all listeners
individually wait on the caches to sync, then seed just the system
namespace if no SMMR resource is found.

MAISTRA-2271: Update xns-informers to fix delete events issue (istio#315)

This updates xns-informers to include a fix for sending delete events
for all objects when a namespace is no longer watched.

See: maistra/xns-informer#12
luksa pushed a commit to luksa/istio that referenced this pull request Feb 22, 2022
MAISTRA-2051: Add xns-informer for Kubernetes types (istio#223)

* vendor: Add github.com/maistra/xns-informer

* Update mirrored licenses to fix gen-check

* MAISTRA-2051: Add xns-informer for Kubernetes types

This integrates the xns-informer library for multi-namespace support,
but only for core Kubernetes types.  The informers are hard-coded to
watch all namespaces here.  The integration with MemberRoll will come
in a follow-up.

MAISTRA-2051 Add xns-informer for Istio types (istio#221)

MAISTRA-2051: Add MemberRollController (istio#227)

* MAISTRA-2051: Add MemberRollController

Includes the following:

* 75742b0 - Add Makefile for Maistra client generation

This adds a Makefile with tasks for generating the Maistra specific
clients. It is adapted from the one in the Istio client-go repository.

* 5f8562c - Add MemberRollController

Squashed commit, consisting of:

  * MAISTRA-417: Add MemberRollController

  * MAISTRA-450: Switch across to ConfiguredMembers and check existing
    config for changes

  * MAISTRA-1005 Do not expect namespaces to have a stable ordering

The clients have also been regenerated.

* 1b7a89d - Add missing licenses

* fe2f8cd - Fix Copyright holder

* 06ea2db - MAISTRA-1666: Add `go mod vendor` as part of `make gen`

This is to make sure all PR's will have an updated
vendor directory. The `gencheck` prow job will ensure that.

* MAISTRA-2051: Update MemberRollController for xns-informers

* MAISTRA-2051: Add AddMemberRoll to kube client

* MAISTRA-2051: Configure MemberRoll controller in istiod

MAISTRA-2051: Add xns-informer for Service APIs (istio#229)

* MAISTRA-2051: Update xns-informers

* MAISTRA-2051: Add xns-informer for Service APIs

MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)

This moves galley to the shared Kubernetes client, which will let it
use xns-informers for multi-namespace support like everything else.

MAISTRA-2051: Update xns-informers to latest (istio#252)

* MAISTRA-2051: Reset Kubernetes client to release-1.8 state

* MAISTRA-2051: Use xns-informers in Kubernetes client

* MAISTRA-2051: Un-skip tests with xns-informers issues

These tests were skipped because of issues with xns-informers, which
have now been solved.  They should no longer be skipped.

* MAISTRA-2051: Update xns-informers to latest

* MAISTRA-2051: Skip problematic integration test: TestDashboard

MAISTRA-2051: Use MultiNamespaceInformer in galley (istio#254)

* Revert "MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)"

This reverts commit 0b1567a.

* MAISTRA-2051: Use MultiNamespaceInformer in galley

This is a rework of the previous change that used the central
Kubernetes client in Galley.  The watchers in Galley manage stopping
and starting individual informers, which doesn't work well with the
factory returning cached informers.  This creates multi-namespace
informers individually instead of using the central factory.  It's
also a much smaller change overall and doesn't affect the tests.

* MAISTRA-2051: Add GetMemberRoll method to Kubernetes client

* MAISTRA-2051: Integrate MemberRoll with Galley

This configures the mulit-namespace aware infomers in Galley to
respond to changes in the set of namespaces via the MemberRoll.

This includes parts of the following:

  - 4b70b8d MAISTRA-1895 Add option to enable/disable CRD scan
  - 6e8019e MAISTRA-1968 allow analyzer to work with multi list watcher

MAISTRA-1724: Don't watch namespaces if MemberRoll is used (istio#257)

Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)

MAISTRA-1755: invoke UpdateNamespaces() as part of MemberRollController.Register()

Cherry-pick of f0eed15 for Maistra 2.1 / Istio 1.8 rebase.

MAISTRA-1724: Better hanlde deletion in NamespaceController

MAISTRA-2153: Disable namespace informer if MemberRoll is used (istio#283)

This causes istiod to skip creating the namespace informer in the
Kubernetes service registry controller if a MemberRoll is specified,
because Maistra cannot read namespace objects.  This will affect the
behavior of multi-network deployments that do not use mesh networks
for configuration, i.e. a namespace cannot be labeled with a default
network now.

MAISTRA-2197: Push first update when cache is warm (istio#294)

Change SMMR Controller behavior to only send the first update to
listeners when it has a list of members ready. In other words, when
cache is synced.

Before this, the first update was sent with only one hardcoded member:
The control plane namespace. Now it is sent with the full list of SMMR
members.

While on that, switch to our own log scope, to facilitate debugging.

Manual cherry pick of maistra/istio#291

MAISTRA-2233: Start xns-informers with empty namespace set (istio#303)

The multi-namespace informers created by xns-informers default to
watching all namespaces to match upstream behaviour.  This causes
permissions issues in Maistra because they will do this until the
first update from the MemberRoll controller sets the correct set of
namespaces on each informer.  We should instead explicitly configure
them with an empty set of namespaces at startup.

MAISTRA-2234: Seed MemberRoll listeners with system namespace (istio#302)

The MemberRoll controller was changed in MAISTRA-2197 to not send the
initial update with just the system namespace to all listeners.  This
can be a problem when the user hasn't created an SMMR resource yet,
because any listeners registered before the caches sync may never get
an update informing them to watch the system namespace.

This attempts to work around the issue by having all listeners
individually wait on the caches to sync, then seed just the system
namespace if no SMMR resource is found.

MAISTRA-2271: Update xns-informers to fix delete events issue (istio#315)

This updates xns-informers to include a fix for sending delete events
for all objects when a namespace is no longer watched.

See: maistra/xns-informer#12
luksa pushed a commit to luksa/istio that referenced this pull request Apr 29, 2022
MAISTRA-2051: Add xns-informer for Kubernetes types (istio#223)

* vendor: Add github.com/maistra/xns-informer

* Update mirrored licenses to fix gen-check

* MAISTRA-2051: Add xns-informer for Kubernetes types

This integrates the xns-informer library for multi-namespace support,
but only for core Kubernetes types.  The informers are hard-coded to
watch all namespaces here.  The integration with MemberRoll will come
in a follow-up.

MAISTRA-2051 Add xns-informer for Istio types (istio#221)

MAISTRA-2051: Add MemberRollController (istio#227)

* MAISTRA-2051: Add MemberRollController

Includes the following:

* 75742b0 - Add Makefile for Maistra client generation

This adds a Makefile with tasks for generating the Maistra specific
clients. It is adapted from the one in the Istio client-go repository.

* 5f8562c - Add MemberRollController

Squashed commit, consisting of:

  * MAISTRA-417: Add MemberRollController

  * MAISTRA-450: Switch across to ConfiguredMembers and check existing
    config for changes

  * MAISTRA-1005 Do not expect namespaces to have a stable ordering

The clients have also been regenerated.

* 1b7a89d - Add missing licenses

* fe2f8cd - Fix Copyright holder

* 06ea2db - MAISTRA-1666: Add `go mod vendor` as part of `make gen`

This is to make sure all PR's will have an updated
vendor directory. The `gencheck` prow job will ensure that.

* MAISTRA-2051: Update MemberRollController for xns-informers

* MAISTRA-2051: Add AddMemberRoll to kube client

* MAISTRA-2051: Configure MemberRoll controller in istiod

MAISTRA-2051: Add xns-informer for Service APIs (istio#229)

* MAISTRA-2051: Update xns-informers

* MAISTRA-2051: Add xns-informer for Service APIs

MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)

This moves galley to the shared Kubernetes client, which will let it
use xns-informers for multi-namespace support like everything else.

MAISTRA-2051: Update xns-informers to latest (istio#252)

* MAISTRA-2051: Reset Kubernetes client to release-1.8 state

* MAISTRA-2051: Use xns-informers in Kubernetes client

* MAISTRA-2051: Un-skip tests with xns-informers issues

These tests were skipped because of issues with xns-informers, which
have now been solved.  They should no longer be skipped.

* MAISTRA-2051: Update xns-informers to latest

* MAISTRA-2051: Skip problematic integration test: TestDashboard

MAISTRA-2051: Use MultiNamespaceInformer in galley (istio#254)

* Revert "MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)"

This reverts commit 0b1567a.

* MAISTRA-2051: Use MultiNamespaceInformer in galley

This is a rework of the previous change that used the central
Kubernetes client in Galley.  The watchers in Galley manage stopping
and starting individual informers, which doesn't work well with the
factory returning cached informers.  This creates multi-namespace
informers individually instead of using the central factory.  It's
also a much smaller change overall and doesn't affect the tests.

* MAISTRA-2051: Add GetMemberRoll method to Kubernetes client

* MAISTRA-2051: Integrate MemberRoll with Galley

This configures the mulit-namespace aware infomers in Galley to
respond to changes in the set of namespaces via the MemberRoll.

This includes parts of the following:

  - 4b70b8d MAISTRA-1895 Add option to enable/disable CRD scan
  - 6e8019e MAISTRA-1968 allow analyzer to work with multi list watcher

MAISTRA-1724: Don't watch namespaces if MemberRoll is used (istio#257)

Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)

MAISTRA-1755: invoke UpdateNamespaces() as part of MemberRollController.Register()

Cherry-pick of f0eed15 for Maistra 2.1 / Istio 1.8 rebase.

MAISTRA-1724: Better hanlde deletion in NamespaceController

MAISTRA-2153: Disable namespace informer if MemberRoll is used (istio#283)

This causes istiod to skip creating the namespace informer in the
Kubernetes service registry controller if a MemberRoll is specified,
because Maistra cannot read namespace objects.  This will affect the
behavior of multi-network deployments that do not use mesh networks
for configuration, i.e. a namespace cannot be labeled with a default
network now.

MAISTRA-2197: Push first update when cache is warm (istio#294)

Change SMMR Controller behavior to only send the first update to
listeners when it has a list of members ready. In other words, when
cache is synced.

Before this, the first update was sent with only one hardcoded member:
The control plane namespace. Now it is sent with the full list of SMMR
members.

While on that, switch to our own log scope, to facilitate debugging.

Manual cherry pick of maistra/istio#291

MAISTRA-2233: Start xns-informers with empty namespace set (istio#303)

The multi-namespace informers created by xns-informers default to
watching all namespaces to match upstream behaviour.  This causes
permissions issues in Maistra because they will do this until the
first update from the MemberRoll controller sets the correct set of
namespaces on each informer.  We should instead explicitly configure
them with an empty set of namespaces at startup.

MAISTRA-2234: Seed MemberRoll listeners with system namespace (istio#302)

The MemberRoll controller was changed in MAISTRA-2197 to not send the
initial update with just the system namespace to all listeners.  This
can be a problem when the user hasn't created an SMMR resource yet,
because any listeners registered before the caches sync may never get
an update informing them to watch the system namespace.

This attempts to work around the issue by having all listeners
individually wait on the caches to sync, then seed just the system
namespace if no SMMR resource is found.

MAISTRA-2271: Update xns-informers to fix delete events issue (istio#315)

This updates xns-informers to include a fix for sending delete events
for all objects when a namespace is no longer watched.

See: maistra/xns-informer#12
howardjohn added a commit that referenced this pull request Sep 7, 2022
* Set serviceCluster to make traces better

(cherry picked from commit 3035347ddf6fb03f8256fa253f5b6662529a1544)

* gen
luksa pushed a commit to luksa/istio that referenced this pull request Sep 15, 2022
MAISTRA-2051: Add xns-informer for Kubernetes types (istio#223)

* vendor: Add github.com/maistra/xns-informer

* Update mirrored licenses to fix gen-check

* MAISTRA-2051: Add xns-informer for Kubernetes types

This integrates the xns-informer library for multi-namespace support,
but only for core Kubernetes types.  The informers are hard-coded to
watch all namespaces here.  The integration with MemberRoll will come
in a follow-up.

MAISTRA-2051 Add xns-informer for Istio types (istio#221)

MAISTRA-2051: Add MemberRollController (istio#227)

* MAISTRA-2051: Add MemberRollController

Includes the following:

* 75742b0 - Add Makefile for Maistra client generation

This adds a Makefile with tasks for generating the Maistra specific
clients. It is adapted from the one in the Istio client-go repository.

* 5f8562c - Add MemberRollController

Squashed commit, consisting of:

  * MAISTRA-417: Add MemberRollController

  * MAISTRA-450: Switch across to ConfiguredMembers and check existing
    config for changes

  * MAISTRA-1005 Do not expect namespaces to have a stable ordering

The clients have also been regenerated.

* 1b7a89d - Add missing licenses

* fe2f8cd - Fix Copyright holder

* 06ea2db - MAISTRA-1666: Add `go mod vendor` as part of `make gen`

This is to make sure all PR's will have an updated
vendor directory. The `gencheck` prow job will ensure that.

* MAISTRA-2051: Update MemberRollController for xns-informers

* MAISTRA-2051: Add AddMemberRoll to kube client

* MAISTRA-2051: Configure MemberRoll controller in istiod

MAISTRA-2051: Add xns-informer for Service APIs (istio#229)

* MAISTRA-2051: Update xns-informers

* MAISTRA-2051: Add xns-informer for Service APIs

MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)

This moves galley to the shared Kubernetes client, which will let it
use xns-informers for multi-namespace support like everything else.

MAISTRA-2051: Update xns-informers to latest (istio#252)

* MAISTRA-2051: Reset Kubernetes client to release-1.8 state

* MAISTRA-2051: Use xns-informers in Kubernetes client

* MAISTRA-2051: Un-skip tests with xns-informers issues

These tests were skipped because of issues with xns-informers, which
have now been solved.  They should no longer be skipped.

* MAISTRA-2051: Update xns-informers to latest

* MAISTRA-2051: Skip problematic integration test: TestDashboard

MAISTRA-2051: Use MultiNamespaceInformer in galley (istio#254)

* Revert "MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)"

This reverts commit 0b1567a.

* MAISTRA-2051: Use MultiNamespaceInformer in galley

This is a rework of the previous change that used the central
Kubernetes client in Galley.  The watchers in Galley manage stopping
and starting individual informers, which doesn't work well with the
factory returning cached informers.  This creates multi-namespace
informers individually instead of using the central factory.  It's
also a much smaller change overall and doesn't affect the tests.

* MAISTRA-2051: Add GetMemberRoll method to Kubernetes client

* MAISTRA-2051: Integrate MemberRoll with Galley

This configures the mulit-namespace aware infomers in Galley to
respond to changes in the set of namespaces via the MemberRoll.

This includes parts of the following:

  - 4b70b8d MAISTRA-1895 Add option to enable/disable CRD scan
  - 6e8019e MAISTRA-1968 allow analyzer to work with multi list watcher

MAISTRA-1724: Don't watch namespaces if MemberRoll is used (istio#257)

Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)

MAISTRA-1755: invoke UpdateNamespaces() as part of MemberRollController.Register()

Cherry-pick of f0eed15 for Maistra 2.1 / Istio 1.8 rebase.

MAISTRA-1724: Better hanlde deletion in NamespaceController

MAISTRA-2153: Disable namespace informer if MemberRoll is used (istio#283)

This causes istiod to skip creating the namespace informer in the
Kubernetes service registry controller if a MemberRoll is specified,
because Maistra cannot read namespace objects.  This will affect the
behavior of multi-network deployments that do not use mesh networks
for configuration, i.e. a namespace cannot be labeled with a default
network now.

MAISTRA-2197: Push first update when cache is warm (istio#294)

Change SMMR Controller behavior to only send the first update to
listeners when it has a list of members ready. In other words, when
cache is synced.

Before this, the first update was sent with only one hardcoded member:
The control plane namespace. Now it is sent with the full list of SMMR
members.

While on that, switch to our own log scope, to facilitate debugging.

Manual cherry pick of maistra/istio#291

MAISTRA-2233: Start xns-informers with empty namespace set (istio#303)

The multi-namespace informers created by xns-informers default to
watching all namespaces to match upstream behaviour.  This causes
permissions issues in Maistra because they will do this until the
first update from the MemberRoll controller sets the correct set of
namespaces on each informer.  We should instead explicitly configure
them with an empty set of namespaces at startup.

MAISTRA-2234: Seed MemberRoll listeners with system namespace (istio#302)

The MemberRoll controller was changed in MAISTRA-2197 to not send the
initial update with just the system namespace to all listeners.  This
can be a problem when the user hasn't created an SMMR resource yet,
because any listeners registered before the caches sync may never get
an update informing them to watch the system namespace.

This attempts to work around the issue by having all listeners
individually wait on the caches to sync, then seed just the system
namespace if no SMMR resource is found.

MAISTRA-2271: Update xns-informers to fix delete events issue (istio#315)

This updates xns-informers to include a fix for sending delete events
for all objects when a namespace is no longer watched.

See: maistra/xns-informer#12

Co-authored-by: Brad Ison <brad.ison@redhat.com>
luksa pushed a commit to luksa/istio that referenced this pull request Aug 16, 2023
MAISTRA-2051: Add xns-informer for Kubernetes types (istio#223)

* Update mirrored licenses to fix gen-check

* MAISTRA-2051: Add xns-informer for Kubernetes types

This integrates the xns-informer library for multi-namespace support,
but only for core Kubernetes types.  The informers are hard-coded to
watch all namespaces here.  The integration with MemberRoll will come
in a follow-up.

MAISTRA-2051 Add xns-informer for Istio types (istio#221)

MAISTRA-2051: Add MemberRollController (istio#227)

* MAISTRA-2051: Add MemberRollController

Includes the following:

* 75742b0 - Add Makefile for Maistra client generation

This adds a Makefile with tasks for generating the Maistra specific
clients. It is adapted from the one in the Istio client-go repository.

* 5f8562c - Add MemberRollController

Squashed commit, consisting of:

  * MAISTRA-417: Add MemberRollController

  * MAISTRA-450: Switch across to ConfiguredMembers and check existing
    config for changes

  * MAISTRA-1005 Do not expect namespaces to have a stable ordering

The clients have also been regenerated.

* 1b7a89d - Add missing licenses

* fe2f8cd - Fix Copyright holder

This is to make sure all PR's will have an updated
vendor directory. The `gencheck` prow job will ensure that.

* MAISTRA-2051: Update MemberRollController for xns-informers

* MAISTRA-2051: Add AddMemberRoll to kube client

* MAISTRA-2051: Configure MemberRoll controller in istiod

MAISTRA-2051: Add xns-informer for Service APIs (istio#229)

* MAISTRA-2051: Update xns-informers

* MAISTRA-2051: Add xns-informer for Service APIs

MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)

This moves galley to the shared Kubernetes client, which will let it
use xns-informers for multi-namespace support like everything else.

MAISTRA-2051: Update xns-informers to latest (istio#252)

* MAISTRA-2051: Reset Kubernetes client to release-1.8 state

* MAISTRA-2051: Use xns-informers in Kubernetes client

* MAISTRA-2051: Un-skip tests with xns-informers issues

These tests were skipped because of issues with xns-informers, which
have now been solved.  They should no longer be skipped.

* MAISTRA-2051: Update xns-informers to latest

* MAISTRA-2051: Skip problematic integration test: TestDashboard

MAISTRA-2051: Use MultiNamespaceInformer in galley (istio#254)

* Revert "MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)"

This reverts commit 0b1567a.

* MAISTRA-2051: Use MultiNamespaceInformer in galley

This is a rework of the previous change that used the central
Kubernetes client in Galley.  The watchers in Galley manage stopping
and starting individual informers, which doesn't work well with the
factory returning cached informers.  This creates multi-namespace
informers individually instead of using the central factory.  It's
also a much smaller change overall and doesn't affect the tests.

* MAISTRA-2051: Add GetMemberRoll method to Kubernetes client

* MAISTRA-2051: Integrate MemberRoll with Galley

This configures the mulit-namespace aware infomers in Galley to
respond to changes in the set of namespaces via the MemberRoll.

This includes parts of the following:

  - 4b70b8d MAISTRA-1895 Add option to enable/disable CRD scan
  - 6e8019e MAISTRA-1968 allow analyzer to work with multi list watcher

MAISTRA-1724: Don't watch namespaces if MemberRoll is used (istio#257)

Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)

MAISTRA-1755: invoke UpdateNamespaces() as part of MemberRollController.Register()

Cherry-pick of f0eed15 for Maistra 2.1 / Istio 1.8 rebase.

MAISTRA-1724: Better hanlde deletion in NamespaceController

MAISTRA-2153: Disable namespace informer if MemberRoll is used (istio#283)

This causes istiod to skip creating the namespace informer in the
Kubernetes service registry controller if a MemberRoll is specified,
because Maistra cannot read namespace objects.  This will affect the
behavior of multi-network deployments that do not use mesh networks
for configuration, i.e. a namespace cannot be labeled with a default
network now.

MAISTRA-2197: Push first update when cache is warm (istio#294)

Change SMMR Controller behavior to only send the first update to
listeners when it has a list of members ready. In other words, when
cache is synced.

Before this, the first update was sent with only one hardcoded member:
The control plane namespace. Now it is sent with the full list of SMMR
members.

While on that, switch to our own log scope, to facilitate debugging.

Manual cherry pick of maistra/istio#291

MAISTRA-2233: Start xns-informers with empty namespace set (istio#303)

The multi-namespace informers created by xns-informers default to
watching all namespaces to match upstream behaviour.  This causes
permissions issues in Maistra because they will do this until the
first update from the MemberRoll controller sets the correct set of
namespaces on each informer.  We should instead explicitly configure
them with an empty set of namespaces at startup.

MAISTRA-2234: Seed MemberRoll listeners with system namespace (istio#302)

The MemberRoll controller was changed in MAISTRA-2197 to not send the
initial update with just the system namespace to all listeners.  This
can be a problem when the user hasn't created an SMMR resource yet,
because any listeners registered before the caches sync may never get
an update informing them to watch the system namespace.

This attempts to work around the issue by having all listeners
individually wait on the caches to sync, then seed just the system
namespace if no SMMR resource is found.

MAISTRA-2271: Update xns-informers to fix delete events issue (istio#315)

This updates xns-informers to include a fix for sending delete events
for all objects when a namespace is no longer watched.

See: maistra/xns-informer#12

Co-authored-by: Brad Ison <brad.ison@redhat.com>

OSSM-2006 Fix multiNamespaceInformer.HasSynced()

fix(xns-informer): only sync nsInformer when not nil (istio#684)

Fix shutting down namespace controller

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>

OSSM-2233: uses maistra.io/api instead of copying

    Before we were generating and copying Maistra API types, now we use it
    as a dependency.

    Additionally following changes are introduced:

     - vendoring has been removed, as we now use embedded manifests from maistra/api in tests
     - cleans up Makefiles
     - removes unnecessary files (generated API)

OSSM-2375 Log the list of member namespaces on every change (istio#716)

Co-authored-by: Marko Lukša <marko.luksa@gmail.com>

OSSM-3703: Fix AUTO_RELOAD_PLUGIN_CERTS in multi-tenant mode (istio#778)

* OSSM-3703: Fix AUTO_RELOAD_PLUGIN_CERTS in multi-tenant mode

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>

* Revert unnecessary variable declaration

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>

---------

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
antonioberben pushed a commit to antonioberben/istio that referenced this pull request Jan 29, 2024
[jaeger-operator] fix missing app.kubernetes.io/instance label
dgn added a commit to dgn/istio that referenced this pull request Jun 13, 2024
MAISTRA-2051: Add xns-informer for Kubernetes types (istio#223)

* Update mirrored licenses to fix gen-check

* MAISTRA-2051: Add xns-informer for Kubernetes types

This integrates the xns-informer library for multi-namespace support,
but only for core Kubernetes types.  The informers are hard-coded to
watch all namespaces here.  The integration with MemberRoll will come
in a follow-up.

MAISTRA-2051 Add xns-informer for Istio types (istio#221)

MAISTRA-2051: Add MemberRollController (istio#227)

* MAISTRA-2051: Add MemberRollController

Includes the following:

* 75742b0 - Add Makefile for Maistra client generation

This adds a Makefile with tasks for generating the Maistra specific
clients. It is adapted from the one in the Istio client-go repository.

* 5f8562c - Add MemberRollController

Squashed commit, consisting of:

  * MAISTRA-417: Add MemberRollController

  * MAISTRA-450: Switch across to ConfiguredMembers and check existing
    config for changes

  * MAISTRA-1005 Do not expect namespaces to have a stable ordering

The clients have also been regenerated.

* 1b7a89d - Add missing licenses

* fe2f8cd - Fix Copyright holder

This is to make sure all PR's will have an updated
vendor directory. The `gencheck` prow job will ensure that.

* MAISTRA-2051: Update MemberRollController for xns-informers

* MAISTRA-2051: Add AddMemberRoll to kube client

* MAISTRA-2051: Configure MemberRoll controller in istiod

MAISTRA-2051: Add xns-informer for Service APIs (istio#229)

* MAISTRA-2051: Update xns-informers

* MAISTRA-2051: Add xns-informer for Service APIs

MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)

This moves galley to the shared Kubernetes client, which will let it
use xns-informers for multi-namespace support like everything else.

MAISTRA-2051: Update xns-informers to latest (istio#252)

* MAISTRA-2051: Reset Kubernetes client to release-1.8 state

* MAISTRA-2051: Use xns-informers in Kubernetes client

* MAISTRA-2051: Un-skip tests with xns-informers issues

These tests were skipped because of issues with xns-informers, which
have now been solved.  They should no longer be skipped.

* MAISTRA-2051: Update xns-informers to latest

* MAISTRA-2051: Skip problematic integration test: TestDashboard

MAISTRA-2051: Use MultiNamespaceInformer in galley (istio#254)

* Revert "MAISTRA-2051: Use shared Kubernetes client in galley (istio#241)"

This reverts commit 0b1567a.

* MAISTRA-2051: Use MultiNamespaceInformer in galley

This is a rework of the previous change that used the central
Kubernetes client in Galley.  The watchers in Galley manage stopping
and starting individual informers, which doesn't work well with the
factory returning cached informers.  This creates multi-namespace
informers individually instead of using the central factory.  It's
also a much smaller change overall and doesn't affect the tests.

* MAISTRA-2051: Add GetMemberRoll method to Kubernetes client

* MAISTRA-2051: Integrate MemberRoll with Galley

This configures the mulit-namespace aware infomers in Galley to
respond to changes in the set of namespaces via the MemberRoll.

This includes parts of the following:

  - 4b70b8d MAISTRA-1895 Add option to enable/disable CRD scan
  - 6e8019e MAISTRA-1968 allow analyzer to work with multi list watcher

MAISTRA-1724: Don't watch namespaces if MemberRoll is used (istio#257)

Rewrite of the following for Maistra 2.1 / Istio 1.8 rebase:

a161a53 - MAISTRA-1724 Don't watch namespaces if MRC is used (istio#161)

MAISTRA-1755: invoke UpdateNamespaces() as part of MemberRollController.Register()

Cherry-pick of f0eed15 for Maistra 2.1 / Istio 1.8 rebase.

MAISTRA-1724: Better hanlde deletion in NamespaceController

MAISTRA-2153: Disable namespace informer if MemberRoll is used (istio#283)

This causes istiod to skip creating the namespace informer in the
Kubernetes service registry controller if a MemberRoll is specified,
because Maistra cannot read namespace objects.  This will affect the
behavior of multi-network deployments that do not use mesh networks
for configuration, i.e. a namespace cannot be labeled with a default
network now.

MAISTRA-2197: Push first update when cache is warm (istio#294)

Change SMMR Controller behavior to only send the first update to
listeners when it has a list of members ready. In other words, when
cache is synced.

Before this, the first update was sent with only one hardcoded member:
The control plane namespace. Now it is sent with the full list of SMMR
members.

While on that, switch to our own log scope, to facilitate debugging.

Manual cherry pick of maistra/istio#291

MAISTRA-2233: Start xns-informers with empty namespace set (istio#303)

The multi-namespace informers created by xns-informers default to
watching all namespaces to match upstream behaviour.  This causes
permissions issues in Maistra because they will do this until the
first update from the MemberRoll controller sets the correct set of
namespaces on each informer.  We should instead explicitly configure
them with an empty set of namespaces at startup.

MAISTRA-2234: Seed MemberRoll listeners with system namespace (istio#302)

The MemberRoll controller was changed in MAISTRA-2197 to not send the
initial update with just the system namespace to all listeners.  This
can be a problem when the user hasn't created an SMMR resource yet,
because any listeners registered before the caches sync may never get
an update informing them to watch the system namespace.

This attempts to work around the issue by having all listeners
individually wait on the caches to sync, then seed just the system
namespace if no SMMR resource is found.

MAISTRA-2271: Update xns-informers to fix delete events issue (istio#315)

This updates xns-informers to include a fix for sending delete events
for all objects when a namespace is no longer watched.

See: maistra/xns-informer#12

Co-authored-by: Brad Ison <brad.ison@redhat.com>

OSSM-2006 Fix multiNamespaceInformer.HasSynced()

fix(xns-informer): only sync nsInformer when not nil (istio#684)

Fix shutting down namespace controller

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>

OSSM-2233: uses maistra.io/api instead of copying

    Before we were generating and copying Maistra API types, now we use it
    as a dependency.

    Additionally following changes are introduced:

     - vendoring has been removed, as we now use embedded manifests from maistra/api in tests
     - cleans up Makefiles
     - removes unnecessary files (generated API)

OSSM-2375 Log the list of member namespaces on every change (istio#716)

Co-authored-by: Marko Lukša <marko.luksa@gmail.com>

OSSM-3703: Fix AUTO_RELOAD_PLUGIN_CERTS in multi-tenant mode (istio#778)

* OSSM-3703: Fix AUTO_RELOAD_PLUGIN_CERTS in multi-tenant mode

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>

* Revert unnecessary variable declaration

Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>

---------

Co-authored-by: Marko Lukša <marko.luksa@gmail.com>
Co-authored-by: Jacek Ewertowski <jewertow@redhat.com>
Co-authored-by: Daniel Grimm <dgrimm@redhat.com>
Co-authored-by: Brad Ison <brad.ison@redhat.com>
Signed-off-by: Yann Liu <yannliu@redhat.com>
dgn pushed a commit to dgn/istio that referenced this pull request Feb 11, 2025
…elease-1.24-merge_upstream_istio_release_1_24-dcfd3ece

Automator: merge upstream changes to openshift-service-mesh/istio@release-1.24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants