Skip to content

hubble observe currently limited to a single AND filter of all params #430

Open
@errordeveloper

Description

@errordeveloper

edit by @glibsm: Issue re-purposed for a more generic topic.

Original title:

negative `reserved:host` filter not working along with namespace filter

I am using Cilium version 1.9.0 and running hubble observe in a Cilium pod on a node with IP address 10.0.191.208.

When I run hubble observe --follow --ip 10.0.191.208 --not --label reserved:remote-node --not --label reserved:host I get no results.

However, if I use a namespace filter, e.g.:

hubble observe --follow --namespace  openshift-ingress  --namespace openshift-console  --namespace openshift-authentication --not --namespace openshift-monitoring --not --label reserved:remote-node --not --label reserved:host 

I get flows that have reserver:host identity, like this one:

{
  "time": "2020-11-18T11:51:25.477361804Z",
  "verdict": "FORWARDED",
  "ethernet": {
    "source": "36:b5:11:99:cc:64",
    "destination": "ba:06:7d:33:d3:56"
  },
  "IP": {
    "source": "10.0.191.208",
    "destination": "10.128.9.141",
    "ipVersion": "IPv4"
  },
  "l4": {
    "TCP": {
      "source_port": 41634,
      "destination_port": 1936,
      "flags": {
        "SYN": true
      }
    }
  },
  "source": {
    "identity": 1,
    "labels": [
      "reserved:host"
    ]
  },
  "destination": {
    "ID": 749,
    "identity": 19704,
    "namespace": "openshift-ingress",
    "labels": [
      "k8s:ingresscontroller.operator.openshift.io/deployment-ingresscontroller=default",
      "k8s:ingresscontroller.operator.openshift.io/hash=6d48bfb46f",
      "k8s:io.cilium.k8s.namespace.labels.name=openshift-ingress",
      "k8s:io.cilium.k8s.namespace.labels.network.openshift.io/policy-group=ingress",
      "k8s:io.cilium.k8s.namespace.labels.openshift.io/cluster-monitoring=true",
      "k8s:io.cilium.k8s.policy.cluster=default",
      "k8s:io.cilium.k8s.policy.serviceaccount=router",
      "k8s:io.kubernetes.pod.namespace=openshift-ingress"
    ],
    "pod_name": "router-default-566b597bc9-bh6p9"
  },
  "Type": "L3_L4",
  "node_name": "ip-10-0-191-208.eu-west-1.compute.internal",
  "event_type": {
    "type": 4
  },
  "traffic_direction": "INGRESS",
  "trace_observation_point": "TO_ENDPOINT",
  "Summary": "TCP Flags: SYN"
}
{
  "time": "2020-11-18T11:51:25.477377198Z",
  "verdict": "FORWARDED",
  "ethernet": {
    "source": "ba:06:7d:33:d3:56",
    "destination": "36:b5:11:99:cc:64"
  },
  "IP": {
    "source": "10.128.9.141",
    "destination": "10.0.191.208",
    "ipVersion": "IPv4"
  },
  "l4": {
    "TCP": {
      "source_port": 1936,
      "destination_port": 41634,
      "flags": {
        "SYN": true,
        "ACK": true
      }
    }
  },
  "source": {
    "ID": 749,
    "identity": 19704,
    "namespace": "openshift-ingress",
    "labels": [
      "k8s:ingresscontroller.operator.openshift.io/deployment-ingresscontroller=default",
      "k8s:ingresscontroller.operator.openshift.io/hash=6d48bfb46f",
      "k8s:io.cilium.k8s.namespace.labels.name=openshift-ingress",
      "k8s:io.cilium.k8s.namespace.labels.network.openshift.io/policy-group=ingress",
      "k8s:io.cilium.k8s.namespace.labels.openshift.io/cluster-monitoring=true",
      "k8s:io.cilium.k8s.policy.cluster=default",
      "k8s:io.cilium.k8s.policy.serviceaccount=router",
      "k8s:io.kubernetes.pod.namespace=openshift-ingress"
    ],
    "pod_name": "router-default-566b597bc9-bh6p9"
  },
  "destination": {
    "identity": 1,
    "labels": [
      "reserved:host"
    ]
  },
  "Type": "L3_L4",
  "node_name": "ip-10-0-191-208.eu-west-1.compute.internal",
  "reply": true,
  "event_type": {
    "type": 4,
    "sub_type": 3
  },
  "traffic_direction": "INGRESS",
  "trace_observation_point": "TO_STACK",
  "Summary": "TCP Flags: SYN, ACK"
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/enhancementThis would improve or streamline existing functionality.⌨️ area/cliImpacts the command line interface of any command in the repository.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions