Commit Graph

4163 Commits

Author SHA1 Message Date
Simon
899c708593 Merge pull request #2648 from weaveworks/2627-node-grid-multiple-relatives
Show multiple relatives in the nodes-grid view
2017-07-05 14:25:55 +02:00
Matthias Radestock
a0fb2e1d73 cosmetic(ish) 2017-07-05 12:49:23 +01:00
Matthias Radestock
0c122acf06 correct determination of a host's container images
The same container image may be in use on multiple hosts. The
latest-map HostNodeID of a node in the ContainerImage topology is
therefore meaningless - it gets set to whatever host reported that
image last in the time window covered by the report. Hence using it as
a basis for mapping to hosts, as we did, a) fails to associate images
with all the right hosts (hence they are missing from the host details
panel), and b) causes that association to change semi-randomly (hence
the list in the details panel is unstable).

By contrast, the host topology parents of container image nodes is the
complete set of all hosts the image is used on. So making that the
basis for mapping fixes the problem.

The same technique - mapping based on host parents rather than
latest-map HostNodeID - also works for the other nodes we are mapping:
processes, containers and pods. So we might as well use it there
too. That's also what Map2Parent does in other topology renderers.

Fixes #2629.
2017-07-05 09:09:32 +01:00
Matthias Radestock
57bc34f411 Merge pull request #2673 from weaveworks/mike/render/simplify-pods
render/pod: Remove unused options and incorrect code
2017-07-04 20:38:45 +01:00
Matthias Radestock
d4d3e5f184 correct comment 2017-07-04 20:37:55 +01:00
Roland Schilter
718e817c73 Update README/Makefile/package.json to use yarn
Fixes #2606
2017-07-04 14:50:53 +02:00
Simon Howe
ba29271053 Prevents 6 digit pids from being truncated in details panel/table mode 2017-07-04 10:42:18 +02:00
Simon Howe
ee55d17b0e Review feedback on supporting multiple relatives in node-grid columns 2017-07-04 10:41:41 +02:00
Simon Howe
ffd531e44a Show multiple relatives in the nodes-grid view 2017-07-04 10:41:41 +02:00
Matthias Radestock
4dbb913ca2 refactor: remove dead Copy() code 2017-07-04 07:35:30 +01:00
Matthias Radestock
a6491a35c3 refactor: remove unnecessary Copy() code 2017-07-04 07:35:30 +01:00
Matthias Radestock
f0ae2bd98c refactor: use inline StringSet constructor 2017-07-04 06:29:19 +01:00
Alfonso Acosta
6c03540b1f Merge pull request #2659 from weaveworks/use-new-k8s-go-client
Use new k8s go client
2017-07-03 23:23:41 +02:00
Mike Lang
73b7641d9f render/pod: Remove unused code and options 2017-07-03 13:50:56 -07:00
Matthias Radestock
5a468ae91c Merge pull request #2671 from weaveworks/better-sets
rationalise report set usage
2017-07-03 21:25:16 +01:00
Alfonso Acosta
93b0bc82d3 Remove more unused dependencies 2017-07-03 20:20:34 +00:00
Alfonso Acosta
6ff872c4a4 Delete old client vendored dependencies 2017-07-03 20:20:32 +00:00
Alfonso Acosta
84afe9fe70 Fix typo 2017-07-03 20:20:28 +00:00
Alfonso Acosta
34bfc22b4f Fix tests 2017-07-03 20:20:28 +00:00
Alfonso Acosta
7d59936d8c HostNetwork is now inlined in the pod spec 2017-07-03 20:20:28 +00:00
Alfonso Acosta
8bbbf25809 Migrate probe to new new kubernetes go-client
This namely involved importing new libraries and using the new Clientset.

Changes worth mentioning:

* The new kubernetes library doesn't provide StoreToLister wrappers, so now I am going the casting directly.
* Deleting the pods and getting their logs is done in a cleaner way (using the
  Clientset instead of the lower-level RESTclient).
2017-07-03 20:20:27 +00:00
Alfonso Acosta
4e2b512480 Vendor k8s.io/client-go (release-3.0) and k8s.io/apimachinery (release-1.6) 2017-07-03 20:20:27 +00:00
Mike Lang
b7e24e82b5 render/pod: Remove redundant deployment mapping
This map function isn't actually needed.
Children are only populated from mapping to parents during rendering,
so there's no pre-existing replicasets to map.
Simply having the Map2Parent function map pods to deployments has it do the right thing.
2017-07-03 11:49:31 -07:00
Matthias Radestock
d12603c516 tiny refactor: use inline string set constructor in test 2017-07-03 07:55:17 +01:00
Matthias Radestock
1f023890e4 refactor: optimise report.Map.Render() 2017-07-03 07:54:32 +01:00
Matthias Radestock
cfbbdf7bf0 refactor: optimise report.Sets.Delete() going empty
Mainly for consistencty; we do something similar NodeSet.Delete().
2017-07-03 03:19:52 +01:00
Matthias Radestock
430e74a80a refactor: remove report latest map Delete()
It wasn't used, and is problematic in any case since it introduces
non-monotonicity.
2017-07-03 02:06:21 +01:00
Matthias Radestock
5b131b1ea6 refactor: remove a couple of report set Remove() functions
They were unused and their naming was inconsistent with similar
operations (that are called Delete()).
2017-07-03 01:26:22 +01:00
Matthias Radestock
7119fb9de8 refactor: rename report.NewNetworks to MakeNetworks
for consistency - all the other report set constructors are called
'Make...'
2017-07-03 01:26:22 +01:00
Matthias Radestock
fd3fc6656d refactor: add some more empty report set objects
for efficiency and consistency
2017-07-03 01:26:22 +01:00
Matthias Radestock
b5f3aa68ae refactor: optimise "empty" case in report set constructors 2017-07-03 01:26:22 +01:00
Matthias Radestock
9dc50b5202 refactor: hide "empty set" constants
They are an implementation detail.
2017-07-03 01:26:22 +01:00
Matthias Radestock
c5b2c9dc3d Merge pull request #2668 from weaveworks/2665-connection-pid-attribution
ignore endpoints with >1 adjacency in process rendering

