Support for multiple ports in annotations

The use case is if you have for example several containers in a pod, currently with the port annotation it seems you can only specify one port. The only way i see to scrape several ports is removing the port annotation, the problem is that ports that i dont wanna get scraped are scraped.

One other alternative is to key SD off of port names - for instance, we only scrape pod ports who's name ends with -metrics.  This allows you to scrape multiple port per pod quite easily.  Heres our Prometheus config:
https://github.com/kausalco/public/blob/master/prometheus-ksonnet/lib/prometheus-config.libsonnet#L72

@tomwilkie This approach is brilliant. Thanks!
Defined as a second pod job to what is at kubernetes/charts, with some tweaks, I was able to achieve multi-port scrapes without annotations.  The port name suffix I'm using is xp because go text/template is sensitive to hyphens, which might become an issue in some of the stock charts.

Yea, we use port naming as an indicator what port should be scraped for pod, but it is limited:

port name has limit of 15 chars
you need to have same scheme and __metric_path__ for all containers within pod

It's fine for us for now, but can cause some troubles if you don't have any way to change metric_path on which metrics are exposed for both containers within pod.
Started some discussion here: https://groups.google.com/forum/#!topic/prometheus-users/ihMUWtX477Q Sorry I missed this issue here, my topic is kind of duplicate.

There is another, more verbose solution (I explained in google group's topic):

My post actually made me think about more explicit, but flexible solution - that we can just do annotation like in the example but with key like this:
prometheus.io/0/{port, scrape, scheme, path} and add additional scrape config for each potential sidecar. So if you have 3 containers that you want to scrape you can put in the pod appropriate annotations:
prometheus.io/0/{port, scrape, scheme, path}, prometheus.io/1/{port, scrape, scheme, path}  and prometheus.io/2/{port, scrape, scheme, path} and have 3 separate scrape jobs (pods k8s SD) that scrape first, second and third container. This will not automatically work for 4-container pods, but for most users, you never have more than 3 you want to monitor.

How crazy would be to extend relabelling to add some kind of conditional logic? For example:
    - source_labels: [a, b, c, d]
      regex:         "^(.*);(x.*);(something.*);.*"
      target_label:  new_label
      replacement:  "$1-$3"
      # New relabelling field for comparison. Rule is executed only if those N args string matches.
      if:  ["eq", "$1", "$2"]

That would solve this issue immidiately and will allow for more flexibility for different providers.
Any thoughts?
So then you can have annotations like:
example.com/9090/metric_path="/_metrics"
example.com/9093/metric_path="/metrics"
example.com/9099/metric_path="/status?format=prometheus"

Not tested but I think another alternative is using a service for each port and use the annotations there. But I'd also happy if we had a one-to-n mapping in relabeling.

So.. again, there is no good solution here.
Other option and it seems recommended & ultimate way is to do CRD based scrape configuration, which quite neat and insane in the same time. This is exactly what Prometheus Operator does [here](https://sourcegraph.com/github.com/coreos/prometheus-operator@773090e44e162e9508de0073efefc1152e6cf3d9/-/blob/pkg/prometheus/operator.go#L1395:20, however I am not necessarily like sticking to Endpoints.
I wonder if the better way would be to allow pointing to pods directly. I might be missing some important discussion that lead to decision for Endpoints. If I am not wrong, Endpoints are created only by Service that has some selectors, otherwise you need to create those manually. Selecting pods would need probably need some even more magic scrape configuration.
Anyway, all of this unfortunately involves using some kind of operator, like Prom Operator itself. Since there is no custom resource definition API in scrape Kubernetes discovery (why?), the only solution is genertaing Prometheus configuration on the fly, based on CRDs from KubeAPI and reload it in runtime to given Prometheus. It's quite [insane[(https://sourcegraph.com/github.com/coreos/prometheus-operator@773090e44e162e9508de0073efefc1152e6cf3d9/-/blob/pkg/prometheus/operator.go#L1395:20)! Also kudos to Prometheus Operator maintainers for implementing this and delivering so well.
All of this would be not needed if the scrape configuration would be improved in Prometheus itself ):

@bwplotka Prometheus discovers ports, but what I and @vaijira want is finding multiple targets per single pod. That's what isn't possible because there is only one target in SD (the pod) and no way to create two targets from one target with relabeling.

@discordianfish You are missing important thing here. Prometheus discovers Pod's ports. However because:

Of pattern for reusing Pod annotations and limitation of relabel I described in 4 comments above
or
lack of per pod annotations for Kubernetes
.. It gives the impression of just one port per pod, as annotation happend to be (accidently) a popular pattern.

There is ongoing discussion for years how to resolve this in easiest way and I think we should start maintain some table of potential solutions and their pros/cons ;p

Added some table of existing solutions for starting point: https://docs.google.com/document/d/1S6O1czHtjR2DGfK2zeZDLr88wxyLRXB2JpH5g7YM1J8/edit?usp=sharing

Hi,
I'm also facing the need to scrape two container within a single pod and gave a shot at the "Multiple Pod annotations" solution within the google doc
I though I'd share my issues :

This is minor but I think the prometheus.io/0/{port, scrape, scheme, path} won't work as is see here.

Valid annotation keys have two segments: an optional prefix and name, separated by a slash
Instead, maybe we could go for :

0.prometheus.io/{port, scrape, scheme, path}
1.prometheus.io/{port, scrape, scheme, path}

Unless I'm wrong this solution imply using the prometheus deduplication of exact same targets. When I use for example :
#Annotations in kubernetes (within a StatefulSet exposing two container, and one port per container) :
0.prometheus.io/scrape: "true"
0.prometheus.io/port: "9090"
0.prometheus.io/path: "/metrics"
1.prometheus.io/scrape: "true"
1.prometheus.io/port: "9090"
1.prometheus.io/path: "/metrics"

#jobs definitions :
- job_name: "kubernetes-containers-0"
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_annotation_0_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
    - source_labels: [__address__, __meta_kubernetes_pod_annotation_0_prometheus_io_port]
    action: replace
    regex: ([^:]+)(?::\d+)?;(\d+)
    replacement: $1:$2
    target_label: __address__

- job_name: "kubernetes-containers-1"
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_annotation_1_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
    - source_labels: [__address__, __meta_kubernetes_pod_annotation_1_prometheus_io_port]
    action: replace
    regex: ([^:]+)(?::\d+)?;(\d+)
    replacement: $1:$2
    target_label: __address__

Unless I'm mistaking, prometheus discover two targets for each jobs, but the two targets are exactly the same.
Therefore Prometheus keeps only one target for each job and I end up "well"
But, except for the job name, the labels will be identical for the two series, I would have wanted to add the __meta_kubernetes_pod_container_name with relabelling,
but if I do so I lose the unicity of labels and end up with duplicated targets : prometheus won't deduplicate those anymore.
One more downside to this solution is that you can't have labels that differ (other than the job name) from a container to another, in my case the name.

Hi @bwplotka, (related to my comment just above)
I don't know if this idea is similar to the if you already mentionned but how crazy would it be to be able to use labels within the regex ?
In my case I guess it would solve the thing :
#Annotations in kubernetes (within a StatefulSet exposing two container, and one port per container) :
0.prometheus.io/port: "9090"
0.prometheus.io/path: "/metrics"
1.prometheus.io/port: "8080"
1.prometheus.io/path: "/metrics"

#job definition :
- job_name: "kubernetes-containers-0"
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_container_port_number]
    action: keep
    regex: __meta_kubernetes_pod_annotation_0_prometheus_io_scrape

- job_name: "kubernetes-containers-1"
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_container_port_number]
    action: keep
    regex: __meta_kubernetes_pod_annotation_1_prometheus_io_scrape

The idea here would be : "If the port defined within the annotations match the port of the pod discovered : keep the target, otherwise drop it"

Unless I'm mistaking, prometheus discover two targets for each jobs, but the two targets are exactly the same.

Why? If you target address you will get two targets per JOB (if you have single Pod with only 2 containers). Since the address is exactly the same K8s service will use just one.

would have wanted to add the __meta_kubernetes_pod_container_name with relabelling,
but if I do so I lose the unicity of labels and end up with duplicated targets : prometheus won't deduplicate those anymore.

Yes! You have couple of options, I will add them to the doc.  Also please comment there.

Add instance label with ip:port
(Better): map job to be app+container_name

Your second idea is kind of if -> relabelling does not allow to use regex build from values from another labels. Regexp is build on config reload time.

Your second idea is kind of if -> relabelling does not allow to use regex build from values from another labels. Regexp is build on config reload time.

I did'nt expect that quick of answer, but yeah, I know it's not possible, I was just saying this feature would solve my case, as the Port Annotations from kubernetes would solve it, but I understand it's not available. (for now ? 😜 )

Your second idea is kind of if -> relabelling does not allow to use regex build from values from another labels. Regexp is build on config reload time.

I did'nt expect that quick of answer, but yeah, I know it's not possible, I was just saying this feature would solve my case, as the Port Annotations from kubernetes would solve it, but I understand it's not available. (for now ? 😜 )

we run into same issue when monitoring both kube-dns + dnsmasq, and they were in same POD. any further update on this chain?

I resolved multi port scraping problem to use exporter that merged any ports.
https://github.com/rebuy-de/exporter-merger

:+1: for kube-dns + dnsmasq monitoring

I resolved multi port scraping problem to use exporter that merged any ports.
https://github.com/rebuy-de/exporter-merger

Please correct me if I'm wrong, but that only works as long as the different containers export non-overlapping metrics data, right? For common ones like go_memstats_stack_sys_bytes, a single exporter would have to report different values (one per process), and I don't see how that could be done.

That would be some work but could we have somehow relabelling to "duplicate" metrics/configs ?
usecases:
when moving from wmi_ to windows_ metrics, you would have both the old and the new one.
you could have multiple ports in one relabel config.
syntax, with exemples:
    - source_labels: [__address__]
      action: append
      replacement: $1:9100
      target_label: __address__

    - source_labels: [ports]
      action: split
      separator: ,
      replacement: $1
      target_label: __tmp_port

    metric_relabel_configs:
    - source_labels: ['__name__']
      target_label: '__name__'
      regex: 'wmi_(.*)'
      action: append
      replacement: 'windows_$1'

