Commit Graph

202 Commits

Author SHA1 Message Date
Dhia Ayachi d24156db14 generate a single debug file for a long duration capture (#10279)
* debug: remove the CLI check for debug_enabled

The API allows collecting profiles even debug_enabled=false as long as
ACLs are enabled. Remove this check from the CLI so that users do not
need to set debug_enabled=true for no reason.

Also:
- fix the API client to return errors on non-200 status codes for debug
  endpoints
- improve the failure messages when pprof data can not be collected

Co-Authored-By: Dhia Ayachi <dhia@hashicorp.com>

* remove parallel test runs

parallel runs create a race condition that fail the debug tests

* snapshot the timestamp at the beginning of the capture

- timestamp used to create the capture sub folder is snapshot only at the beginning of the capture and reused for subsequent captures
- capture append to the file if it already exist

* Revert "snapshot the timestamp at the beginning of the capture"

This reverts commit c2d03346

* Refactor captureDynamic to extract capture logic for each item in a different func

* snapshot the timestamp at the beginning of the capture

- timestamp used to create the capture sub folder is snapshot only at the beginning of the capture and reused for subsequent captures
- capture append to the file if it already exist

* Revert "snapshot the timestamp at the beginning of the capture"

This reverts commit c2d03346

* Refactor captureDynamic to extract capture logic for each item in a different func

* extract wait group outside the go routine to avoid a race condition

* capture pprof in a separate go routine

* perform a single capture for pprof data for the whole duration

* add missing vendor dependency

* add a change log and fix documentation to reflect the change

* create function for timestamp dir creation and simplify error handling

* use error groups and ticker to simplify interval capture loop

* Logs, profile and traces are captured for the full duration. Metrics, Heap and Go routines are captured every interval

* refactor Logs capture routine and add log capture specific test

* improve error reporting when log test fail

* change test duration to 1s

* make time parsing in log line more robust

* refactor log time format in a const

* test on log line empty the earliest possible and return

Co-authored-by: Freddy <freddygv@users.noreply.github.com>

* rename function to captureShortLived

* more specific changelog

Co-authored-by: Paul Banks <banks@banksco.de>

* update documentation to reflect current implementation

* add test for behavior when invalid param is passed to the command

* fix argument line in test

* a more detailed description of the new behaviour

Co-authored-by: Paul Banks <banks@banksco.de>

* print success right after the capture is done

* remove an unnecessary error check

Co-authored-by: Daniel Nephin <dnephin@hashicorp.com>

* upgraded github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57 => v0.0.0-20210601050228-01bbb1931b22

Co-authored-by: Daniel Nephin <dnephin@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: Paul Banks <banks@banksco.de>
2021-06-07 17:12:54 +00:00
Dhia Ayachi 3084d16066 fix monitor to only start the monitor in json format when requested (#10358)
* fix monitor to only start the monitor in json format when requested

* add release notes

* add test to validate json format when requested
2021-06-07 16:09:32 +00:00
Daniel Nephin c43f3bda51
Merge pull request #10345 from hashicorp/dnephin/backport-logging-fix
[1.9.x] agent: remove leading whitespace from agent log lines
2021-06-03 14:42:30 -04:00
Paul Ewing ef533f7c33
usagemetrics: add cluster members to metrics API (#10340) (#10346)
This PR adds cluster members to the metrics API. The number of members per
segment are reported as well as the total number of members.

Tested by running a multi-node cluster locally and ensuring the numbers were
correct. Also added unit test coverage to add the new expected gauges to
existing test cases.
2021-06-03 10:35:45 -07:00
Daniel Nephin a3a0bf61a2 Merge pull request #10338 from hashicorp/dnephin/fix-logging-indent
agent: remove leading whitespace from agent log lines
2021-06-03 13:26:03 -04:00
Daniel Nephin e6aa0c567f Merge pull request #10324 from hashicorp/dnephin/fix-envoy-bootstrap-exec
envoy: fix deadlock when input is larger than named pipe buffer size
2021-06-01 17:03:30 +00:00
Dhia Ayachi 4249ac9b0e debug: remove the CLI check for debug_enabled (#10273)
* debug: remove the CLI check for debug_enabled

The API allows collecting profiles even debug_enabled=false as long as
ACLs are enabled. Remove this check from the CLI so that users do not
need to set debug_enabled=true for no reason.

Also:
- fix the API client to return errors on non-200 status codes for debug
  endpoints
- improve the failure messages when pprof data can not be collected

Co-Authored-By: Dhia Ayachi <dhia@hashicorp.com>

* remove parallel test runs

parallel runs create a race condition that fail the debug tests

* Add changelog

Co-authored-by: Daniel Nephin <dnephin@hashicorp.com>
2021-05-31 15:29:05 -04:00
Matt Keeler ada4d21285
Bump raft-autopilot to the latest version (#10310) 2021-05-27 13:23:18 -04:00
Mike Morris eabb421803 changelog: add entry for network areas WAN config fix 2021-05-26 21:50:01 +00:00
Hector Simpson e0adb3f475
Update brand assets (1.9.x) (#10090)
* Update header logo and inline icon

* Update full logos + layout on loading screen

* Update favicon assets and strategy

- Switches to serve an ico file alongside an SVG file
- Introduces an apple-touch-icon

* Removes unused favicon/meta assets

* Changelog item for ui

* Component for logo, update brand color

* Restore data-enterprise-logo attribute
2021-05-24 11:43:27 +01:00
John Cowen 5b65f65f0a
ui: Miscellaneous Lock Session fixes (#10225) (backported #10257)
* ui: Miscellaneous Lock Session fixes (#10225)

* Remove usage of replace which isn't available on 1.9.x
2021-05-24 11:10:28 +01:00
Daniel Nephin c6b8815d5f Merge pull request #10272 from hashicorp/dnephin/backport-namespace-license-fix
Backport some ent changes for serf tags
2021-05-21 16:35:34 +00:00
Daniel Nephin 181621bd13 Merge pull request #8812 from jjshanks/GH-8728
GH-8728 add raft default values
2021-05-18 19:33:13 +00:00
R.B. Boyer 3357a14339
server: ensure that central service config flattening properly resets the state each time (#10245)
The prior solution to call reply.Reset() aged poorly since newer fields
were added to the reply, but not added to Reset() leading serial
blocking query loops on the server to blend replies.

This could manifest as a service-defaults protocol change from
default=>http not reverting back to default after the config entry
reponsible was deleted.

Backport of #10239 to 1.9.x
2021-05-14 13:20:49 -05:00
R.B. Boyer 89180eb281
agent: ensure we hash the non-deprecated upstream fields on ServiceConfigRequest (#10240) (#10244)
Backport of #10240 to 1.9.x
2021-05-14 10:49:18 -05:00
Freddy 235118c44d Add changelog entry for network area timeout updates (#10241) 2021-05-13 21:06:15 +00:00
R.B. Boyer a179607457
[1.9.x] connect: update supported envoy versions to 1.16.4, 1.15.5, 1.14.6, and 1.13.7 (#10232)
manual backport of #10231 to 1.9.x
2021-05-12 14:26:56 -05:00
Daniel Nephin ff6d4c75b4
Merge pull request #10218 from hashicorp/dnephin/backport-local-agent-fix
[1.9.x] agent/local: do not persist the agent or user token
2021-05-12 13:19:29 -04:00
Kenia fd255c48d6 ui: Add conditionals to Lock Session list items (#10121)
* Add conditionals to Lock Session list items

* Add changelog

* Show ID in details if there is a name to go in title

* Add copy-button if ID is in the title

* Update TTL conditional

* Update .changelog/10121.txt

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>

Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2021-05-11 15:40:50 +00:00
Daniel Nephin fb10c229e2 Add changelog 2021-05-10 16:03:51 -04:00
John Cowen b5eaabc0fb ui: Fix nspace spacing issue (#10157)
This fixes the spacing bug in nspaces only by only showing Description if the namespace has one, and removing the extra 2 pixel margin of dds for when dts aren't rendered/don't exist.
2021-05-10 10:20:13 +00:00
John Cowen 89aa58da15 ui: Adds ability to show a 'partial' list in list-collections (#10174)
* ui: Add support for showing partial lists in ListCollection

* Add CSS for partial 'View more' button, and move all CSS to /components

* Enable partial view for intention permissions
2021-05-07 15:55:37 +00:00
John Cowen 14fbeca616 ui: [BUGFIX] De-duplicate Tag rendering (#10186)
* Add some tests for duplicated and non-duplicated tags

* Ensure tags get de-duped and add docs

* Update docs to include info on the recursive-ness
2021-05-07 11:08:18 +00:00
Daniel Nephin cd55f89f84 Merge pull request #10189 from hashicorp/dnephin/http-api-health-query-meta
http: set consistency header properly for health endpoint
2021-05-06 18:05:50 +00:00
John Cowen dd586af4ef ui: Remove extra nspace value from service upstreams (#10152)
* ui: Remove extra nspace value from service upstreams
2021-05-04 16:45:31 +00:00
John Cowen 1d81d707dd ui: Adds CRD popover 'informed action' for intentions managed by CRDs (#10100)
* ui: Adds CRD popover 'informed action' for intentions add via CRDs
2021-05-04 16:24:35 +00:00
John Cowen 18e1267220
ui: Adds human formatting to nanosecond based session durations (#10062) (#10141)
* ui: Adds human formatting to nanosecond based session durations
2021-05-04 14:01:41 +01:00
Luke Kysow 6675af4b0a Give descriptive error if auth method not found (#10163)
* Give descriptive error if auth method not found

Previously during a `consul login -method=blah`, if the auth method was not found, the
error returned would be "ACL not found". This is potentially confusing
because there may be many different ACLs involved in a login: the ACL of
the Consul client, perhaps the binding rule or the auth method.

Now the error will be "auth method blah not found", which is much easier
to debug.
2021-05-03 20:39:55 +00:00
R.B. Boyer ee30a54c7f
[1.9.x] connect: update supported envoy versions to 1.16.3, 1.15.4, 1.14.7, 1.13.7 (#10105) 2021-04-29 15:49:16 -05:00
Paul Banks 7a682b33af
Fix panic bug in snapshot inspect (#10091) (#10108)
* Fix panic bug in snapshot inspect

* Add changelog entry

* Update .changelog/10091.txt

* Undo bad GitHub UI merge

* Undo bad GitHub UI merge
2021-04-23 21:29:06 +01:00
Matt Keeler 5eb34113dd Update changelog and add telemetry docs (#10107) 2021-04-23 20:05:38 +00:00
Kyle Havlovitz f65b9ac4cf Merge pull request #9672 from hashicorp/ca-force-skip-xc
connect/ca: Allow ForceWithoutCrossSigning for all providers
2021-04-20 15:30:37 -05:00
Kent 'picat' Gruber 2e84559d4b Merge pull request #10030 from hashicorp/fix-ent-audit-log-bypass
Add synthetic enterprise entry for CVE-2021-28156
2021-04-15 16:14:39 +00:00
Kent 'picat' Gruber dc937c9532 Merge pull request #10023 from hashicorp/fix-raw-kv-xss
Add content type headers to raw KV responses
2021-04-15 13:44:02 +00:00
Daniel Nephin 04d3575f11 Merge pull request #10025 from hashicorp/dnephin/fix-snapshot-auth-methods
snapshot: fix saving of auth methods
2021-04-14 21:19:24 +00:00
Daniel Nephin 01998aeaf0 Merge pull request #10014 from hashicorp/dnephin/changelog
Add changelog for enterprise change
2021-04-14 18:10:15 +00:00
Matt Keeler 72aee1d8c4 Move static token resolution into the ACLResolver (#10013) 2021-04-14 16:40:12 +00:00
Freddy 7b88faca15 Merge pull request #9042 from lawliet89/tg-rewrite 2021-04-08 12:59:22 -06:00
Paul Banks bb985743e9 cache: Fix bug where connection errors can cause early cache expiry (#9979)
Fixes a cache bug where TTL is not updated while a value isn't changing or cache entry is returning fetch errors.
2021-04-08 10:11:46 +00:00
Paul Banks 78c1528c48 cache: fix bug where TTLs were ignored leading to leaked memory in client agents (#9978)
* Fix bug in cache where TTLs are effectively ignored

This mostly affects streaming since streaming will immediately return from Fetch calls when the state is Closed on eviction which causes the race condition every time.

However this also affects all other cache types if the fetch call happens to return between the eviction and then next time around the Get loop by any client.

There is a separate bug that allows cache items to be evicted even when there are active clients which is the trigger here.

* Add changelog entry

* Update .changelog/9978.txt
2021-04-08 10:09:29 +00:00
R.B. Boyer 0efdb9f0b5
[1.9.x] command: when generating envoy bootstrap configs to stdout do not mix informational logs into the json (#9984)
Backport of #9980 to `1.9.x`

Conflicts:
- just the generated golden command/ files
2021-04-07 15:00:19 -05:00
R.B. Boyer 8df30a4ded
[1.9.x] api: ensure v1/health/ingress/:service endpoint works properly when streaming is enabled (#9968)
Backport of #9967 to 1.9.x
2021-04-05 13:23:15 -05:00
Mike Morris 830a70f3f4 changelog: fixup release-note formatting (#9960)
so these changelog entries will be parsed successfully
2021-04-01 14:32:56 +00:00
Daniel Nephin 5e3825d9a7 Merge pull request #9923 from hashicorp/dnephin/fix-ui-config
http: fix a bug that would cause runtimeConfig to be cached
2021-03-25 16:29:01 +00:00
John Cowen ec3ce63ed2 ui: Ensure intention form cancel button works (#9901)
* ui: Ensure intention form cancel button works

By adding `@action` decorators to the actions called form within the
template
2021-03-19 15:15:23 +00:00
John Cowen 1e7ebb0978 ui: CSP Improvements (#9847)
* Configure ember-auto-import so we can use a stricter CSP

* Create a fake filesystem using JSON to avoid inline scripts in index

We used to have inline scripts in index.html in order to support embers
filepath fingerprinting and our configurable rootURL.

Instead of using inline scripts we use application/json plus a JSON blob
to create a fake filesystem JSON blob/hash/map to hold all of the
rootURL'ed fingerprinted file paths which we can then retrive later in
non-inline scripts.

We move our inlined polyfills script into the init.js external script,
and we move the CodeMirror syntax highlighting configuration inline
script into the main app itself - into the already existing CodeMirror
initializer (this has been moved so we can lookup a service located
document using ember's DI container)

* Set a strict-ish CSP policy during development
2021-03-17 10:47:11 +00:00
Matt Keeler c2afc01702 AutopilotServerHealth now handles the 429 status code (#8599)
AutopilotServerHealthy now handles the 429 status code

Previously we would error out and not parse the response. Now either a 200 or 429 status code are considered expected statuses and will result in the method returning the reply allowing API consumers to not only see if the system is healthy or not but which server is unhealthy.
2021-03-12 14:41:25 +00:00
Daniel Nephin 7e663ef039 Merge pull request #9851 from panascais-forks/fix-wan-ipv6-key
Fix advertise_addr_wan_ipv6 configuration key
2021-03-10 16:59:23 +00:00
Daniel Nephin 30b4dd1bcf Merge pull request #9683 from hashicorp/dnephin/fix-zombie-service-dereg
local: use agent token to deregister services
2021-03-05 21:47:24 +00:00
John Cowen ef3f6d5e3f ui: Remove any trailing fullstop/period DNS characters from Gateways UI API (#9752)
Previous to this commit, the API response would include Gateway
Addresses in the form `domain.name.:8080`, which due to the addition of
the port is probably not the expected response.

This commit rightTrims any `.` characters from the end of the domain
before formatting the address to include the port resulting in
`domain.name:8080`
2021-02-25 09:36:37 +00:00