This eliminates the worst effects of #2665.
2017-06-30 13:10:10 +01:00
Mike Lang
e65c80d71a Merge pull request #2670 from weaveworks/mike/k8s/controller-view/no-type-filter
Remove type filter in controllers view
2017-06-29 17:18:28 -07:00
Mike Lang
c521b50bc6 Remove type filter in controllers view
This was always temporary until we could search for type via the search box instead,
since it resulted in too much clutter / didn't seem a useful use-case.

As it turns out, searching like this was already possible.
2017-06-29 16:03:53 -07:00
Mike Lang
02de94754d Merge pull request #2661 from weaveworks/mike/k8s/remove-replica-sets
Remove replica sets
2017-06-29 15:07:31 -07:00
Matthias Radestock
708931f98a ignore endpoints with >1 adjacency in process rendering
This eliminates the worst effects of #2665.
2017-06-29 22:34:05 +01:00
Mike Lang
ef2b6f6c55 Remove replica sets
Use a special kind of selector renderer to elide replica sets from pod nodes
and directly reference deployment parents instead.
Do the inverse (replace replica sets with pods) during the mapping from pod to deployment.

Note we can no longer use renderParents since we're using a non-standard Selector
2017-06-29 10:13:15 -07:00
Roland Schilter
247c365e16 Merge pull request #2570 from weaveworks/update-weaveworks-common
Update github.com/weaveworks/common & dependencies (needs go1.8)
2017-06-29 13:48:21 +02:00
Ilya Dmitrichenko
f326ded162 Merge pull request #2657 from weaveworks/openshift-install-docs
Publish updated OpenShift instructions (close #2485)
2017-06-29 11:33:01 +01:00
Ilya Dmitrichenko
c2dbedde37 Publish updated OpenShift instructions (close #2485)
This has been tested on OpenShift Orgin v1.4.1 (`oc cluster up --version=v1.4.1 --skip-registry-check`),
(using latest builds of `oc` [412b5d6] command and Docker for Mac [v17.06.0-rc5-ce-mac16]).
2017-06-28 14:52:43 +01:00
Matthias Radestock
5317b224ec Merge pull request #2652 from weaveworks/do-not-filter-endpoint
do not filter endpoints by procspied/ebpf in renderers

Fixes #2551.
Fixes #2558.
2017-06-28 08:54:38 +01:00
Roland Schilter
e6bc1d6ec2 Merge pull request #2649 from weaveworks/1975-honor-docker-host-in-probe
Honor DOCKER_* env variables in probe and app
2017-06-28 09:07:52 +02:00
Matthias Radestock
3209d65d52 filter out unconnected pseudo nodes on the outside
The change is necessitated by the removal of procspied/ebpf endpoint
filtering in the renderers, as a result of which the odd
conntracked-only, unconnected pseudo node can sneak through.

This new way of doing things also makes renderers more composable and
robust, and more directly reflects the objective:
- in the process topologies, filter out all unconnected nodes
- in all other topologies, filter out unconnected pseudo nodes
2017-06-27 20:28:30 +01:00
Matthias Radestock
e5a04ec5a4 do not filter endpoints by procspied/ebpf in renderers
The filtering of endpoints causes some connections to get missed for
non-eBPF-tracked connections. Furthermore, the filtering of endpoints
is entirely pointless when the probes run eBPF since the filters just
pass through eBPF-tracked endpoints (for good reason too; because
otherwise some connections would be missed). So in that case it is
just costing CPU and removing it actually improves performance.

Note that removing the filtering does not result in over-counting
connections since that is done by source ip:port pairs.

Fixes #2551.
Fixes #2558.
2017-06-27 20:28:13 +01:00
Mike Lang
716a5df87b Merge pull request #2552 from weaveworks/mike/k8s/combined-view
add k8s combined view
2017-06-27 11:09:13 -07:00
Mike Lang
f7913ab550 Rewrite renderers for k8s/ecs/swarm to abstract common parts
Since all the renderers were doing almost-exactly the same thing, we abstract that out into a common function.
2017-06-27 10:19:04 -07:00
Mike Lang
f101f83c3d controllers topology: Map metrics for single nodes
* Maps metrics if there is a single pod in the controller, as per all other views.
* Also added heavy commenting on the increasingly-complex render chain
2017-06-27 10:19:04 -07:00
Mike Lang
ec2a7fc753 Prefer controllers view for default view 2017-06-27 10:19:04 -07:00
Mike Lang
8eb72cf276 Remove deployment and daemonset views, change combined to controllers and remove bare pods and replica sets
Since we still need to map through replica sets to find matching deployments, we simply filter them out as a post-step.
2017-06-27 10:19:04 -07:00