That would be a change in the way relabeling works but would not change the existing behaviour.

Thanks for the ideas. I used them to implement this solution which is working very well:
manifest.yaml
--------------
      containers:
      - name: custom-app1
      ...
      - name: custom-app2
        image: github.com/user/app:latest
        ports:
        - name: more-metrics
          containerPort: 9099

prometheus.yml
---------------
  - job_name: 'custom-app2'

    kubernetes_sd_configs:
    - role: pod

    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_container_port_name]
      action: keep
      regex: more-metrics
    - source_labels: [__address__, __meta_kubernetes_pod_container_port_number]
      action: replace
      regex: ([^:]+)(?::\d+)?;(\d+)
      replacement: $1:$2
      target_label: __address__
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name

Thanks for the ideas. I used them to implement this solution which is working very well:
manifest.yaml
--------------
      containers:
      - name: custom-app1
      ...
      - name: custom-app2
        image: github.com/user/app:latest
        ports:
        - name: more-metrics
          containerPort: 9099

prometheus.yml
---------------
  - job_name: 'custom-app2'

    kubernetes_sd_configs:
    - role: pod

    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_container_port_name]
      action: keep
      regex: more-metrics
    - source_labels: [__address__, __meta_kubernetes_pod_container_port_number]
      action: replace
      regex: ([^:]+)(?::\d+)?;(\d+)
      replacement: $1:$2
      target_label: __address__
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name

Any updates (after 3 years)? Thanks!

Instead of using a new exporter that aggregates all metrics and increases footprint on the cluster, it is better to use a Prometheus Operator as it offers servicemonitor CRD. If we plan to use Prometheus instead of Operator, then a scrape configuration can be adjusted as mentioned by @brian-brazil to use port2, path2, scheme2 annotations and also create corresponding Prometheus Job Configuration.
      annotations:          prometheus.io/scrape: "true"          prometheus.io/port: "9002"          prometheus.io/path: '/test/metrics'          prometheus.io/port2: "8000"          prometheus.io/path2: 'my/metrics'

I believe this has been solved now as part of my proposal in https://github.com/prometheus/prometheus/issues/11556, which ended up in the solution at https://github.com/prometheus/prometheus/pull/11564. (The solution is slightly simplified compared to the proposal, but the solution works to solve the problem stated in this issue I believe.)
Here are two ways to solve this now (caveat: I wrote this fast so apologize for any incorrectness):
Solution 1
# Pod annotations
metadata:
 annotations:            # containername:scheme:port:path:speed
   prometheus.io/scrape_1: "server:https:8585:/metrics:normal"

# Relabel config for Prometheus
- job_name: k8s-pod-1
  scheme: https
  tls_config:
    ca_file: /run/secrets/cacert/cacertbundle.pem
    cert_file: /run/secrets/clicert/clicert.pem
    key_file: /run/secrets/clicert/cliprivkey.pem
    server_name: certified-scrape-target
    insecure_skip_verify: false
  kubernetes_sd_configs:
    - role: pod
      namespaces:
        names:
          - {{ .Release.Namespace }}
  relabel_configs:
    # Extract the wanted target parameters from the annotation
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scrape_1
      action: replace
      target_label: __tmp_containername
      regex: "([^:]+):[^:]+:[^:]+:[^:]+:[^:]+"
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scrape_1
      action: replace
      target_label: __scheme__
      regex: "[^:]+:([^:]+):[^:]+:[^:]+:[^:]+"
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scrape_1
      action: replace
      target_label: __tmp_port
      regex: "[^:]+:[^:]+:([^:]+):[^:]+:[^:]+"
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scrape_1
      action: replace
      target_label: __metrics_path__
      regex: "[^:]+:[^:]+:[^:]+:([^:]+):[^:]+"
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scrape_1
      action: replace
      target_label: __tmp_speed
      regex: "[^:]+:[^:]+:[^:]+:[^:]+:([^:]+)"
    # Keep only targets that match the annotation's 'containername' and 'port'
    - source_labels:
        - __tmp_containername
      target_label: __meta_kubernetes_pod_container_name
      action: keepequal
    - source_labels:
        - __tmp_port
      target_label: __meta_kubernetes_pod_container_port_number
      action: keepequal
    # Set some extra config
    - source_labels:
        - __address__
        - __meta_kubernetes_pod_container_port_number
      action: replace
      regex: ((?:\[.+\])|(?:.+))(?::\d+);(\d+)
      replacement: $1:$2
      target_label: __address__
    # This is EXPERIMENTAL, see docs for __scrape_interval__  and __scrape_timeout__
    - source_labels:
        - __tmp_speed
      action: replace
      regex: normal
      replacement: 15s
      target_label: __scrape_interval__
    - source_labels:
        - __tmp_speed
      action: replace
      regex: normal
      replacement: 15s
      target_label: __scrape_timeout__

Solution 2
# Pod annotations
metadata:
 annotations:
   prometheus.io/scrape_1: "true"
   prometheus.io/container_1: "server"
   prometheus.io/scheme_1: "https"
   prometheus.io/port_1: "8585"
   prometheus.io/path_1: "/metrics"
   prometheus.io/speed_1: "normal"

- job_name: k8s-pod-1
  scheme: https
  tls_config:
    ca_file: /run/secrets/cacert/cacertbundle.pem
    cert_file: /run/secrets/clicert/clicert.pem
    key_file: /run/secrets/clicert/cliprivkey.pem
    server_name: certified-scrape-target
    insecure_skip_verify: false
  kubernetes_sd_configs:
    - role: pod
      namespaces:
        names:
          - {{ .Release.Namespace }}
  relabel_configs:
    # Keep only targets that match the annotations needed to keep a target
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scrape_1
      action: keep
      regex: true
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_container_1
      target_label: __meta_kubernetes_pod_container_name
      action: keepequal
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_port_1
      target_label: __meta_kubernetes_pod_container_port_number
      action: keepequal
    # Set some extra config
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_scheme_1
      action: replace
      target_label: __scheme__
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_path_1
      action: replace
      target_label: __metrics_path__
    - source_labels:
        - __address__
        - __meta_kubernetes_pod_container_port_number
      action: replace
      regex: ((?:\[.+\])|(?:.+))(?::\d+);(\d+)
      replacement: $1:$2
      target_label: __address__
    # This is EXPERIMENTAL, see docs for __scrape_interval__  and __scrape_timeout__
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_speed_1
      action: replace
      regex: normal
      replacement: 15s
      target_label: __scrape_interval__
    - source_labels:
        - __meta_kubernetes_pod_annotation_prometheus_io_speed_1
      action: replace
      regex: normal
      replacement: 15s
      target_label: __scrape_timeout__

Thanks for the fast answer, perhaps i'm saying nonsense but it wouldn't be possible to have an annotation like prometheus.io/ports: "9101,9102" in prural?

Hi Is that a question ??  I am looking for a similar trick for one of my projects. Did it work for you that way ?

@roidelapluie @juliusv I believe this can be closed now as it is fixed in #11564

Please let me know what the solution is : @thernstig

@roidelapluie @juliusv I believe this can be closed now as it is fixed in #11564

Please let me know what the solution is : @thernstig

https://github.com/prometheus/prometheus/issues/3756#issuecomment-1313325130

@RamakrishnaHande this is unfortunately not a support forum so you would have to turn somewhere else to understand how to setup Prometheus in general.

Thanks for the fast answer, perhaps i'm saying nonsense but it wouldn't be possible to have an annotation like prometheus.io/ports: "9101,9102" in prural?

Hello, did you manage to solve this problem ?? Could you please share one such working example

Please correct me if I'm wrong, but I think having some way to compare the value of two (or more) labels should solve this problem.
The approach posted here does seem to work, but it still requires multiple scrape configs (which depends on the maximum number of ports we want to scrape from the same pod). Personally I think this is not ideal as (1) config duplication does not seem like a good practice, and (2) the Kubernetes Pod service discovery already generates one target per container port.
What I'm thinking is that we can set up a Pod annotation like this:
metadata:
  annotations:
    playground.prometheus.io/endpoints: ":8001/-/metrics,:8002/actuator/prometheus"

And then for each target (i.e. container port) discovered by the Pod SD, the relabel configs will have to check whether its port number (from the __meta_kubernetes_pod_container_port_number meta label) is present in the playground.prometheus.io/endpoints annotation.
AFAIK Prometheus does not have any mechanism to compare values of two different labels, so I'm wondering whether supporting template rendering of label values in the regex_template field would be a good alternative. The text/template template in regex_template will be rendered first before compiled to regexp.Regexp.
relabel_configs:
  ...

  # Keep targets where the value of label1 matches the concatenation of label2 and label3
  - action: keep

    source_labels:
      - label1

    regex_template: "{{ .label2 }}{{ .label3 }}"

  # The relabel step above can also be written like this:
  - action: keep

    source_labels:
      - label2
      - label3

    separator: ""

    regex_template: "{{ .label1 }}"

The whole scraping job can be implemented like this:
job_name: "kubernetes"

kubernetes_sd_configs:
  - role: pod

relabel_configs:
  # Keep targets which port number is present on the playground.prometheus.io/endpoints annotation
  - action: keep

    source_labels:
      - __meta_kubernetes_pod_annotation_id_sattvika_prometheus_endpoints

    regex_template: ".*(?::{{ .__meta_kubernetes_pod_container_port_number }}(\\/[^,]+)).*"

  # Rewrite __address__ with the pod's IP and container port
  - action: replace

    source_labels:
      - __meta_kubernetes_pod_ip
      - __meta_kubernetes_pod_container_port_number

    separator: ":"
    regex: "(.+)"

    replacement: $1
    target_label: __address__

  # Rewrite __metrics_path__ with the path specified in the playground.prometheus.io/endpoints
  # annotation
  - action: replace

    source_labels:
      - __meta_kubernetes_pod_annotation_id_sattvika_prometheus_endpoints

    regex_template: ".*(?::{{ .__meta_kubernetes_pod_container_port_number }}(\\/[^,]+)).*"

    replacement: $1
    target_label: __metrics_path__

  # Rewrite instance with the pod's name and the container port we're scraping
  - action: replace

    source_labels:
      - __meta_kubernetes_pod_name
      - __meta_kubernetes_pod_container_port_number

    separator: ":"
    regex: "(.+)"

    replacement: $1
    target_label: instance

