Daniel Nephin
d0b37f18f0
state: Add support for override of namespace
...
in MatchesKey
also tests for MatchesKey
Co-Authored-By: Kyle Havlovitz <kylehav@gmail.com>
2021-03-09 14:00:35 -05:00
Daniel Nephin
ba59727337
state: update calls to ensureConfigEntryTxn
...
The EnterpriseMeta paramter was removed after this code was written, but before it merged.
Also the table name constant has changed.
2021-03-09 14:00:35 -05:00
Daniel Nephin
730cc575e6
state: add 2 more test cases for terminate gateway streaming events
...
Co-Authored-By: Kyle Havlovitz <kylehav@gmail.com>
2021-03-09 14:00:34 -05:00
Kyle Havlovitz
eadc8546a9
Added 6 new test cases for terminating gateway events
...
Co-Authored-By: Daniel Nephin <dnephin@hashicorp.com>
2021-03-09 14:00:34 -05:00
Daniel Nephin
15b0d5f62b
state: Add two more tests for connect events with terminating gateways
...
And expand one test case to cover more.
Co-Authored-By: Kyle Havlovitz <kylehav@gmail.com>
2021-03-09 14:00:34 -05:00
Daniel Nephin
abab373b89
state: Include the override key in the sorting of events
...
Co-Authored-By: Kyle Havlovitz <kylehav@gmail.com>
2021-03-09 14:00:34 -05:00
Kyle Havlovitz
f31582624d
state: Add terminating gateway events on updating a config entry
...
Co-Authored-By: Daniel Nephin <dnephin@hashicorp.com>
2021-03-09 14:00:34 -05:00
Daniel Nephin
f42a2ca8a3
state: add first terminating catalog catalog event
...
Health of a terminating gateway instance changes
- Generate an event for creating/destroying this instance of the terminating gateway,
duplicate it for each affected service
Co-Authored-By: Kyle Havlovitz <kylehav@gmail.com>
2021-03-09 14:00:33 -05:00
Daniel Nephin
4a44cfd676
Merge pull request #9188 from hashicorp/dnephin/more-streaming-tests
...
Add more streaming tests
2021-02-26 12:36:55 -05:00
Daniel Nephin
4ef9578a07
Merge pull request #9703 from pierresouchay/streaming_tags_and_case_insensitive
...
Streaming filter tags + case insensitive lookups for Service Names
2021-02-26 12:06:26 -05:00
Daniel Nephin
2cc3282d5d
catalog_events: set the right key for connect snapshots
...
Add a test for catalog_event snapshot on connect topic
2021-02-25 14:30:39 -05:00
Daniel Nephin
85da1af04c
consul: Add integration tests of streaming.
...
Restored from streaming-rpc-final branch.
Co-authored-by: Paul Banks <banks@banksco.de>
2021-02-25 14:30:39 -05:00
Daniel Nephin
e8beda4685
state: Add a test for ServiceHealthSnapshot
2021-02-25 14:08:10 -05:00
Daniel Nephin
d33bc493af
Merge pull request #9720 from hashicorp/dnephin/ent-meta-ergo-1
...
structs: rename EnterpriseMeta constructor
2021-02-16 15:31:58 -05:00
Daniel Nephin
53c82cee86
Merge pull request #9772 from hashicorp/streamin-fix-bad-cached-snapshot
...
streaming: fix snapshot cache bug
2021-02-16 15:28:00 -05:00
Daniel Nephin
b17967827d
Merge pull request #9728 from hashicorp/dnephin/state-index-table
...
state: document how index table is used
2021-02-16 15:27:27 -05:00
Daniel Nephin
c40d063a0e
structs: rename EnterpriseMeta constructor
...
To match the Go convention.
2021-02-16 14:45:43 -05:00
Daniel Nephin
a29b848e3b
stream: fix a snapshot cache bug
...
Previously a snapshot created as part of a resumse-stream request could have incorrectly
cached the newSnapshotToFollow event. This would cause clients to error because they
received an unexpected framing event.
2021-02-16 12:52:23 -05:00
Daniel Nephin
2726c65fbe
stream: test the snapshot cache is saved correctly
...
when the cache entry is created from resuming a stream.
2021-02-16 12:08:43 -05:00
R.B. Boyer
91d9544803
connect: connect CA Roots in the primary datacenter should use a SigningKeyID derived from their local intermediate ( #9428 )
...
This fixes an issue where leaf certificates issued in primary
datacenters using Vault as a Connect CA would be reissued very
frequently (every ~20 seconds) because the logic meant to detect root
rotation was errantly triggering.
The hash of the rootCA was being compared against a hash of the
intermediateCA and always failing. This doesn't apply to the Consul
built-in CA provider because there is no intermediate in use in the
primary DC.
This is reminiscent of #6513
2021-02-08 13:18:51 -06:00
Daniel Nephin
cdda3b9321
state: Use the tableIndex constant
2021-02-05 18:37:45 -05:00
Daniel Nephin
de841bd459
state: Document index table
...
And move the IndexEntry (which is stored in the table) next to the table
schema definition.
2021-02-05 18:37:45 -05:00
Daniel Nephin
23cfbc8f8d
Merge pull request #9719 from hashicorp/oss/state-store-4
...
state: remove registerSchema
2021-02-05 14:02:38 -05:00
Daniel Nephin
dc70f583d4
Merge pull request #9718 from hashicorp/oss/dnephin/ent-meta-in-state-store-3
...
state: convert all table name constants to the new prefix pattern
2021-02-05 14:02:07 -05:00
Daniel Nephin
eb5d71fd19
Merge pull request #9665 from hashicorp/dnephin/state-store-indexes-2
...
state: move config-entries table definition to config_entries_schema.go
2021-02-05 14:01:08 -05:00
Daniel Nephin
9beadc578b
Merge pull request #9664 from hashicorp/dnephin/state-store-indexes
...
state: move ACL schema and index definitions to acl_schema.go
2021-02-05 13:38:31 -05:00
Daniel Nephin
b747b27afd
state: remove the need for registerSchema
...
registerSchema creates some indirection which is not necessary in this
case. newDBSchema can call each of the tables.
Enterprise tables can be added from the existing withEnterpriseSchema
shim.
2021-02-05 12:19:56 -05:00
Daniel Nephin
33621706ac
state: rename table name constants to use pattern
...
the 'table' prefix is shorter, and also reads better in queries.
2021-02-05 12:12:19 -05:00
Daniel Nephin
8569295116
state: rename connect constants
2021-02-05 12:12:19 -05:00
Daniel Nephin
afdbf2a8ef
state: rename table name constants to new pattern
...
Using Apps Hungarian Notation for these constants makes the memdb queries more readable.
2021-02-05 12:12:18 -05:00
Pierre Souchay
c466b08481
Streaming filter tags + case insensitive lookups for Service Names
...
Will fix:
* https://github.com/hashicorp/consul/issues/9695
* https://github.com/hashicorp/consul/issues/9702
2021-02-04 11:00:51 +01:00
Daniel Nephin
f929a7117e
state: Remove unnecessary entMeta arg to EnsureConfigEntry
2021-02-03 18:10:38 -05:00
Daniel Nephin
09425b22a1
state: rename config-entries table const to match new pattern
2021-01-28 20:34:34 -05:00
Daniel Nephin
7d17e20270
state: move config-entries table to new pattern
2021-01-28 20:34:15 -05:00
Daniel Nephin
825b8ade39
state: use indexID
...
this change was already made to enterprise, so backporting it.
2021-01-28 20:30:08 -05:00
Daniel Nephin
2a262f07fc
state: Move ACL schema indexes to match Ent
...
and use constants for table and index names.
2021-01-28 20:05:09 -05:00
Matt Keeler
1379b5f7d6
Upgrade raft-autopilot and wait for autopilot it to stop when revoking leadership ( #9644 )
...
Fixes: 9626
2021-01-27 11:14:52 -05:00
Hans Hasselberg
623aab5880
Add flags to support CA generation for Connect ( #9585 )
2021-01-27 08:52:15 +01:00
R.B. Boyer
5777fa1f59
server: initialize mgw-wanfed to use local gateways more on startup ( #9528 )
...
Fixes #9342
2021-01-25 17:30:38 -06:00
Daniel Nephin
d7d081f402
Merge pull request #9420 from hashicorp/dnephin/reduce-duplicate-in-catalog-schema
...
state: reduce interface for Enterprise schema
2021-01-25 17:04:25 -05:00
R.B. Boyer
6622185d64
server: use the presense of stored federation state data as a sign that we already activated the federation state feature flag ( #9519 )
...
This way we only have to wait for the serf barrier to pass once before
we can make use of federation state APIs Without this patch every
restart needs to re-compute the change.
2021-01-25 13:24:32 -06:00
R.B. Boyer
0247f409a0
server: when wan federating via mesh gateways only do heuristic primary DC bypass on the leader ( #9366 )
...
Fixes #9341
2021-01-22 10:03:24 -06:00
Freddy
5519051c84
Update topology mapping Refs on all proxy instance deletions ( #9589 )
...
* Insert new upstream/downstream mapping to persist new Refs
* Avoid upserting mapping copy if it's a no-op
* Add test with panic repro
* Avoid deleting up/downstreams from inside memdb iterator
* Avoid deleting gateway mappings from inside memdb iterator
* Add CHANGELOG entry
* Tweak changelog entry
Co-authored-by: Paul Banks <banks@banksco.de>
2021-01-20 15:17:26 +00:00
Daniel Nephin
979749d86e
state: do not delete from inside an iteration
...
Deleting from memdb inside an interation can cause a panic from Iterator.Next. This
case is technically safe (for now) because the iterator is using the root radix tree
not a modified one.
However this could break at any time if someone adds an insert or delete to the coordinates table
before this place in the function.
It also sets a bad example, because generally deletes in an interator are not safe. So this
commit uses the pattern we have in other places to move the deletes out of the iteration.
2021-01-19 17:00:07 -05:00
Matt Keeler
2d2ce1fb0c
Ensure that CA initialization does not block leader election.
...
After fixing that bug I uncovered a couple more:
Fix an issue where we might try to cross sign a cert when we never had a valid root.
Fix a potential issue where reconfiguring the CA could cause either the Vault or AWS PCA CA providers to delete resources that are still required by the new incarnation of the CA.
2021-01-19 15:27:48 -05:00
Daniel Nephin
52a1d78e39
state: add a regression test for state store schema
...
To allow the index to be refactored without accidental changes.
To update the expected value run: 'go test ./agent/consul/state -update'
2021-01-15 18:49:55 -05:00
Daniel Nephin
aa21c1ea04
state: reduce interface for Enterprise schema
...
Using withEnterpriseSchema() we can apply any enterprise schema changes
with a single shim, removing the need to duplicate all of the table
definitions.
Also move all the catalog schemas to a new file to shrink catalog.go a bit.
2021-01-15 18:49:55 -05:00
Daniel Nephin
e8427a48ab
agent/consuk: Rename RPCRate -> RPCRateLimit
...
so that the field name is consistent across config structs.
2021-01-14 17:26:00 -05:00
Daniel Nephin
e5320c2db6
agent/consul: make Client/Server config reloading more obvious
...
I believe this commit also fixes a bug. Previously RPCMaxConnsPerClient was not being re-read from the RuntimeConfig, so passing it to Server.ReloadConfig was never changing the value.
Also improve the test runtime by not doing a lot of unnecessary work.
2021-01-14 17:21:10 -05:00
Daniel Nephin
f2b504873a
Merge pull request #9460 from hashicorp/dnephin/fix-data-races
...
Fix a couple data races in tests
2021-01-14 17:07:01 -05:00