Commit Graph

13634 Commits

Author SHA1 Message Date
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 2d7a4073e3
Merge pull request #9570 from hashicorp/bugfix/9498 2021-01-19 16:30:04 -05:00
Matt Keeler 9dedfe05a2
Fix flaky CLI Intention Listing Test 2021-01-19 15:27:49 -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
hashicorp-ci 4b3361fb03 auto-updated agent/uiserver/bindata_assetfs.go from commit be694366a 2021-01-19 15:47:02 +00:00
John Cowen 3372e6d14c
ui: Topology intention saving improvements (#9513)
* ui: Keep track of existing intentions and use those to save changes

Previously we risked overwriting existing data in an intention if we
tried to save an intention without having loaded it first, for example
Description and Metadata would have been overwritten.

This change loads in all the intentions for an origin service so we can
pick off the one we need to save and change to ensure that we don't
overwrite any existing data.
2021-01-19 15:40:39 +00:00
hashicorp-ci 88ab4cd159 auto-updated agent/uiserver/bindata_assetfs.go from commit 41a4a9f4f 2021-01-19 15:29:55 +00:00
John Cowen 367482c540
ui: Improves the 'you must provide ... to `generate`' error from href-to (#9514)
This originally comes form the ember-href-to helper and is one of those
errors that when I see it I think ... hmmm

This gives a little bit more of a clue as to what is wrong by logging
the route name you asked for plus the params you passed to it so you:

1. Have more help finding the href-to that is problematic in the
template/component
2. Can see all the parameters you passed (including a potential null
parameter for the thing you are missing)
2021-01-19 15:25:37 +00:00
Mark Lewis 3c6f0d9767
Update options.mdx (#9578)
MInor typo.
2021-01-18 15:31:39 +00: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 2803a7e0bc
Merge pull request #9455 from hashicorp/dnephin/update-mapstructure
Update mapstructure dependency
2021-01-15 17:12:28 -05:00
Alvin Huang d44909bb6b
Merge pull request #9565 from hashicorp/ci/load-test-automation
ci: add load test automation
2021-01-15 16:08:50 -05:00
s-christoff 8fc4de0ead
docs: Update load test documentation and minor clean ups (#9548) 2021-01-15 12:41:06 -06:00
Alvin Huang 0d9eacd851 change trigger label to pr/load-test 2021-01-15 11:09:08 -05:00
Daniel Nephin 45c0a71e7e
Merge pull request #8696 from hashicorp/dnephin/fix-load-limits
agent/consul: make Client/Server config reloading more obvious
2021-01-14 17:40:42 -05:00
Daniel Nephin 27a59f86d0
Merge pull request #9436 from hashicorp/dnephin/fix-service-health-req-cache-key
structs: fix caching of ServiceSpecificRequest when ingress=true
2021-01-14 17:26:25 -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
Daniel Nephin ef9d44fdfe structs: fix caching of ServiceSpecificRequest when ingress=true
The field was not being included in the cache info key. This would result in a DNS request for
web.service.consul returning the same result as web.ingress.consul, when those results should
not be the same.
2021-01-14 17:01:40 -05:00
Brandon Romano 120c2cef23
Merge pull request #9558 from hashicorp/br.stack-menu
[Website] StackMenu updates for 1/14
2021-01-14 09:28:24 -08:00
Luke Kysow d6aea9fe7a
Remove guides that live in learn.hashicorp.com now (#9563) 2021-01-14 08:46:55 -08:00
Alvin Huang aaed7897d5 modify envoy test job names to make circleci happy 2021-01-13 23:31:15 -05:00
Alvin Huang 5291d0551d add load test configuration 2021-01-13 23:30:00 -05:00
Alvin Huang 76f25d14fd upload zip instead of tar dev builds 2021-01-13 23:27:17 -05:00
Alvin Huang 656c934f98 modify aws assume role circleci command 2021-01-13 23:25:21 -05:00
Alvin Huang 92ac3906b5 add github action to trigger load tests based on PR label 2021-01-13 23:20:19 -05:00
Alvin Huang 18d4916900 add PR load test terraform config 2021-01-13 23:19:53 -05:00
Alvin Huang a260fc2c58 add terraform files to gitignore 2021-01-13 23:19:30 -05:00
Chulki Lee c734444da5 Fix link markup in docs/connect/ca/vault 2021-01-13 19:20:00 -08:00
Luke Kysow 4217488e78
Move cfg entry docs to under connect from agent (#9533)
Since all config entries are currently related to service mesh it's a
much more natural place to look for them under Service Mesh than under
Agent.
2021-01-13 12:48:48 -08:00
Brandon Romano 7d5dde078b Website StackMenu updates for 1/14 2021-01-13 10:06:15 -08:00
hashicorp-ci 66ec8e5e1f auto-updated agent/uiserver/bindata_assetfs.go from commit 1e30503ec 2021-01-13 09:47:00 +00:00
John Cowen a6bc377a22
ui: Show a feedback icon instead of a learn icon in the help menu (#9552) 2021-01-13 09:41:25 +00:00
Jeff Escalante 2999eb12cc
Docs Website: prepare for move to vercel hosting (#9427)
* prepare for move to vercel hosting

* add html extension redirect handling

* temporarily add back netlify files for hosting transition
2021-01-12 20:09:23 -05:00
kevinkengne 18a12d6517
add completeness test for types with CacheInfo method (#9480)
include all fields when fuzzing in tests
split tests by struct type

Ensure the new value for the field is different

fuzzer.Fuzz could produce the same value again in some cases.

Use a custom fuzz function for QueryOptions. That type is an embedded struct in the request types
but only one of the fields is important to include in the cache key.

Move enterpriseMetaField to an oss file so that we can change it in enterprise.
2021-01-12 19:45:46 -05:00
Kit Patella 1b55fcef33
Merge pull request #9212 from hashicorp/mkcp/telemetry/add-grafana-dash-json
add the latest export-for-public revision of the consul-server-monitoring grafana dash
2021-01-12 15:05:22 -08:00
Kit Patella 6e8e747145 add readme outlining how to edit and publish 2021-01-12 14:47:11 -08:00
Chris Piraino baad708929
Fix bug in usage metrics when multiple service instances are changed in a single transaction (#9440)
* Fix bug in usage metrics that caused a negative count to occur

There were a couple of instances were usage metrics would do the wrong
thing and result in incorrect counts, causing the count to attempt to
decrement below zero and return an error. The usage metrics did not
account for various places where a single transaction could
delete/update/add multiple service instances at once.

We also remove the error when attempting to decrement below zero, and
instead just make sure we do not accidentally underflow the unsigned
integer. This is a more graceful failure than returning an error and not
allowing a transaction to commit.

* Add changelog
2021-01-12 15:31:47 -06:00
Michael Hofer acc843f04d
cli: Add consul intention list command (based on PR #6825) (#9468)
This PR is based on the previous work by @snuggie12 in PR #6825. It adds the command consul intention list to list all available intentions. The list functionality for intentions seems a bit overdue as it's just very handy. The web UI cannot list intentions outside of the default namespace, and using the API is sometimes not the friendliest option. ;)

I cherry picked snuggie12's commits who did most of the heavy lifting (thanks again @snuggie12 for your great work!). The changes in the original commit mostly still worked on the current HEAD. On top of that I added support for namespaces and fixed the docs as they are managed differently today. Also the requested changes related to the "Connect" references in the original PRs have been addressed.

Fixes #5652

Co-authored-by: Matt Hoey <mhoey05@jcu.edu>
2021-01-12 21:14:31 +01:00
Daniel Nephin 90bf8460a1 Update mapstructure 2021-01-12 12:24:56 -05:00
hashicorp-ci 5b92255cf5 auto-updated agent/uiserver/bindata_assetfs.go from commit b86eea4fb 2021-01-12 14:57:52 +00:00
Kenia ff8c0213fc
ui: Rename a model attribute to not be overwritten by ember-data (#9524)
* Rename a model attr to not be overwritten by ember-data

* Make sure we can click on the instances

* Make sure we can click back to the preevious page, not root

* Add a forwards/back/forwards navigation test for service instances

* Rename a model attr to not be overwritten by ember-data

Co-authored-by: John Cowen <jcowen@hashicorp.com>
2021-01-12 09:53:21 -05:00
Daniel Nephin 51464763f4 config: remove Builder receiver from funcs that dont use it
This change allows us to re-use these functions in other places without the Builder, and makes it
more explicit about which functions can warn/error and which can not.
2021-01-11 17:41:58 -05:00
Daniel Nephin 1b374a20dc
Merge pull request #9444 from hashicorp/dnephin/config-tests-sanitize
config: Use golden for TestRuntimeConfig_Sanitize
2021-01-11 17:37:52 -05:00
Daniel Nephin f8e739c58f contrib: update config checklist docs 2021-01-11 14:34:09 -05:00
Daniel Nephin 78b02663e9 config: Use golden for TestRuntimeConfig_Sanitize
A golden file makes the expected value easier to work with. This change also
removes a number of shims for enterprise and replaces them with a single one
for the golden filename.
2021-01-11 14:34:03 -05:00
Kim Ngo 26d7927eea
docs/nia: Fix example config block to execute properly (#9547)
CTS running with default configuration will communicate over http
unless the Consul client is configured with TLS. Having the example
set the scheme to https is misleading and will result in an error:
"http: server gave HTTP response to HTTPS client"
2021-01-11 10:27:33 -06:00
Mike Wickett 541b02453c
Merge pull request #9546 from hashicorp/mw.update-alert-banner-webinar
website: update alert banner to promote webinar
2021-01-11 11:17:59 -05:00