I have a very hacky PoC implemented in https://github.com/cermati/prometheus/commit/508db2d6fdf49cde756dd9f26f99cfb608cf408a and with the following Deployment, I managed to scrape some of Pod's exposed ports without using multiple scraping configs:

Deployment YAML
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: testing-app-2
  name: testing-app-2

spec:
  replicas: 2

  selector:
    matchLabels:
      app: testing-app-2

  template:
    metadata:
      annotations:
        playground.prometheus.io/endpoints: ":8001/-/metrics,:8002/actuator/prometheus"

      labels:
        app: testing-app-2

    spec:
      terminationGracePeriodSeconds: 2

      containers:
        - name: testing-container
          image: giantswarm/tiny-tools:3.10

          command:
            - sh
            - -c
            - tail -f /dev/null

          ports:
            - containerPort: 80
              name: http
              protocol: TCP

            - containerPort: 443
              name: https
              protocol: TCP

            - containerPort: 9145
              name: http-metrics
              protocol: TCP

        - name: testing-sidecar-1
          image: giantswarm/tiny-tools:3.10

          command:
            - sh
            - -c
            - tail -f /dev/null

          ports:
            - containerPort: 8001
              name: http-metrics-2
              protocol: TCP

        - name: testing-sidecar-2
          image: giantswarm/tiny-tools:3.10

          command:
            - sh
            - -c
            - tail -f /dev/null

          ports:
            - containerPort: 8002
              name: http-metrics-3
              protocol: TCP

It does look hacky though, esp. if the regex pattern is very complex. But, if the maintainers are fine with this, I'm willing to submit a proper PR for this addition.

Hello from the bug scrub.
This has been simmering for a while. We would like to bring it to some conclusion, but it's hard to make call. We'll bring this up in the dev-summit.

@beorn7 does https://github.com/prometheus/prometheus/issues/3756#issuecomment-1313325130 not solve it?

@thernstig I think you are right. In the bug scrub, we didn't take the time to read carefully through all the comments. Now that I look through the whole thing, it looks indeed is if we could have closed this a while ago. Thank you very much. I'll close this now and remove the dev-summit agenda item, but if anyone believes there is still something to do here, feel free to update this issue.

@dudicoco thanks for your points.
My current understanding of the K8s SD isn't deep enough to make a call here. We could bring this to the dev-summit after all. But maybe @brancz, as the K8s SD maintainer, could you vet @dudicoco's points and advise about reasonable next steps?
I could se various outcomes:

Those points aren't that relevant in practice and the situation is good enough.
There are some feasible work-arounds for those points.
We should actually do something about it. But what?

I appreciate the goal to reduce the number of scrape jobs and the load on the Prometheus Server.
I've one use case and a few ideas for a standard k8s-based scraping use case. It is tricky to limit the number of scrape jobs if each metrics web server (or Prometheus Target) has its own design choices.

Not all users use Prometheus Operator which enables the creation of microservice-specific scrape job(s) automatically.
Using Service Mesh Istio/LinkerD integration can enable aggregated metrics collection. But not all users rely on Service Mesh.
Having common scrape jobs to scrape all the targets in a k8s namespace or across the cluster is still usable for the standard users
- More than one metrics port in a Pod (1 or more containers) is becoming more common in the real world.
- Expectations on metrics web servers in a Pod vary based on the service design & usage scenarios
* A web server from container-1 in a Pod is expected to be scraped for every 15s over cleartext with a scrape timeout of 10s on /v1/metrics endpoint of port 8089
* A web server from container-2 in a Pod is expected to be scraped for every 1m over TLS with a scrape timeout of 15s on /metrics endpoint of port 9099
* Per each set of port, path, TLS choice, and scrape interval settings a separate scrape job is needed today

My idea is to use a common scrape job for each metrics web server in the Pod and let the microservice declare its scrape choice using annotations.
For example, a service can be declared below:
prometheus.io/scrape_interval_1: '15s'
prometheus.io/scrape_timeout_1: '10s'
prometheus.io/scheme_1: 'http'
prometheus.io/port_1: 8089
prometheus.io/path_1: "/v1/metrics"
prometheus.io/scrape_interval_2: '1m'
prometheus.io/scrape_timeout_2: '15s'
prometheus.io/scheme_2: 'https'
prometheus.io/port_2: 8089
prometheus.io/path_2: "/metrics"
The list of annotations would expand linearly based on the number of metrics web servers in the Pod.
One problem with this approach is the scrape_interval is currently statically defined in the job configuration. If scrape_interval can be configured using annotations at the relabeling phase, it can be seen as a great benefit while reducing the number of scrape jobs.
Is there any chance to expand the usage of experimental labels "scrape_interval & scrape_timeout"
How frequently to scrape targets from this job.
[ scrape_interval:  | default = <global_config.scrape_interval> ]
For the port naming topic, based on k8s port naming convention it can be - => http-metrics or https-metrics. The port names have a limited no of characters in k8s.
In the case of a Pod with 3 metrics web servers:
containers:
- name: container-1
ports:
- name: http-metrics1
containerPort: 7777
protocol: TCP
...
- name: container-2
ports:
- name: http-metrics2
containerPort: 8989
protocol: TCP
...
- name: container-3
ports:
- name: http-metrics3
containerPort: 8976
protocol: TCP
In the above case, the maximum number of metrics web servers in a Pod could be 9 (based on max allowed character length by k8s). Does anyone have a way to scale this better?
Please let me know if there is a possibility to discuss this idea in the dev summit or the normal sync call.

I don't really think any of this is really about the Kubernetes service discovery, and as a side note, they were all solved in the Prometheus Operator.

Both solutions still require multiple scrape jobs, one per port, as mentioned by @putrasattvika. This means that if I create two jobs and in one week someone needs to scrape 3 ports I will need to duplicate the job again.

This one I think I have the least good answer, I think only automation like the Prometheus Operator can help here.

Each job creates another watch on the k8s API server, which could add a higher load on it. As mentioned by @matthiasr.

This is not actually a problem (it might have been in 2018 when Matthias wrote the comment but it definitely is no longer). It's more of a general service discovery thing, but if everything except the relabel configs are identical then service discovery doesn't actually start another instance of the service discovery, so no new list/watch would be started in this case. This is exactly how the prometheus-operator also does it, and why it works.

How do you deal with duplicate metric names between two ports? Also mentioned in the comments of this issue.

I would recommend always attaching the name and/or number of the port. You're probably tired of me saying this, but that's exactly what the Prometheus Operator does :)

I much rather create multiple Services for the same deployment if there are multiple metrics ports and use annotation relabels on those services. To me that is cleaner. The other relabeling tricks are complex to understand imo.
or Operator, of course 😇.

That also works!

Thanks for all your feedback.
I take it as "the situation is good enough". I will remove the item from the dev-summit agenda list. Happy to re-add if further discussion here gives reasons to do so.

How do you deal with duplicate metric names between two ports? Also mentioned in the comments of this issue.

I would recommend always attaching the name and/or number of the port. You're probably tired of me saying this, but that's exactly what the Prometheus Operator does :)

@brancz what do you mean by "attaching"? Do you mean adding a label with the port name/number?
I appreciate that the Prometheus Operator does these things, but it is not a solution to the problems presented here, as not everyone chooses to use the operator so some solutions should be possible with vanilla Prometheus rather than referring to another tool.

I think what @brancz is trying to say is not that everyone should use the Prometheus Operator, but that a vanilla Prometheus user should use the same approach as the Prometheus Operator does


Upgrade/800/sas logical interconnect groups

Description
Upgraded SAS Logical Interconnect Groups resource to support OneView API version 800
Check List

[x] New functionality includes testing.

[x] All tests pass for Python 2.7+ & 3.4+($ tox).

[ ] New functionality has been documented in the README if applicable.

[x] New functionality has been thoroughly documented in the examples (please include helpful comments).
[x] New endpoints supported are updated in the endpoints-support.md file.

[x] Changes are documented in the CHANGELOG.

query param for /rest/sas-logical-interconnect-groups API is mentioned in the spec. Please check the OneView UI as well.

As I mentioned earlier, when we upgrade SDK from one version to another we only look for the changes in the new version, so there will be chances of missing these kinds of minor things.

query param for /rest/sas-logical-interconnect-groups API is mentioned in the spec. Please check the OneView UI as well.

Added query param, please have a look.


[Question] - Is it possible to limit watch() method for listenining only for inserts / deletes but not for updates?

Hi there,
Here is my case:
I have a list of activities for each plant. Hence I defined these two DAO methods:
  Stream<List<ScheduledActivity>> watchActivitiesByPlant(int plantId) =>
      (select(scheduledActivities)..where((sa) => sa.plantId.equals(plantId)))
          .watch();
  Future<List<ScheduledActivity>> getActivitiesByPlant(int plantId) =>
      (select(scheduledActivities)..where((sa) => sa.plantId.equals(plantId)))
          .get();

If I use watchActivitiesByPlant along with a StreamBuilder it triggers each time any row from the select changes. However, I would like to add more granular control.
I would like watchActivitiesByPlant to triggers only when a row is inserted/deleted from the select.
Is that possible and if it is, how can I achieve it?

I would like watchActivitiesByPlant to triggers only when a row is inserted/deleted from the select.

You can use notifyUpdates to get notified for more slightly more granular updates. In this case, this could look like
Stream<List<ScheduledActivity>> watchActivitiesByPlan(int plantId) {
  final query = select(scheduledActivities)..where(...);
  final updateFilter = {
    TableUpdate.onTable(scheduledActivities, kind: UpdateKind.delete),
    TableUpdate.onTable(scheduledActivities, kind: UpdateKind.insert),
  };

  return notifyUpdates(updateFilter).asyncMap(query.get);
}

That api is primarily used by generated code to support propagating updates caused by triggers or cascading foreign key constraints. So it's a bit cumbersome to use manually, but it should work well for this use case.

Thanks for the prompt response, @simolus3!


Scala Hadoop Enrich: remove dependency on Thrift Raw Event

The SnowplowRawEvent class is never used, so it doesn't need to be a dependency.

Actually we will now have a test dependency on SnowplowRawEvent and CollectorPayload due to #669. I'm renaming the ticket accordingly...

Makes sense, thanks Fred...


Is it necessary to transport protobuffs as 'binary'

Hi,
I'm thinking about a solution where we can use only stan to use both features of NATS-Streaming. (request/reply, pub/sub) because NATS-streaming server based on gnats. It would be useful if we could make the transport encoding agnostic.

A few clarifications here:
nats-streaming is encoding agnostic. Unlike plain nats, nats-streaming exchanges protobuf messages between the streaming server and the client (always). The application payload is stored in the protobuf message. You can get it as binary bytes using Message#getRawData()
One simplification I need to do is switch to the preseveBuffers option and see how it works. It will eliminate some encoding/decoding. With that said, encoding needs to be binary because that is what is exchanged - always.
Also note that nats streaming doesn't support request/reply. Streaming is about receiving messages that other clients published and were stored by the streaming server. There's no request interaction.

@aricart but I can use the underlying nc nats driver to use all methods like request/reply, publish in none streaming context ?

Yes you can. I rather you didn't. :)

Ok thats why I want to use one connection to cover both cases :)

::thumbsup::


FFTSubbandsSize cannot be set higher than 512 or beat detection fails

If FFTSubbandsSize is set higher than 512, beat detection fails every frame.

This is because of the buffer size you are probably getting from OnGeneratePCMData. I assume you have two channels (so the PCM data size is 1024 each generation), and therefore your sample size is 512.

So, the FFTSubbandSize shouldn't allow being set higher than the possible sample size, or should set itself accordingly upon receiving the first frame where it's set higher than could be useful?

First is right, the FFTSubbandSize shouldn't allow being set higher than the possible sample size.
The second one may also be true, but this does not follow directly from the algorithm, so need to test this approach to be sure.


Include summary of baselined issues in report(s)

Expected Behavior
I can see the issues that detekt would have reported if they weren't included in a baseline.
Another option might be to display a count of skipped/baselined issues so there's some visibility, e.g. "Report skipped 86 baselined issue(s)"
Current Behavior
Baselined issues are silently unreported in all cases.
Context
From https://github.com/detekt/detekt/issues/5563#issuecomment-1326235897:

We want all the issues to be visible in regular reports, so they annoy developers, and they get "forced" to fix them.

Related with #5607. Could it even be merged?

Apologies, I missed that - this feature wouldn't necessarily be limited to the HTML report only, even though that's likely the only one that would include it. But it makes sense to use your linked issue for tracking.


use gbase64 on macos

I'm using string substitution instead of bash alias because the command in echo "$(command...)" is executed inside another bash instance I guess, at least alias is not working in that echo statement.
also remove some weird characters
fix https://github.com/bokub/git-history-editor/issues/11

since gbase64 is not installed by default on macos, I check it and use the default non-GNU base64 but without -w argument if so.


Vyper Language Spec is out of date - Fixed it!

Hi!
Vyper has a lot of new functions and features that I was missing in the extension.
I fixed the script fetch_vyper_language_spec.py that generates the vyper.tmLanguage.json.
Some keyword lists got relocated within the module, others disappeared and I decided to hard code them into the python script.
Is there a branch that I can push the changes to?
Thank you!

sorry I meant pull request.


Update MD AV Signature and Platform Version.md

Product update version (Platform update version) is now available, so updated the query accordingly.

I will ask reviewer to check, so I will close this request now.


BBC Radio has stopped working in Alexa Media player.

Until today (20221005) I have been able to use:
service: media_player.play_media
data:
media_content_id: play BBC Radio 4
media_content_type: custom
target:
entity_id:
- media_player.echo_dot
This no longer works although other non-BBC stations I have tried still seem ok.

I also noticed, that it's not working to play radio with a custom command.
I'm using this custom command and Alexa only answers "I'm not sure"
data:
  media_content_id: Spiel NDR 2 auf Wohnung
  media_content_type: custom
service: media_player.play_media
entity_id: media_player.wohnzimmer

No template.

What has been completed? Why is it Closed? It still does not work any longer for me even with lower case as suggested.

Doesn't work for me.  Alexa just responds BBC does not support playing type music.
Something is wrong.


Dockhub search doesn't show hana express  containers

https://developers.sap.com/tutorials/hxe-ua-install-using-docker.html
Searching for SAP HANA, express edition doesn't show the right containers

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


feat(FullPageError): create new FullPageError component

Create new FullPageError component
Contributes to #4075
created a new FillPageError component as per the specs
What did you change?
files changed

packages/ibm-products/src/components/FullPageError/FullPageError.js
packages/ibm-products/src/components/FullPageError/FullPageError.mdx
packages/ibm-products/src/components/FullPageError/_storybook-styles.scss
packages/ibm-products/src/components/FullPageError/FullPageError.stories.js
packages/ibm-products/src/components/FullPageError/FullPageError.test.js
packages/ibm-products/src/components/FullPageError/components/UiShell.js
packages/ibm-products/src/components/FullPageError/components/Breadcrumbs.js
packages/ibm-products/src/components/FullPageError/assets/ErrorGenericSVG.js
packages/ibm-products-styles/src/components/FullPageError/_full-page-error.scss
packages/core/story-structure.js
along with new files generated from below commands

yarn generate ComponentName
yarn test:c4p:snapshot
yarn update-gallery-config
How did you test and verify your work?
IBM Equal Access Accessibility Checker
Written test cases for props used, as described in specs
From storybook.

@devadula-nandan Review is finished although had a few questions for @matthewgallo and @davidmenendez to probably chime in on. I think we should rename the components subfolder ... most likely to preview-components since that‘s what we typically use.

@all-contributors add @devadula-nandan for code


refactor dubbo decode.

Issues associated with this PR
Your PR should present related issues you want to solve.
Solutions
You should show your solutions about the issues in your PR, including the overall solutions, details and the changes. At this time, Chinese is allowed to describe these.
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases. And you need to show the UT result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
Code Style

Make sure Goimports has run
Show Golint result

Codecov Report

Merging #1166 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1166      +/-   ##
==========================================
+ Coverage   56.13%   56.15%   +0.02%
==========================================
  Files         268      268
  Lines       25540    25540
==========================================
+ Hits        14337    14343       +6
+ Misses       9825     9822       -3
+ Partials     1378     1375       -3

Impacted Files
Coverage Δ

pkg/module/http2/server.go
81.55% <0.00%> (+0.14%)
:arrow_up:

pkg/stream/stream.go
60.00% <0.00%> (+13.33%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 075713c...ddf9a25. Read the comment docs.

LGTM


Actively using HomeBridge? I would love your input!

Hello,
I am currently running Lowes Iris home automation and am planning to get rid of it.
I have a working version of Homebridge up and running.
I am planning to purchase a Nest thermostat and Chamberlain garage door opener since there are HomeBridge plugins available.
I really would like to not go back to depending on another hub to interface with HomeBridge. I would prefer to piece meal it if I can but I am not sure that It makes sense.
My question is, what hubs are you all using to interface with HomeBridge that you are happy with? e.g. SmartThings and the like. I would like to get door sensors, glass break sensors and door locks and an alarm but would like input on what you all have as set ups before making any purchases.
Thank you all!

RPi 3 with Home Assistant and a Aeotec Z-wave USB stick. I didn't want to use ST because I don't want to have to depend on their cloud for all of my sensors to work.

Excellent! I too do not want to rely solely on a cloud based system any longer. Thanks for your input.


No pending funding transaction found!

I just opened a new JIT channel on mainnet and did not pay JIT channel opening fees, because the transaction could not be found upon the channel ready event.
The following error happened when trying to register the funding transaction to get payed.
Failed to fetch transaction: 5430bccdf192cf1df8475e9d72bb6403cd8d714e2fad064fcdc6795bffb7c44a from esplora. Error: reqwest::Error { kind: Decode, source: Error("expected value", line: 1, column: 1) }

This results in no funding transaction getting registered and thus when trying to pay for it, it fails because we do not know how much fees we have to pay.

I think @luckysori suggestion to generally setup an async task that is regularly checking if fees have to be paid may be the less failure prune approach here.

Maybe as well fixed, when running our own esplora instance.

I assume the problem was that we checked too fast for the transaction. It was eventually confirmed.
https://mempool.space/tx/5430bccdf192cf1df8475e9d72bb6403cd8d714e2fad064fcdc6795bffb7c44a
I wonder if we should bother with this or try to build out the proper LSP flow https://github.com/get10101/10101/issues/843?

Unasigning myself again. I believe this requires a different fix than just using our self-hosted esplora instance.
I propose to

make the fetching more robust, i.e. retry
look into if we can use the LSP flow from #843

I assume the problem was that we checked too fast for the transaction. It was eventually confirmed.

The broadcast should have happened over the same explora endpoint and it was definitely broadcasted before we make the query. Why do you think that we checked too fast? Shouldn't we also be able to fetch unconfirmed transactions?

My guess is that we run into a 429 too many requests error.

I don't think so, we would have seen this in the log as shown here: https://github.com/get10101/10101/issues/658#issue-1717224782

I don't think so, we would have seen this in the log as shown here: https://github.com/get10101/10101/issues/658#issue-1717224782

I don't think so look at the error
Error: reqwest::Error { kind: Decode, source: Error("expected value", line: 1, column: 1) }
The response couldn't be parsed. We do not check if the http request was actually successful. My guess is that if we would check that we would have seen a 429 error.

Error: reqwest::Error { kind: Decode, source: Error("expected value", line: 1, column: 1) }

Well, I guess we won't be able to determine who is right or wrong because in both cases a response is returned which cannot be parsed into JSON.
In case of 429  we get:
\r\n<title>429 Too Many Requests</title>\r\n\r\n
429 Too Many Requests
\r\n
nginx\r\n\r\n\r\n

in case of 404 (tx not found), we get
Transaction not found

So let's just hope this was fixed in https://github.com/get10101/10101/pull/1236 or when using our own esplora instance :)
p.s. I wrote a little client and bombarded them with requests... now I believe they blacklisted me forever 😅
Caused by:
    0: error trying to connect: dns error: failed to lookup address information: nodename nor servname provided, or not known
    1: dns error: failed to lookup address information: nodename nor servname provided, or not known
    2: failed to lookup address information: nodename nor servname provided, or not known


Host shakespeare data somewhere ouselves

ShakeSpeare related code will be deleted in https://github.com/ZidongLiu/DeComFL/pull/73


Feat: Route reference for file manager to create a new empty file

https://github.com/MCSManager/UI/pull/82#issue-1466173719

Thank you for your contribution.


Update identity to enable live testing in sovereign clouds for multiple services

These changes contain fixes for the identity to be able to run live tests against AzureUsGovernment and AzureChina clouds.  The sovereign cloud live tests will be green with the changes.
@benbp @danieljurek @jongio

...looks like I never submitted my review last month, apologies.

/azp run net - identity - tests

@benbp Any other questions? If not, please merge it.

@Luyunmt according to @pakrym at https://github.com/Azure/azure-sdk-for-net/pull/19203#discussion_r609788283 you need to NOT use TestEnvironment.KeyvaultScope at https://github.com/Azure/azure-sdk-for-net/pull/19203/files/577644a8c4da0b8bdccdfbebe34eb8be6701d41f#diff-4e504a2315da6f52a5aacf83dd8b3bb8777656af7544a3d45e4ffd050c5cd759R205. Since it's not a live test, we don't need to make the values dynamic for different clouds.

@benbp Yes , it's not a live test. l have removed TestEnvironment.KeyvaultScope .

/azp run net - identity - tests-weekly

/azp run net - identity - tests-weekly

@Luyunmt The latest build I kicked off is having test failures/auth related issues across every test. Do you know what the issue is here?

@benbp Sorry, l couldn't reproduce this error locally, and tests all passed in net - identity - ci. The error message was The password is expired. Maybe the password needs to be updated?

@zedy-wj these changes are to get the live tests/tests-weekly builds working for sovereign clouds, so I consider that the build that needs to pass. I don't think much of this code is actually called by the tests in the ci pipeline.
It seems the build from commit 1ef7fe670e4b8b70014f9a18b3b622bfc3705b28 did pass, but the build from 0fbab64ede348fe46bafe74dc2cd3b9dda316b79 didn't. I'm not sure if this is due to the change, or a transient issue.

/azp run net - identity - tests-weekly

@benbp lt looks like a transient issue, because the master branch appears the same error.

@zedy-wj I need a passing tests-weekly build to merge this. I don't think this issue is transient. It seems like the call to login is using interactive auth?
  Passed AuthenticateWithCliCredential_ExceptionScenarios("Azure CLI authentication failed due to an unknown error. ERROR: Get Token request returned http error: 400 and server response: {\"error\":\"invalid_grant\",\"error_description\":\"AADSTS70008: The provided authorization code or refresh token has expired due to inactivity. Send a new interactive authorization request for this user and resource.","Azure CLI could not login. Interactive login is required.",Azure.Identity.CredentialUnavailableException) [1 ms]

/azp run net - identity - tests-weekly

I'm still seeing the Microsoft.Identity.Client.MsalUiRequiredException : AADSTS50055: The password is expired. error in the tests. Not sure whether this is a core test issue or related to the sovereign cloud changes.

@benbp It looks good, I think you can have a passing tests-weekly build now. If there are no other problems, please merge it.

/azp run net - identity - tests-weekly

@benbp - Next steps on this one?

@jongio looks like tests-weekly is passing now. Merging. Thanks everybody!


Implement support for input lists in graph_op, deabstraction and graph lowering

Implement support for input lists in graph_op, deabstraction and graph lowering

@swift-ci please test tensorflow


[BUG] BlobStorage SDK:The download method is unstable and the process is not friendly

Describe the bug

When downloading, the file size is 0, and the actual size is displayed when the download is complete.
When the network is poor, downloading files larger than 100M will become 0 at 100M, and download again.

Expected behavior

It is hoped that the actual download size can be displayed when downloading.
Hope there is a parallel download method to download large files in Blob.Including md5 checksum. I found the deprecated package WindowsAzure.Storage has DownloadRangeToByteArrayAsync method, is there same method in Azure.Storage.Blobs?

To Reproduce
Steps to reproduce the behavior

Generate SAS Url from a blob container： https://<REDACTED>.blob.core.windows.net/downdemo/100M.pdf?sp=r&st=2021-11-13T08:01:05Z&se=2022-01-28T16:01:05Z&spr=https&sv=2020-08-04&sr=b&sig=<REDACTED>
Use the code download:

 BlobClient blobClient = new BlobClient(new Uri(Url));
 blobClient.DownloadTo(@"D:\0\00.pdf");

Environment:

Name and version of the Library package used: Azure.Storage.Blobs <IP_ADDRESS>
Hosting platform or OS and .NET runtime version : Win10 + NetCore 3.1
IDE and version : VS 2019

Sorry I'm a little confused on what the bug or issue is, and what the expectation is (this looks like many issues all in one issue)

When downloading, the file size is 0, and the actual size is displayed when the download is complete.
 It might be downloading it in one request, so it is expected that the download starts at 0 then completes to the actual blob size because the block size might be bigger or equal to the size of the file. We only update the file size as the each request comes back successful.

When the network is poor, downloading files larger than 100M will become 0 at 100M, and download again.
Are you saying that the download resets randomly when the network is poor? I'm confused. This seems like a separate issue than the first one

It is hoped that the actual download size can be displayed when downloading.
Looks like you're looking for progress tracking feature for download which we have an issue submitted for already
https://github.com/Azure/azure-sdk-for-net/issues/8506

Hope there is a parallel download method to download large files in Blob.Including md5 checksum. I found the deprecated package WindowsAzure.Storage has DownloadRangeToByteArrayAsync method, is there same method in Azure.Storage.Blobs?
The download method is parallel, pass the StorageTransferOptions object (can also be found in the BlobDownloadToOptions object).
As for the Content MD5 information please look to our migration guide.
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs/AzureStorageNetMigrationV12.md#content-hashes

@amnguye  Thank you .
This download file size is 102M . Sorry ,I found the downloaded size become 0 is because of the servicebus retry .
I will read and test the document you provided today. Thanks again for your work.

Hi @amnguye , Is there have the block bytes download method?
I want use threads download and split the file different block bytes .

Hi @Fisher-Joe,
You can get the blocklist (https://docs.microsoft.com/en-us/dotnet/api/azure.storage.blobs.specialized.blockblobclient.getblocklist?view=azure-dotnet)
And then use the offsets to download the data in parallel threads. @amnguye if we have an existing sample can you please link it here.


Debug log consume message

Proposed Changes

🧽  Log (in debug mode) the response from DispatchMessageWithRetries() in the consumeMessage() call

Seeing the response from a dispatched message can be extremely useful, especially if the target URL doesn't have easily accessible logs.  Sample log output from this PR's code (omitting the surrounding JSON):
Ordinary 200 response, no response body:
Dispatching event
Response is a non event, discarding it
Dispatcher Response: 200 (20.6957ms)

500 response (target pod down), descriptive response body:
Dispatching event
Dispatcher Response: 500 (15.0306917s): dispatch error: Post "http://my-service.my-namespace.svc.cluster.local/": dial tcp <IP_ADDRESS>:80: connect: connection refused

Ordinary 400 response, no response body:
Dispatching event
Dispatcher Response: 400 (8.6064ms)

/ok-to-test


Add remaining plug type icons

remaining ones supported by GoingElectric and not EVMap:

[x] Type 1
[ ] Type 3a
[ ] Swiss household plugs

remaining ones supported by OpenChargeMap and not EVMap:

[x] CCS Type 1
[ ] Tesla North American plug (NACS)
...

You mean the one on old (V1/V2) Superchargers in Europe? We do have that:

For AC charging, Model S/X have always used the Type 2 standard in Europe, so the plugs (e.g. on Tesla Destination chargers) should also be mapped as such. Destination chargers can be restricted to only Tesla vehicles, but that is just a software setting.
In North America, Tesla vehicles (also Model 3/Y) do have a different plug (now called NACS), and that one is still missing in EVMap, yes.

on which charger are you missing them and for which data source? Maybe they have a different plug type assigned at the source...


SNOW-1282219: Disable flaky aws test

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes #1282219

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.

This PR disables a udtf test that is flaky in AWS environments until we can stabilize it. This will unblock merge gates for other PRs.

Closing for now as it appears the problem was transitory.


Ignore @RequestMapping related beans with functional web apps

After a dedicated discussion with Spring Framework team about enabling or not functional only web configuration, it seems it is not going to happen in Spring Framework 5.3 timeframe, it raises too much open questions and seems a better fit for Spring Framework 6.
So my proposal is to perform a build-time analysis of the application and ignore beans like RequestMappingHandlerMapping and other annotation based ones when no @Controller and @RequestMapping are found, and when actuators are not used.
Notice the actuator efficiency will be explored and discussed as part of https://github.com/spring-projects-experimental/spring-graalvm-native/issues/259. I think there is also a point related to Boot error handling potentially.
It should allow removal of explicit configurations without a footprint regression in our GraalVM native support. This would also remove our last blocking point on https://github.com/spring-projects-experimental/spring-fu/issues/273.

This is implemented (for now) as a flag spring.native.remove-request-mapping-support (see c9225a155). The func and tunc samples still have selected autoconfigs, but none of them is customized now, and they would work with @SpringBootApplication if anyone needed that.


Upgrade docs for v1.12

This is the best-effort upgrade doc for kubeadm clusters currently on v1.11.
Some commands (like everything related to apt-get or rpm) are not testable until the final release comes out.
This should be part of the v1.12.0 documentation, I couldn't tell whether to address this PR to master or release-v1.12.

/cc @Bradamant3

/hold
/assign @Bradamant3

This should go out with the initial v1.12 release.

@kubernetes/sig-cluster-lifecycle-pr-reviews

To other reviewers: I suggested that Liz push this PR against master and we'll merge immediately after the 1.12 release. It occurs to me that we'll need to rebase at that point anyway, but the timing will be fine.

/hold cancel

/hold
This PR is against master. See comment ^^. We can't merge yet.

@Bradamant3 - at this stage I'm totally ok if it merged.  I'd rather be early than late.

Why not just rebase it on release-1.12 and it will get into master with 1.12? cc @zparnold

/lgtm
/approve

/hold cancel


Halliburton - The number of jobs posted on scrapers.peviitor.ro (10) have wrong locality

ENVIROMENT: production
URL: https://scrapers.peviitor.ro/
Browser: Chrome
Device: laptop
OS: Windows 11
STEPS TO REPRODUCE:

Open URL "https://scrapers.peviitor.ro/" in browser
Type "halliburton" in the search bar
Click on the Halliburton folder
Click on the "Run Scraper" button
See that the 10 jobs listed on https://scrapers.peviitor.ro/src/halliburton/index.html have the wrong locality
Click on the "Halliburton Careers" button to open the Halliburton website with the listed jobs (https://jobs.halliburton.com/search/?createNewAlert=false&q=&locationsearch=romania)
See that there are no job for Romania

EXPECTED RESULTS:
The number of job listings displayed on scrapers.peviitor.ro should match the number of job listings available on the Halliburton website
ACTUAL RESULTS:
The number of job listings on scrapers.peviitor.ro after pressing Run Careers button differs from the number of job listings available on the Halliburton  website for Romania.

Fixed!

I retested and it's ok


Maybe it has some bugs, I will consider again.

I'm interested in this, looking forward to it!

I'm interested in this, looking forward to it!

@rodrigoalcarazdelaosa  I made this modify, but the CSS layout will not reload that makes card text and feature image overlap. Let me consider it.


Need a standard text for competitive use!

That would be great! Any suggestions?

The LICENSE file or rms' rant:

I’d just like to interject for a moment. What you’re refering to as Linux, is in fact, GNU/LInux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.

There is now a "standard text" in the sense that running with no arguments will produce a fixed length of roughly fixed difficulty nonsense, so I'm closing this 🙂


add Renoise to nixpkgs

cc @MagneticDuck cannot test this because I don't have the binaries

@lethalman you can test the derivation with demo = true, which should download the publicly available version from the Renoise site.

Ok works for me thanks.

ahaha we made it finally ;)

to be honest, even though its mostly a past-time of mine, this program was one of the top-priorities when I switched back to NixOS recently :)

@MagneticDuck thanks for pinging me on IRC as well. didn't see it until only today tho


can we use this to have communication between substrate chain and cosmos  chains

i have to implement ibc on substrate based chain  to interact with cosmos chains .can i implement this as pallet and use this to communicate with cosmos based chains or can please provide me clarity of how to use it make communication between them

i have to implement ibc on substrate based chain to interact with cosmos chains .can i implement this as pallet and use this to communicate with cosmos based chains or can please provide me clarity of how to use it make communication between them

Hey, how were you able to do it?


[Machine Learning] AutoML with TPOT

Proposed title of article
[Machine Learning] AutoML with TPOT
Proposed article introduction
Automated machine learning (AutoML) is the process of automating the tasks of applying machine learning to real-world problems. AutoML covers the complete pipeline from the raw dataset to the deployable machine learning model. A pipeline is a way to codify and automate the workflow it takes to produce a machine learning model. Machine learning pipelines consist of multiple sequential steps that do everything from data extraction and preprocessing to model training and deployment.
It automates the process of applying machine learning end-to-end additionally offers the advantages of producing simpler solutions, faster creation of those solutions, and models that often outperform hand-designed models furthermore, automated Machine Learning provides methods and processes to make Machine Learning available for non-Machine Learning experts, to improve the efficiency of Machine Learning, and accelerate research on Machine Learning. It does this by automating the selection, composition, and parameterization of machine learning models.
In this tutorial, we shall use the Tree-based Pipeline Optimization Tool (TPOT). TPOT as the AutoML library.  TPOT is a python library that uses genetic programming behind the scenes to generate an optimized ML pipeline. It's an unbeatable asset and is a real bargain if you want to get a classification accuracy that is very competitive.
It uses the concept of natural selection, survival of the fittest, and mutation to find the best machine learning model and the required parameters to produce the best result.
TPOT will enable us to automate some of the stages of the ML life cycle such as feature engineering, model building.
TPOT utilizes these 3 concepts:

Selection: selecting the best
Crossover: crossbreed the selected best over and over to get the best of the best
Mutation: mutate the best to become even better.

Key takeaways

What is Automl.
Discuss various packages for AutoML.(Before now focusing on  TPOT)
Data Preparation.
Installing TPOT.
Using three concepts of TPOT in building our model, Selection, crossover, and mutation.
Implementing machine learning pipelines to automate feature engineering and model building.

Article quality
This tutorial is unique since it uses two approaches in building the machine learning model. First, we build a model following the long process of machine learning. We follow all the stages from the dataset preparation to model building and testing so that a user can easily follow.
The second approach we now use TPOT to build our model. TPOT will be used to automate all the processes and make our work easier.
We now compare the two approaches so that we can see the real benefit of AUTOML. By the end of the tutorial, one should easily know how to use both approaches to build the model. This is a practical guide that can be followed easily.
In this tutorial, we shall also briefly discuss the other AutoML packages before focusing on TPOT.
References
Please list links to any published content/research that you intend to use to support/guide this article.
Conclusion
Finally, remove the Pre-Submission advice section and all our blockquoted notes as you fill in the form before you submit.
We look forwarding to reviewing your topic suggestion.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

This topic returns an 80% plagiarism score which indicates its already saturated. Feel free to suggest another topic. Thanks


NER examples note book

is it possible to provide a NER example notebook

Yes, adding NER to ktrain is planned for a future release.

Thank you for your response, looking forward to it.
Thanks,
Sathish G.
On Tue, Aug 20, 2019, 8:25 PM Arun S. Maiya<EMAIL_ADDRESS>wrote:

Yes, adding NER to ktrain is planned for a future release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/amaiya/ktrain/issues/4?email_source=notifications&email_token=ABZASS4BTACRZQYEMXE2RP3QFQAVLA5CNFSM4INQFKY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4WSN7A#issuecomment-523052796,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZASS37ULNV2C3B7VJNDRDQFQAVLANCNFSM4INQFKYQ
.

ktrain v0.3.0 includes support for NER with a Bidirectional LSTM-CRF model.   Currently, it supports both randomly initialized embeddings and pretrained word2vec embeddings.
Contextual/dynamic word embeddings like BERT/ELMO will be coming soon.

ktrain v0.3.0 includes support for NER with a Bidirectional LSTM-CRF model. Currently, it supports both randomly initialized embeddings and pretrained word2vec embeddings.
Contextual/dynamic word embeddings like BERT/ELMO will be coming soon.

Thank you

Hi,
Will it be possible to use DistilBERT for NER with ktrain?  Any example notebook is available?

Update
Hi, I think got it. I was going through the notebook which explains what I wanted.
https://github.com/amaiya/ktrain/blob/master/examples/text/CoNLL2002_Dutch-BiLSTM.ipynb


Implement slot attribute type.

v2.1.5
ERROR in ./src/app.tsx
(53,25): error TS2339: Property 'slot' does not exist on type 'HTMLProps<HTMLHeadingElement>'.

All browsers support this property now.
Not much more detail is needed for this issue.

Or is that a React type problem?

Hi @trusktr....this issue is from @type/react we will have to add that attributes into the .d.ts file of react. I will close the issue...Here is the one in .d.ts repo .


Fix Ruby's translate text with Google docs

This commit fixes copy issues:

Some places where it should read Ruby and instead was Python
An incorrect path
A place where it should read with and instead was without
There was a warning pointing to replace a value that was set with another name

Thank you so much for the PR 🤩. We're adding the hacktoberfest-accepted label to ensure this PR counts towards your Hacktoberfest contributions count. With that said, please stay active on this PR to address any comments once you receive a review. Happy Hacktoberfest! 🎃

For reference, some other PRs modifying related files include:

https://github.com/open-runtimes/examples/pull/81

THANK YOU! All changes merged 🥳
Please reach out to me on our Discord server if you would like to claim your Appwrite swags! As a way of saying thank you, we would also love to invite you to join the Appwrite organization on GitHub. Please share your GitHub username with us on Discord.
You can accept the invite by visiting https://github.com/orgs/appwrite/invitation. By joining our team, you will officially be an Appwrite maintainer on GitHub.
You can change your membership visibility settings, so your new Appwrite team membership badge will show up on your personal GitHub profile.
Please feel free to look for more PRs you might be interested in helping with on our long list of Hacktoberfest friendly issues and help make Appwrite better :)


CI fix: use features arg for stable and nightly build

I stumbled across the issue that the nightly and stable builds in CICD.yml where not properly providing the "--features" arg. I think it was probably an issue with copy-paste, as the code on a different place in the yml works.

After change:

Good catch, thanks!


several official badges provided by their vendors have style problems

It looks like AppVeyor and Gitter changed their official badges to be flat-squared and no longer in the flat design with rounded edges, our default design.
The official Greenkeeper badge is also squared (but the design is off!).
Does anyone knows why? Should we adopt if there is a movement starting...?
Examples:

 (from https://www.appveyor.com/docs/status-badges)
 (from http://blog.gitter.im/2014/01/27/badgers, but svg version!)

The examples you posted are still showing as flat style for me, I personally prefer the flat-square style myself but I feel the flat style should probably stay as the default for now.

We created the flat and flat squared styles roughly at the same time. Back then (2014 IIRC), I ran a month-long popularity contest to determine which to use by default, and the flat style won. I kept the squared style because there was still significant use.
I don't recommend changing the default style, since it would change the way badges look for a large number of users, which may dissatisfy them.

The examples you posted are still showing as flat style for me

For me they don't anymore (on Windows 10 with Firefox 57):

Funny, they display normal on Chromium... all other badges I see around didn't change though.
Another "broken" example is the official codecov badge:

I don't recommend changing the default style

Sure, nobody wants to change it out of randomness.
I just wanted to raise awareness and start a discussion about it, because I realized the mentioned change for some big + popular services.
But it seems to be a specific handling in Firefox. Any idea what could cause this?

Don't think its a firefox thing. Here's a screen grab from Firefox on Ubuntu:

Looks like they are using an outdated badge template, as the corners aren't rounded properly on iOS.
Will upload an image soon.

Looks like they are using an outdated badge template, as the corners aren't rounded properly on iOS.
This was fixed in #352
GreenKeeper:

shields.io:

Ooh, good catch.
Would someone like to reach out to Greenkeeper and Gitter to let them know?

We still have those popularity stats! I wonder where flat-square is in relationship to flat.

Would someone like to reach out to Greenkeeper and Gitter to let them know?

AppVeyor and codecov show the same style problems on firefox. Don't know about others.
Maybe they have the same style issues due to an outdated teamplate and not properly rounded corners as @RedSparr0w pointed out for greenkeaper?

@tooomm Yeah from what i can see all the ones you have mentioned in this thread all have the same issue.

AppVeyor
Codecov
Greenkeeper
Gitter

Not too sure of any other services hosting shields.io style badges that may also be using the old layout.

Besides Greenkeeper we have our own version for all of them.
The official Travis badge seems ok by the way.

The travis badge never seemed to have this problem #732
They are rounding all the corners using rx="3" and then fixing the left of the right hand side with an extra <path>
heres how the badge looks without the extra <path>

They are rounding all the corners using rx="3" and then fixing the left of the right hand side with an extra

That sounds exactly like a trick I had on badges before.


Remove warning about v6_5 folder missing

1. Why is this change necessary?
The migration system prepares itself for v6_5 migrations. If this directory does not exist, you will find yourself a warning that it does not exist. Well, it is super clear that it does not exist. It is not shipped. This directory is only introduced when you update shopware in your vendor folder. With this I assume a cache clear as well. So the container is rebuild and the new path is then added to the migration system. So we can just check for the folder and get the warning removed.
2. What does this change do, exactly?
Checks for path existence before adding it to the migration paths.
3. Describe each step to reproduce the issue or behaviour.

Run shopware migrations

4. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

LGTM :+1: but can you add a small changelog entry @JoshuaBehrens ?

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-21336
Please use this issue to track the state of your pull request.

Thanks for your Contribution! 💙


set user agent properly on requests, remove unused var

I addressed the issue in #78, Thanks for your contribution.


Implement SchemaGuess

The last basic one to reimplement!
I'm thinking about how we deal with TextGuessPlugin and LineGuessPlugin extending GuessPlugin. They may be added in this library later.

https://github.com/embulk/embulk/blob/v0.10.19/embulk-core/src/main/ruby/embulk/guess_plugin.rb#L46-L127

Thanks!


feat: [PIPE-22045]: git blame view in gitness

Adds git blame view
Adds Delete / Edit / Copy / View Raw functionality for FileViewer
Adds Git Commit Modal and form

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Improve BPF compilation coverage and fix LPM bug

LPM wasn't compiling due to a trivial copy+paste error. Fix it.
Roll in a bunch of makefile fixes to improve build coverage of the datapath components.

test-me-please


Little recomendation

Hello!
I read "Note
The following animation isn't intended to duplicate the preceding code. It's intended only to show how the autocomplete feature works."
But if you show the example maybe it will be better to show it without mistakes, i mean before the printing "c" variable value in animation we should define it.
Thanks and sorry for my not perfect english.
Best regards, Vladimir.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f783f152-b26c-0ea4-8017-3929c7465368
Version Independent ID: 8777c084-6578-8a7f-89db-80b3f9d547a7
Content: Tutorial: Create a simple C# console app - Visual Studio
Content Source: docs/get-started/csharp/tutorial-console.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @ornellaalt
Microsoft Alias: ornella

@VS-- Vladimir, thank you for your feedback.  Your English is very clear!
@ornellaalt -- Ornella, please look into this issue.

#reassign: @anandmeg

@VS-- , we appreciate your feedback!
Please note that the animation isn't meant to duplicate the code exactly; instead, it's meant only to show the autocomplete feature.
We'll close this issue now, but thank you for contacting us!
Please check out some duplicates of the same issue:

https://github.com/MicrosoftDocs/visualstudio-docs/issues/4836
https://github.com/MicrosoftDocs/visualstudio-docs/issues/4000
https://github.com/MicrosoftDocs/visualstudio-docs/issues/3630


Actual behaviour
The commit fails with an error message like this in v0.7.0:
reading co-authors: nonzero exit code: 1:

And like this in v0.7.1:
GetAllGlobal(git-mob.co-author): nonzero exit code: 1:

Desktop (please complete the following information):

OS: MacOS
Browser [e.g. chrome, safari]
Version: seen in

v0.7.0
v0.7.1

Workaround

delete the prepare-commit-msg hook script

rm -f .git/hooks/prepare-commit-msg

this will disable automatic injection of the Co-authored-by annotation but will allow commits to succeed.

same root cause as #67
git config --global --get-all git-mob.co-author

returns a nonzero exit code when the git-mob.co-author key is missing

resolved with v0.7.2


Multiple taxes

Hi,
I was wondering if  it is possible to Use multiple tax values?
Because in my country (Belgium) for example,
You have tax for books and different tax for pc's just an example.
Is this possible? Also is iT possible to configure taxes per country?

I believe you can set the tax rate after you added an item to the cart.
Cart::add($item)->setTaxRate($yourTax);


Assign / Unassign Quali

Feature request:
assign/unassign quali
Under ‘manage’> in the menu, on the page where it has tasks you’ve created/qualifications you’ve created, I’d like to add a third part to be ‘Manage your Workforce’. On that page it would be nice to have a fillable form that has much of what you see/use on bloks.io>force.efx>contract>actions, such as:

which opens up to this:

And to make it intuitive, we add better instructions in the fields, (e.g. worker id, qualification number, your requester account, etc.)
And THEN….
We have an area maybe to flag/payout tasks/report a bad worker? But that can come later.

Similar to #215
Without the extra requirement about specifying the rating for the user.
We should start with this implementation.
Create this page first, and afterward we should think about how to add a rating system.
Requirements
Should a requester only be allowed to add a qualification to a user who has done a task on a campaign that they own?


Lazy loading of JS/CSS bundles

Hi,
I'd like to know your thoughts on what might a FlowRouter-appropriate replacement for Miro's preloader package might look like.
I'm not personally a fan of specifying the list of dependencies on a per-route basis. One reason is that it would require the router to wait for the downloads to finish (and I love FlowRouter precisely because it doesn't wait for things). The other, more important reason is that I'm working with dynamic templates a lot, and many of those should really only be pulled in, along with their dependencies, just before they are rendered (and often times the route won't change at all when the dynamic template changes). In other words, I believe modularity should be a matter of templates, not routes.
Still, our app is growing quite large, and this is a pressing enough issue that I'm considering going back to IR just to be able to use preloader.
So, a penny for your thoughts—and if this is completely outside of FlowRouter's/Blaze-Layout's scope, then what would be the best place to start?

I think we have a similar feature in the SSR version. In there, we download the app code after the HTML. So, still you need to download the whole bunch, but it doesn't affect the rendering. It's in action on Kadira's homepage.
See: https://kadira.io/blog
(Check the source as well)

Other than that, it's a kind a too big project. We'll wait a bit for that.


Clientcrash

Latest: https://bytebin.lucko.me/BowrGRk1mw
Crash: https://bytebin.lucko.me/823NwFQTrl

Is definitely a mod incomaptible, but im unable to locate it.

Can you launch with the -Dmixin.debug.verbose=true launch argument and get us that log? This would allow us to identify the mixin that is in the stacktrace and thereby possible find the conflicting mod

Could also be linked to this crashlog: https://bytebin.lucko.me/n1B2TbY5Fi

Latest: https://bytebin.lucko.me/BowrGRk1mw
Crash: https://bytebin.lucko.me/823NwFQTrl

Crash happened when interacting with Librarian Villager

Im unable to get it crashing with -Dmixin.debug.verbose=true.
I will test now again without. I tried it like 4 times before and it crashed everytime, so i dont understand why it does not now.

Can you try to reproduce it with MixinTrace (https://www.curseforge.com/minecraft/mc-mods/mixintrace)?

Can you try to reproduce it with MixinTrace (https://www.curseforge.com/minecraft/mc-mods/mixintrace)?

Does it work with 1.18?

It should work with 1.18, as it really only depends on the crash report system

So, i tried it now with argument, without and with mixintrace and im unable to get it to crash.

It crashed 6-7 times before and now i does nothing.

So, i tried it now with argument, without and with mixintrace and im unable to get it to crash.

I'm not sure I understand what you said. Did you try it without the argument and with MixinTrace?

Yes

I had an similar report on another mod, maybe his fix helps:
https://github.com/LlamaramaTeam/Llamarama/issues/5

Very strange that it crashes with MixinTrace. Could you send the log with the launch argument?

I had an similar report on another mod, maybe his fix helps:
LlamaramaTeam/Llamarama#5

That crash probably isn't related

Nono, sorry.
Crashing stopped.
It does not crash with MixinTrace, Argument or without Argument.

Nono, sorry.
Crashing stopped.
It does not crash with MixinTrace, Argument or without Argument.

Please send the log with the launch argument, even if it doesn't crash

https://bytebin.lucko.me/rViuDsC7H7 <--- With Mixin Mod

I got it crashing both times, the crash doesnt appear every time. Sometimes it dont crash. You can reproduce it by try to interact with them.

I have been able to track down the mod which causes this and it turns out to be the combination of Crooked Crooks, Survival Plus and possibly a few others. The root cause of the problem is that Survival Plus overwrites a method in the Enchantment Helper without properly declaring that it's doing so, and thereby causes a few other mods' mixins, namely Crooked Crooks, to never actually get triggered and cause an exception. This is something that could happen at an Enchantment Table or a vanilla Librarian as well, as such I'll close this issue as invalid for now. For you to fix your trouble I would recommend simply removing Survival Plus if you can, although removing Crooked Crooks might also work but would definitely be less safe
Cheers

Wow, thank you. How did you figure that out? I tried this since days.


Case 1:  Neurocartography

DoD for Case Study 1

[ ] fix graphml files
[x] make a table of results (fixing table 3 and renaming to neurocartography results)
[x] fix text accordingly

this is done for now.  all notebooks rerun and summary stats gathered.

fix graphml files?

yea - moved to a new followup issue (https://github.com/neurodata/ndpaper/issues/72).  not sure what's wrong and internet is too terrible to generate atm.  but text and table are updated.


python311Packages.pyoverkiz: 1.13.0 -> 1.13.1

Diff: https://github.com/iMicknl/python-overkiz-api/compare/refs/tags/v1.13.0...v1.13.1
Changelog: https://github.com/iMicknl/python-overkiz-api/releases/tag/v1.13.1
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 266621 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.overkiz
python310Packages.pyoverkiz
python310Packages.pyoverkiz.dist
python311Packages.pyoverkiz
python311Packages.pyoverkiz.dist


RBAC-enabled dashboard for k8s 1.9 and greater

What this PR does / why we need it: RBAC-enabled dashboard config for 1.9 and greater k8s clusters
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #2808
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

RBAC-enabled dashboard for 1.9 and greater

@lachie83 @slack FYI this PR basically opines: to use the dashboard in 1.9 and greater you'll need to adhere to this RBAC schema

How does this fit with #2808 ?

@CecileRobertMichon it fixes it :) (added to description)

Weird. What is causing the e2e tests to fail?

@ewok2030 E2E test is also broken :) will fix and commit to this PR branch

@jackfrancis Anything left blocking this merge?....I'm gonna have to learn Go so I can stop asking for others to fix the things I would like fixed. :)


[Tabs] Dynamic height does not work when content has changed

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Tabs should transition height properly when content is added dynamically.
What is the current behavior?
Adding content to a tab does not modify the 'base animation height' resulting in weird animations.
What are the steps to reproduce?
~~http://plnkr.co/edit/Sccmy7os1nuaELrradRv?p=preview~~
~~http://plnkr.co/edit/ZSBCT8P9xCi04rrKSCu3?p=preview~~
https://stackblitz.com/edit/angular-humdjf?file=src%2Fapp%2Fapp.component.html
Add content dynamically and change tab.
Is there anything else we should know?
Documentation is missing for dynamicHeight on material.angular.io

Thanks for the heads up about documentation, and for providing a good example in plunker. Will take a look into this

@andrewseguin Please check out my other reports. I edited all of them to warn about the breaking changes. I'm really worried about that.

Plunker updated with Angular Material 5.0.0-rc http://plnkr.co/edit/knB7FM?p=preview

Updated demo : https://stackblitz.com/edit/angular-humdjf?file=src%2Fapp%2Fapp.component.html

Hey, have you found any workaround?

@italoandrade the demo works well for me. What problem are you seeing?

It must have been something I did wrong then.. I’m not using it anymore, so
thanks anyway.. ✌🏻
On Fri, 22 Mar 2019 at 7:37 PM simeyla<EMAIL_ADDRESS>wrote:

@italoandrade https://github.com/italoandrade the demo
https://stackblitz.com/edit/angular-humdjf?file=src%2Fapp%2Fapp.component.html
works well for me. What problem are you seeing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/material2/issues/3191#issuecomment-475804961,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASVasigGRL0Ua4BuRaBcqo2D0FkIs6Zzks5vZVsogaJpZM4MFgU3
.

Hi, I also have this problem. It is still reproducible in @Ploppy3 demo.
Steps:

Click 10 times "Add content dynamically" button
Go to second tab "Tab 2". You can notice that height of current tab "Tab 1" is instatly shrinked to initial size and then starts transition animation to second tab.
Click 10 times "Add content dynamically" button on second tab.
Go to first tab "Tab 1". Now it is even more visible, becase "Tab 2" also instantly shrinks and then starts growing to size of first tab during transition.

Next transitions have correct animations. Problem occurs only during first transition after tab content (and its height) was changed.


Update Policy Provider

Adds factory and updates configuration to dynamically select policy provider from config
Updates config policy provider to register as a provider
Adds OverallVerifySuccess method to API and adds implementation in config policy provider
Adds tests for all additions
Updates config.json and configmap.yaml to reflect new policy provider configuration

Fixes #152

@susanshi @mnltejaswini @etrexel would appreciate your feedback on this PR. Thanks!

@susanshi @mnltejaswini I made some changes to the configPolicy Provider:

I changed the default policy behavior a bit. The default policy is applied to and enforced for any artifacts that are encountered by the verifier but not specified explicitly in the artifactTypePolicies section of the policy configuration. Previously, only artifacts of the artifact type specified in the config were considered in the OverallVerifySuccess. It didn't matter if other artifacts were verified true/false. Now it will take unspecified artifact types into consideration by giving it a default policy.
The default policy introduces a new policy type called 'none'. This requires 0+ artifacts of a type to verify to true to satisfy the policy. This is the default value for the 'default' policy. With this 'none' policy, unspecified artifacts are by default ignored in the verification process. The user can override this 'default' policy and set to, for example, 'any' which will then enforce at least one artifact type success for every unspecified artifact encountered.
The VerifyNeeded is now being used. It now checks if an artifact's type policy exists in the policy configuration as 'any' or 'all' and it will ONLY allow verification of artifacts that are of policy type 'any' or 'all'.
The executor had to be changed slightly to accommodate 0 verifier reports scenarios. Previously if there were no verifier reports that resulted, executor assumed we were unable to extract referrers from the subject. Now that's not a valid assumption so the 0 referrers check is done immediately after the referrers are queried from the registry using ORAS.
I added tests for VerifyNeeded and updated executor and config policy tests to accommodate the new changes.

configPolicy

@susanshi @mnltejaswini I made some changes to the configPolicy Provider:

I changed the default policy behavior a bit. The default policy is applied to and enforced for any artifacts that are encountered by the verifier but not specified explicitly in the artifactTypePolicies section of the policy configuration. Previously, only artifacts of the artifact type specified in the config were considered in the OverallVerifySuccess. It didn't matter if other artifacts were verified true/false. Now it will take unspecified artifact types into consideration by giving it a default policy.
The default policy introduces a new policy type called 'none'. This requires 0+ artifacts of a type to verify to true to satisfy the policy. This is the default value for the 'default' policy. With this 'none' policy, unspecified artifacts are by default ignored in the verification process. The user can override this 'default' policy and set to, for example, 'any' which will then enforce at least one artifact type success for every unspecified artifact encountered.
The VerifyNeeded is now being used. It now checks if an artifact's type policy exists in the policy configuration as 'any' or 'all' and it will ONLY allow verification of artifacts that are of policy type 'any' or 'all'.
The executor had to be changed slightly to accommodate 0 verifier reports scenarios. Previously if there were no verifier reports that resulted, executor assumed we were unable to extract referrers from the subject. Now that's not a valid assumption so the 0 referrers check is done immediately after the referrers are queried from the registry using ORAS.
I added tests for VerifyNeeded and updated executor and config policy tests to accommodate the new changes.

@akashsinghal , maybe these internal working should be captured in docs/policyplugin?

@mnltejaswini @susanshi I've updated the policy provider:

I removed the none policy like we discussed in the meeting. I also made the default policy all
Now all unspecified artifact types will have default policy 'all' which means all artifacts NEED to be verified to true for overall verify success to be true.
I updated the tests accordingly to match this new behavior
I also updated the documentation to include some examples.

I think default all might be good to start and merge this. Going forward if we iron out the requirements for fail open we could open issue to track that.

We should address adding ability for users to specify the artifact type policies in the values.yaml file cc: @etrexel

@susanshi I updated the policy provider doc to discuss the verifier behaviors we were discussing. I also added an executor doc  walking through all logic implemented so far.


Adding nightly/weekly github actions for MLPerf inference runs

@anandhu-eng We have the github action working for nightly/weekly tests of MLPerf inference implementations.
https://gateoverflow.github.io/mlperf_inference_test_submissions_v5.0/
This can help solve part of this issue. We can close this issue once we have all the models and implementations coming here.

[x] R50 Reference
[x] Retinanet Reference
[x] Bert Reference
[x] 3d-unet Reference
[x] GPTJ Reference
[x] DLRMv2 Reference
[x] Stable Diffusion Reference
[x] LLaMa2 Reference
[x] Mixtral

All reference models are now added in the nightly runs.


On restart: Elite Dangerous not as active window

This tool is great for farming various materials in VR, as you dont need to constantly take off your hmd to restart the game.
Sadly this tool launches Elite Dangerous in a not active state, this means you need to click on the ED window each time you restart the game.
Note that ED launches just fine on the first run. It only happens on restarts.
Would it be possible to set the window as active after a restart, or directly start the game in a active window state?

Which OS and HMD are you using? I haven't run into the issue on linux with an index, but I also haven't played elite in a while. I should have some time this week to look into it.

Ok I figuered it out.
I have a few autostart applications configuered, which are opened all in the foreground. Like I said, the first launch of ED is alright.
But restarting doesnt focus back on the cmdlet and thus starts ED "behind" those apps.
Only if I click on the cmdlet and back to ED (so its "behind" ED) after closing ED down the cmdlet start ED in foreground.
Thats currently my workaround. But if I need to look something up on inara etc I need manually redo those steps everytime.
a quick little
[DllImport("User32.dll")] process = Process.Start(EliteDangerousPath + args); handle = process.MainWindowHandle; SetForegroundWindow(handle);
might already do the trick.


Validate next parameter to ensure it's a function

This checks that the next parameter is a function, and if it is not, throws a detailed error message.
I battled with a confusing error message from a line deep within the strategy file because I forgot to pass in the next parameter (I just passed in 'req, res'). An error message like the one I've added would have made it obvious what I'd done wrong. I'm hoping this might stop others who encounter this in the future.
Previously raised an issue here: https://github.com/jaredhanson/passport-oauth2/issues/124.
Checklist

[x ] I have read the CONTRIBUTING guidelines.
[ ] I have added test cases which verify the correct operation of this feature or patch.
[ ] I have added documentation pertaining to this feature or patch.
[x ] The automated test suite ($ make test) executes successfully.
[ ] The automated code linting ($ make lint) executes successfully.

Coverage decreased (-0.3%) to 98.607% when pulling e6a44bcb0e6a3c154c55f222ae4d0d34ecabebfd on davich:validate-type-of-next-parameter into 42ff63c60ae55f466d21332306e9112295c0535e on jaredhanson:master.