Monitoring - Rancher failed to install monitoring after upgrading from 2.1.7 to 2.2.0 in Airgap setup

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
** Install single node Rancher server 2.1.7 using Airgap Installation (Server has access to internet)
** Create a cluster with nodes
** Upgrade to 2.2.0 using airgap installation
** Enable Cluster level monitoring
Result:
[main] 2019/03/29 16:06:04 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/03/29 16:06:04 GRPC listening on :52444
[main] 2019/03/29 16:06:04 Probes listening on :54817
[main] 2019/03/29 16:06:04 Storage driver is ConfigMap
[main] 2019/03/29 16:06:04 Max history per release is 0
[main] 2019/03/29 16:06:04 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/03/29 16:06:04 GRPC listening on :53804
[main] 2019/03/29 16:06:04 Probes listening on :46060
[main] 2019/03/29 16:06:04 Storage driver is ConfigMap
[main] 2019/03/29 16:06:04 Max history per release is 0
[tiller] 2019/03/29 16:06:05 getting history for release cluster-monitoring
[storage] 2019/03/29 16:06:05 getting release history for "cluster-monitoring"
Release "cluster-monitoring" does not exist. Installing it now.
[tiller] 2019/03/29 16:06:05 getting history for release monitoring-operator
[storage] 2019/03/29 16:06:05 getting release history for "monitoring-operator"
[tiller] 2019/03/29 16:06:05 preparing install for cluster-monitoring
[storage] 2019/03/29 16:06:05 getting release history for "cluster-monitoring"
Release "monitoring-operator" does not exist. Installing it now.
[tiller] 2019/03/29 16:06:05 preparing install for monitoring-operator
[storage] 2019/03/29 16:06:05 getting release history for "monitoring-operator"
[tiller] 2019/03/29 16:06:05 rendering rancher-monitoring chart using values
[tiller] 2019/03/29 16:06:05 rendering rancher-monitoring chart using values
[tiller] 2019/03/29 16:06:05 performing install for monitoring-operator
[tiller] 2019/03/29 16:06:05 executing 0 crd-install hooks for monitoring-operator
[tiller] 2019/03/29 16:06:05 hooks complete for crd-install monitoring-operator
2019/03/29 16:06:05 info: manifest "rancher-monitoring/templates/rbac.yaml" is empty. Skipping.
2019/03/29 16:06:05 info: manifest "rancher-monitoring/templates/deployment.yaml" is empty. Skipping.
2019/03/29 16:06:05 info: manifest "rancher-monitoring/charts/grafana/templates/rbac.yaml" is empty. Skipping.
2019/03/29 16:06:05 info: manifest "rancher-monitoring/charts/grafana/templates/pvc.yaml" is empty. Skipping.
2019/03/29 16:06:05 info: manifest "rancher-monitoring/templates/servicemonitor.yaml" is empty. Skipping.
2019/03/29 16:06:05 info: manifest "rancher-monitoring/templates/metrics-service.yaml" is empty. Skipping.
[tiller] 2019/03/29 16:06:05 performing install for cluster-monitoring
[tiller] 2019/03/29 16:06:05 executing 0 crd-install hooks for cluster-monitoring
[tiller] 2019/03/29 16:06:05 hooks complete for crd-install cluster-monitoring
[tiller] 2019/03/29 16:06:06 failed install perform step: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
2019/03/29 16:06:06 [ERROR] AppController p-s7js9/monitoring-operator [helm-controller] failed with : failed to install app monitoring-operator. Error: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
[tiller] 2019/03/29 16:06:06 failed install perform step: validation failed: [unable to recognize "": no matches for kind "Prometheus" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"]
2019/03/29 16:06:06 [ERROR] AppController p-s7js9/cluster-monitoring [helm-controller] failed with : failed to install app cluster-monitoring. Error: validation failed: [unable to recognize "": no matches for kind "Prometheus" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" inversion "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize"": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"]

Other details that may be helpful:
All Rancher related images are in our private repository
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2.0
Installation option (single install/HA): single install

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory): VM and 4 Cores/8GB RAM
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.6", GitCommit:"ab91afd7062d4240e95e51ac00a18bd58fddd365", GitTreeState:"clean", BuildDate:"2019-02-26T12:59:46Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:30:26Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client:
 Version:           18.06.0-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        0ffa825
 Built:             Wed Jul 18 19:08:18 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.0-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       0ffa825
  Built:            Wed Jul 18 19:10:42 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Similar issue from 2.1.6 to 2.2.1 with similar config but without Airgap :
[main] 2019/04/02 14:03:47 Starting Tiller v2.10+unreleased (tls=false) [main] 2019/04/02 14:03:47 GRPC listening on :47865 [main] 2019/04/02 14:03:47 Probes listening on :47197 [main] 2019/04/02 14:03:47 Storage driver is ConfigMap [main] 2019/04/02 14:03:47 Max history per release is 0 [main] 2019/04/02 14:03:48 Starting Tiller v2.10+unreleased (tls=false) [main] 2019/04/02 14:03:48 GRPC listening on :38546 [main] 2019/04/02 14:03:48 Probes listening on :40077 [main] 2019/04/02 14:03:48 Storage driver is ConfigMap [main] 2019/04/02 14:03:48 Max history per release is 0 [tiller] 2019/04/02 14:03:48 getting history for release cluster-monitoring [storage] 2019/04/02 14:03:48 getting release history for "cluster-monitoring" [storage/driver] 2019/04/02 14:03:48 query: failed to query with labels: the server is currently unable to handle the request (get configmaps) [tiller] 2019/04/02 14:03:48 preparing update for cluster-monitoring [storage] 2019/04/02 14:03:48 getting deployed releases from "cluster-monitoring" history [storage/driver] 2019/04/02 14:03:48 query: failed to query with labels: the server is currently unable to handle the request (get configmaps) 2019/04/02 14:03:48 [ERROR] AppController p-4hqvk/cluster-monitoring [helm-controller] failed with : failed to install app cluster-monitoring. Error: UPGRADE FAILED: the server is currently unable to handle the request (get configmaps)

@scndel your situation can be similar to one described in https://github.com/rancher/rancher/issues/19331
Changed the subject of this ticket to reflect the fact the original issue happened on airgap.

@alena1108 Just an FYI, I have installed it using airgap method but server has access to internet and can download images.

I'm experiencing the same issue, on a new install of Rancher v2.2.1.
All nodes have Internet access.
[main] 2019/04/05 10:14:29 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:14:29 GRPC listening on :34202
[main] 2019/04/05 10:14:29 Probes listening on :43488
[main] 2019/04/05 10:14:29 Storage driver is ConfigMap
[main] 2019/04/05 10:14:29 Max history per release is 0
[main] 2019/04/05 10:14:29 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:14:29 GRPC listening on :44410
[main] 2019/04/05 10:14:29 Probes listening on :52747
[main] 2019/04/05 10:14:29 Storage driver is ConfigMap
[main] 2019/04/05 10:14:29 Max history per release is 0
[tiller] 2019/04/05 10:14:30 getting history for release monitoring-operator
[storage] 2019/04/05 10:14:30 getting release history for "monitoring-operator"
[storage/driver] 2019/04/05 10:14:30 query: failed to query with labels: the server is currently unable to handle the request (get configmaps)
[tiller] 2019/04/05 10:14:30 preparing update for monitoring-operator
[storage] 2019/04/05 10:14:30 getting deployed releases from "monitoring-operator" history
[tiller] 2019/04/05 10:14:30 getting history for release cluster-monitoring
[storage] 2019/04/05 10:14:30 getting release history for "cluster-monitoring"
[storage/driver] 2019/04/05 10:14:30 query: failed to query with labels: the server is currently unable to handle the request (get configmaps)
[storage] 2019/04/05 10:14:30 getting last revision of "monitoring-operator"
[storage] 2019/04/05 10:14:30 getting release history for "monitoring-operator"
[storage/driver] 2019/04/05 10:14:30 query: failed to query with labels: the server is currently unable to handle the request (get configmaps)
2019/04/05 10:14:30 [ERROR] AppController p-5f5sr/monitoring-operator [helm-controller] failed with : failed to install app monitoring-operator. Error: UPGRADE FAILED: the server is currently unable to handle the request (get configmaps)

Release "cluster-monitoring" does not exist. Installing it now.
[tiller] 2019/04/05 10:14:30 preparing install for cluster-monitoring
[storage] 2019/04/05 10:14:30 getting release history for "cluster-monitoring"
[main] 2019/04/05 10:14:30 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:14:30 GRPC listening on :36244
[main] 2019/04/05 10:14:30 Probes listening on :57080
[main] 2019/04/05 10:14:30 Storage driver is ConfigMap
[main] 2019/04/05 10:14:30 Max history per release is 0
[tiller] 2019/04/05 10:14:30 failed install prepare step: Could not get apiVersions from Kubernetes: the server is currently unable to handle the request
2019/04/05 10:14:30 [ERROR] AppController p-5f5sr/cluster-monitoring [helm-controller] failed with : failed to install app cluster-monitoring. Error: Could not get apiVersions from Kubernetes: the server is currently unable to handle the request

@gstorme It says the server is currently unable to handle the request. Can you look at the cluster dashboard please? I guess ETCD or APIserver is unhealthy. Can you try to ssh to the apiserver node and run top to check if the node is very busy?

All components were displayed as healthy, and apiserver node was not busy.
This is a new install (1 rancher + 1 etcd/controlplane + 2 workers) without any applications deployed on it yet.
I disabled monitoring, and re-enabled it after I saw the cluster-monitoring & monitoring-operator apps were not listed anymore under apps in the cluster system namespace.
Logs show different errors now.
[main] 2019/04/05 10:36:49 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:36:49 GRPC listening on :37027
[main] 2019/04/05 10:36:49 Probes listening on :46029
[main] 2019/04/05 10:36:49 Storage driver is ConfigMap
[main] 2019/04/05 10:36:49 Max history per release is 0
[main] 2019/04/05 10:36:49 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:36:49 GRPC listening on :41333
[main] 2019/04/05 10:36:49 Probes listening on :54863
[main] 2019/04/05 10:36:49 Storage driver is ConfigMap
[main] 2019/04/05 10:36:49 Max history per release is 0
[tiller] 2019/04/05 10:36:49 getting history for release monitoring-operator
[storage] 2019/04/05 10:36:49 getting release history for "monitoring-operator"
Release "monitoring-operator" does not exist. Installing it now.
[tiller] 2019/04/05 10:36:49 preparing install for monitoring-operator
[storage] 2019/04/05 10:36:49 getting release history for "monitoring-operator"
[tiller] 2019/04/05 10:36:49 rendering rancher-monitoring chart using values
[tiller] 2019/04/05 10:36:49 performing install for monitoring-operator
[tiller] 2019/04/05 10:36:49 executing 0 crd-install hooks for monitoring-operator
[tiller] 2019/04/05 10:36:49 hooks complete for crd-install monitoring-operator
[tiller] 2019/04/05 10:36:49 getting history for release cluster-monitoring
[storage] 2019/04/05 10:36:49 getting release history for "cluster-monitoring"
Release "cluster-monitoring" does not exist. Installing it now.
[tiller] 2019/04/05 10:36:49 preparing install for cluster-monitoring
[storage] 2019/04/05 10:36:49 getting release history for "cluster-monitoring"
[tiller] 2019/04/05 10:36:49 rendering rancher-monitoring chart using values
2019/04/05 10:36:49 info: manifest "rancher-monitoring/templates/metrics-service.yaml" is empty. Skipping.
2019/04/05 10:36:49 info: manifest "rancher-monitoring/charts/grafana/templates/pvc.yaml" is empty. Skipping.
2019/04/05 10:36:49 info: manifest "rancher-monitoring/templates/deployment.yaml" is empty. Skipping.
2019/04/05 10:36:49 info: manifest "rancher-monitoring/templates/rbac.yaml" is empty. Skipping.
2019/04/05 10:36:49 info: manifest "rancher-monitoring/templates/servicemonitor.yaml" is empty. Skipping.
2019/04/05 10:36:49 info: manifest "rancher-monitoring/charts/grafana/templates/rbac.yaml" is empty. Skipping.
[tiller] 2019/04/05 10:36:49 performing install for cluster-monitoring
[tiller] 2019/04/05 10:36:49 executing 0 crd-install hooks for cluster-monitoring
[tiller] 2019/04/05 10:36:49 hooks complete for crd-install cluster-monitoring
[tiller] 2019/04/05 10:36:50 failed install perform step: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
2019/04/05 10:36:50 [ERROR] AppController p-5f5sr/monitoring-operator [helm-controller] failed with : failed to install app monitoring-operator. Error: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

[tiller] 2019/04/05 10:36:50 failed install perform step: validation failed: [unable to recognize "": no matches for kind "Prometheus" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"]
2019/04/05 10:36:50 [ERROR] AppController p-5f5sr/cluster-monitoring [helm-controller] failed with : failed to install app cluster-monitoring. Error: validation failed: [unable to recognize "": no matches for kind "Prometheus" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"]

[main] 2019/04/05 10:36:50 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:36:50 GRPC listening on :59578
[main] 2019/04/05 10:36:50 Probes listening on :48780
[main] 2019/04/05 10:36:50 Storage driver is ConfigMap
[main] 2019/04/05 10:36:50 Max history per release is 0
[tiller] 2019/04/05 10:36:50 getting history for release monitoring-operator
[storage] 2019/04/05 10:36:50 getting release history for "monitoring-operator"
Release "monitoring-operator" does not exist. Installing it now.
[tiller] 2019/04/05 10:36:50 preparing install for monitoring-operator
[storage] 2019/04/05 10:36:50 getting release history for "monitoring-operator"
[tiller] 2019/04/05 10:36:50 rendering rancher-monitoring chart using values
[tiller] 2019/04/05 10:36:50 performing install for monitoring-operator
[tiller] 2019/04/05 10:36:50 executing 0 crd-install hooks for monitoring-operator
[tiller] 2019/04/05 10:36:50 hooks complete for crd-install monitoring-operator
[tiller] 2019/04/05 10:36:51 failed install perform step: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
2019/04/05 10:36:51 [ERROR] AppController p-5f5sr/monitoring-operator [helm-controller] failed with : failed to install app monitoring-operator. Error: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

[main] 2019/04/05 10:36:52 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:36:52 GRPC listening on :52920
[main] 2019/04/05 10:36:52 Probes listening on :51016
[main] 2019/04/05 10:36:52 Storage driver is ConfigMap
[main] 2019/04/05 10:36:52 Max history per release is 0
[tiller] 2019/04/05 10:36:52 getting history for release monitoring-operator
[storage] 2019/04/05 10:36:52 getting release history for "monitoring-operator"
Release "monitoring-operator" does not exist. Installing it now.
[tiller] 2019/04/05 10:36:52 preparing install for monitoring-operator
[storage] 2019/04/05 10:36:52 getting release history for "monitoring-operator"
[tiller] 2019/04/05 10:36:52 rendering rancher-monitoring chart using values
[tiller] 2019/04/05 10:36:52 performing install for monitoring-operator
[tiller] 2019/04/05 10:36:52 executing 0 crd-install hooks for monitoring-operator
[tiller] 2019/04/05 10:36:52 hooks complete for crd-install monitoring-operator
2019/04/05 10:36:52 [ERROR] ClusterController c-xbf8j [cluster-monitoring-handler] failed with : unable to sync Cluster c-xbf8j(engineering-internal): failed to detect the installation status of monitoring components: [Grafana Deployment isn't deployed, Node Exporter DaemonSet isn't deployed, Kube State Exporter Deployment isn't deployed, Prometheus StatefulSet isn't deployed]
[main] 2019/04/05 10:36:53 Starting Tiller v2.10+unreleased (tls=false)
[main] 2019/04/05 10:36:53 GRPC listening on :52573
[main] 2019/04/05 10:36:53 Probes listening on :46009
[main] 2019/04/05 10:36:53 Storage driver is ConfigMap
[main] 2019/04/05 10:36:53 Max history per release is 0
[tiller] 2019/04/05 10:36:53 getting history for release cluster-monitoring
[storage] 2019/04/05 10:36:53 getting release history for "cluster-monitoring"
Release "cluster-monitoring" does not exist. Installing it now.
[tiller] 2019/04/05 10:36:53 preparing install for cluster-monitoring
[storage] 2019/04/05 10:36:53 getting release history for "cluster-monitoring"
[tiller] 2019/04/05 10:36:53 rendering rancher-monitoring chart using values
2019/04/05 10:36:53 info: manifest "rancher-monitoring/templates/servicemonitor.yaml" is empty. Skipping.
2019/04/05 10:36:53 info: manifest "rancher-monitoring/templates/rbac.yaml" is empty. Skipping.
2019/04/05 10:36:53 info: manifest "rancher-monitoring/templates/deployment.yaml" is empty. Skipping.
2019/04/05 10:36:53 info: manifest "rancher-monitoring/templates/metrics-service.yaml" is empty. Skipping.
2019/04/05 10:36:53 info: manifest "rancher-monitoring/charts/grafana/templates/pvc.yaml" is empty. Skipping.
[tiller] 2019/04/05 10:36:53 failed install perform step: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
2019/04/05 10:36:53 [ERROR] AppController p-5f5sr/monitoring-operator [helm-controller] failed with : failed to install app monitoring-operator. Error: validation failed: unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

It looks like the Prometheus crd is not installed successfully.
I think your cluster agent is suffering some network issue.
A workaround should be delete the pod manually and it will recreate.
Can you look at the log in cluster-agent pod under System project ?

You're right, the cluster-agent pod could not resolve the rancher server hostname.
I re-created the cluster after fixing the network.
Apologies, monitoring is successfully installed now, very niice.

Thanks for your update!

Hey @loganhz any update on when can I expect this issue to be fixed? Will it help If I upgrade to 2.2.1? Thanks for your help!

@rammaram06 Please try https://github.com/rancher/rancher/issues/19362#issuecomment-480234140

Looks like I've got the same issue with Rancher v2.2.4 as soon as I've set "enableClusterMonitoring":true in the cluster config. I have an automated Rancher deployment by Terraform.
Logs https://gist.github.com/arno01/ed647eb5e84863f1d9c2cfe0e99cbdf7

per the conversion with @loganhz, this issue is not specificated to airgap.
Test cases:

upgrade Rancher server, enable the monitoring right after the upgrade.
fresh install, as soon as the cluster is active, enable the monitoring

@loganhz  I tried removing the pod but its still failing with unable to ping rancher server hostname,
could you please let me know how to fix this error. I'm using Rancher 2.2.7 version.
INFO: Environment: CATTLE_ADDRESS=<IP_ADDRESS> CATTLE_CA_CHECKSUM=37a8671a72d8fa2eedd3e9d8576bb84f2dbd9e61c3670fed1865ef057f9a4adf CATTLE_CLUSTER=true CATTLE_INTERNAL_ADDRESS= CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-55d486b877-7vv4h CATTLE_SERVER=https://testrancher.xxxx.org INFO: Using resolv.conf: nameserver <IP_ADDRESS> search cattle-system.svc.cluster.local svc.cluster.local cluster.local va.xxxx.org options ndots:5 ERROR: https://testrancher.xxxx.org/ping is not accessible (Could not resolve host: testrancher.xxxx.org)

@loganhz @guangbochen I tried removing the cluster agent pod but its still failing with unable to ping rancher server hostname,
could you please let me know how to fix this error. I'm using Rancher 2.2.7 version.
I have opened all the ports listed in requirements.
INFO: Environment: CATTLE_ADDRESS=<IP_ADDRESS> CATTLE_CA_CHECKSUM=37a8671a72d8fa2eedd3e9d8576bb84f2dbd9e61c3670fed1865ef057f9a4adf CATTLE_CLUSTER=true CATTLE_INTERNAL_ADDRESS= CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-55d486b877-7vv4h CATTLE_SERVER=https://testrancher.xxxx.org INFO: Using resolv.conf: nameserver <IP_ADDRESS> search cattle-system.svc.cluster.local svc.cluster.local cluster.local va.xxxx.org options ndots:5 ERROR: https://testrancher.xxxx.org/ping is not accessible (Could not resolve host: testrancher.xxxx.org)

could you file another issue for this, please? Thanks

Cannot reproduce the error the issue describes.
It looks like the issue is not a general problem but highly related to the user's cluster' networking, and it could be fixed by either deleting the hanging pod or re-enable the cluster monitoring.
Therefore, the issue is closed for now. New issues will be made if necessary.


Initial concentration sensitivity analysis tool

A new tool for sensitivity analysis by varying pairwise combinations of species initial concentrations and examining the response of a model output/observable. Includes functions for visualising the results with matplotlib and a worked example using the 1991 Tyson cell cycle model.

Coverage increased (+1.2%) to 71.323% when pulling caa7c074dce301e4e1e7ae36f0f21d5af413e875 on LoLab-VU:sensitivity_analysis into 5818f1d05ec8524f6ffbb4a9ba082ef0f96e0c13 on pysb:master.

Hello everyone,
I'm interested in this feature. It's helpful to calculate how much sensitives are different parameters (either if they are rates, initials, whatever...). However, I just wonder how do you do this. You use an 'equivalent' ODE model to calculate sensitivity, or there is a direct method to calculate sensitivity from a stochastic simulation? Also, why the analysis is pairwise?

Coverage increased (+3.6%) to 73.773% when pulling 4f5572907cccdd59f876b61159acde6514ada92c on LoLab-VU:sensitivity_analysis into 5818f1d05ec8524f6ffbb4a9ba082ef0f96e0c13 on pysb:master.

@glucksfall This PR only implements sensitivity to changes in initials, but we are interested in adding support for rate parameters in the future. It takes a simulator from a pysb.simulator.Simulator subclass and calculates sensitivities empirically by running simulations on it. The analysis is a good use case for our recently added CupSodaSimulator, an ODE simulator for NVIDIA GPUs, which is ideally suited for this task due to its parallel capabilities.
Currently, all of PySB's Simulator classes are ODE-based, but we will be adding stochastic ones soon (an SSA implementation is top of the list).
The analysis is pairwise because it calculates changes in sensitivity (as measured by a PySB Observable) to changes in two initial conditions at a time, although sensitivity to changes in single initial conditions can also be shown.

Coverage increased (+1.2%) to 73.818% when pulling b1f76a0da97245eada57b06134ac53e6cfc9321e on LoLab-VU:sensitivity_analysis into d1358997a4004f2ab965e9fb138dcbe8c5a761d8 on pysb:master.

Coverage decreased (-1.0%) to 71.629% when pulling b1f76a0da97245eada57b06134ac53e6cfc9321e on LoLab-VU:sensitivity_analysis into d1358997a4004f2ab965e9fb138dcbe8c5a761d8 on pysb:master.


feat: Lazy-started transactions

Eliminates at least one round-trip network request for every transaction by the following

Transactions are started lazily upon the first read request (or not at all if no reads) instead of by the initial separate beginTransaction request. All subsequent reads (and commit/rollback) are queued upon the first read operation of each transaction attempt.
Empty transactions (no reads or writes) become a network no-op (zero requests, no begin and no commit)
~Eliminate superfluous rollback request for some types of commit errors (where the transaction is already aborted by the server)~
Added an internal getResponse API to the DocumentReader, Query and AggregateQuery classes to expose the transaction ID in the response.
The internal _stream() APIs now emit a "transaction response" as the first element when appropriate.

Other opportunistic improvements

Avoid initialising useless write batch and backoff instances on read-only transactions

Fixes #2015

There we go.  I've implemented all of those suggestions. You haven't seen the second-to-last commit Rollback is completed asynchronously, that was the one that was stuck processing.

@tom-andersen I ran this branch against a real Firestore backend and oops there were a few gotchas

Protobuf includes zero/empty "transaction ID" buffers by default
Sometimes the backend returns the "transaction" in the same response stream element as the "document response" and sometimes it doesn't which surprised me based on the docs. So I made it more resilient to which response comes and when.

Warrants another review sorry.

Sometimes the backend returns the "transaction" in the same response stream element as the "document response" and sometimes it doesn't which surprised me based on the docs.

Ah sorry I think I was wrong about this... it was just the fact that protobuf always decodes an empty transaction ID buffer by default.
No harm in what I did to make it more resilient? Or do you want me to revert that?
By the way, will this branch be be run through a real-life test suite before releasing? In both REST and gRPC modes in case that affects the ordering/structuring of the responses?

By the way, will this branch be be run through a real-life test suite before releasing? In both REST and gRPC modes in case that affects the ordering/structuring of the responses?

Yes. We have an integration tests that must pass before we merge. I hadn't run them yet, since there were still changes being done.

Ah sorry I think I was wrong about this... it was just the fact that protobuf always decodes an empty transaction ID buffer by default.
No harm in what I did to make it more resilient? Or do you want me to revert that?

I am fine with this.

Thanks for all your time and effort reviewing this one @tom-andersen 🙏🏼

@tom-andersen ok so those recent updates had quite sizeable conflict in reference.ts. I've resolved those, and using the _getResonse() pattern I introduced afforded quite a sizeable reduction in duplicated code related to "explain" functionality.
Now as a result I discovered something else. The Query response was silently accepting an undefined readTime. This was due to a shortfall in type checking. Due to one of my changes it surfaced in typings that readTime could be undefined, so I added a guard.
I turns out many tests were incorrectly simulating the "empty query" scenario by not emitting a read time in the response stream. So I made all "empty query" tests always emit a read time in the stream, which properly emulates how the backend should behave.
TLDR; I introduced a behaviour change wherein, if for whatever reason the backend did not emit a read time for query responses, it would previously succeed but the QuerySnapshot.readTime would be unexpectedly undefined in application code. Now it throws an exception in such case (which should not ever happen because the backend always emits a read time as far as I understand).
Thoughts?

@brettwillis We are now within a window of time where I can merge this.
It is possible to return a query plan without any results. Consequently, there is no read time. This does not align with the types in the type system.
I would like @ehsannas who implemented this feature to take a look.
For now, since this is somewhat unrelated to your changes, I suggest we comment out the check, with an explanation that @ehsannas can follow up upon.
There are integration tests that I run as part of this PR that fail because the query plan does not return a read time.

@tom-andersen ok so those recent updates had quite sizeable conflict in reference.ts. I've resolved those, and using the _getResonse() pattern I introduced afforded quite a sizeable reduction in duplicated code related to "explain" functionality.
Now as a result I discovered something else. The Query response was silently accepting an undefined readTime. This was due to a shortfall in type checking. Due to one of my changes it surfaced in typings that readTime could be undefined, so I added a guard.
I turns out many tests were incorrectly simulating the "empty query" scenario by not emitting a read time in the response stream. So I made all "empty query" tests always emit a read time in the stream, which properly emulates how the backend should behave.
TLDR; I introduced a behaviour change wherein, if for whatever reason the backend did not emit a read time for query responses, it would previously succeed but the QuerySnapshot.readTime would be unexpectedly undefined in application code. Now it throws an exception in such case (which should not ever happen because the backend always emits a read time as far as I understand).
Thoughts?

Ok I reverted back to null assertion instead of throwing an error. This is back to the behaviour it has always been. And I added to-dos for @ehsannas to follow up in a separate PR.


How to handle READ status of my messages?

I have managed to handle DELIVERED status with onAnyMessageStatus and onConversationMessageStatus. But noone method, containing 'status' in its name, isn't called when status is changed (READ, ERROR etc.). I'm using 3.5.1. Thanks for your work!

This is a bug in 3.5.1

Fixed


feat: implement IFE txbytes to id

Relates to https://github.com/omisego/elixir-omg/issues/1347
Overview
Bring plasma-contracts' ExitID.getInFlightExitId() into ExPlasma.

Ah, commented on https://github.com/omisego/elixir-omg/issues/1347#issuecomment-590806609 just a second ago. Considering this is PRed already, I think the only relevant comment from there is:

I think doing the calculation off-chain (that is, by a twin implementation in Elixir), a thorough conformance test would be needed to make sure both implementations are kept in sync. It should be a few lines of propcheck

WDYT?

@pdobacz Addressed your conformance test suggestion!

Thanks all!


Master

added tenantId as an option. Also made region not required parameter since it seems like the param is Rackspace specific.  http://developer.openstack.org/api-ref-identity-v2.html. region isn’t required at all for tokens API.

@shinstudio looks good, thanks for the update!


[Help] openapi lint gives [WARNING] Unused rules found in config

Describe the bug
I'm receiving a warning message that some of my rules are not evaluated by the lint command.
To Reproduce
Steps to reproduce the behavior:

Given this .redocly.yaml file
And any OpenAPI file(s)
Run this command with these arguments... openapi lint <spec> --format=stylish --config=<path>
See error

Expected behavior
All configured rules including extends and custom rules will be evaluated.
I did not find any information about plugin prefix or how to use it. I've not used it before and the cli was working as expected.
Logs
Woohoo! Your OpenAPI definition is valid. 🎉
[WARNING] Unused rules found in ../.redocly.yaml: path-characters
Check the spelling and verify you added plugin prefix.

We don't have a built-in rule path-characters and it looks like that may be a rule/remnant from a different linter?
We do have a built-in rule that will accomplish the same end-goal (so I wouldn't write a custom rule to do it) https://redoc.ly/docs/cli/resources/built-in-rules/#path-excludes-patterns
Using your pattern:
lint:
  path-excludes-patterns:
    severity: error
    patterns:
          # Check each path segment individually and ignore param segments
          # Note: the ':' is only allowed in the final path segment
      -  '^(/([0-9A-Za-z._~-]+|{[^}]+}))*(/([0-9A-Za-z._~:-]+|{[^}]*}(:[0-9A-Za-z._~-]+)?))$'

If you are not supporting an API with deviations already, have you considered enforcing lower case only for paths?

thanks.. you're right, i'm playing with multiple linters at the same time and reusing rulesets.
thanks for the suggestion on the lowercase path items.

@jeremyfiel please confirm if we can close this issue?


Replace PipelineRun removal with PipelineRun Pods and PVCs removal in tekton-resource-pruner

Pull Request Template
Description
The change replaces removal of the whole PipelineRun and all of it's resources with removal of only Pods and PVCs.
This allows preserving history of PipelineRuns in Tekton Dashboard.
Also this enables automated removal of workspace volumes, for example EBS Volumes in AWS when AWS EBS CSI Controller is used.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

Chart linting performed with helm lint.
The pipelines-library helm chart was checked with Chart Testing ct lint.
All the tekton-resource-pruner-related templates of the  pipelines-library helm chart were rendered with this helm template command:helm template tekton-resource-pruner -n $namespace \
./charts/pipelines-library -s templates/resources/pruner/* > /tmp/tekton-resource-pruner.yaml

The rendered templates were deployed to a Kubernetes cluster:kubectl apply -f /tmp/tekton-resource-pruner.yaml -n $namespace

The job was observed to launch both on schedule and manually several times with the correct actions performed and no errors in log output.

Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Hello @n-g-work !
Thank you for contribution, could you use squash to combine multiple commits into one?

Hi @NikolayMarusenko,
I'm all for commit squashing! But I believe there's an option for that on the target repository side and in the pull request merging interface somewhere. I don't have the option as I'm not authorized to complete merge requests on https://github.com/epam/edp-tekton repository.
Please check this article for details: https://github.blog/2016-04-01-squash-your-commits/


Manifest merger failed - Attribute application@fullBackupContent value=(false) from AndroidManifest.xml

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed : Attribute application@fullBackupContent value=(false) from AndroidManifest.xml:22:9-42
  	is also present at [com.exponea.sdk:sdk:3.6.1] AndroidManifest.xml:14:9-70 value=(@xml/exponea_default_backup_rules).
  	Suggestion: add 'tools:replace="android:fullBackupContent"' to <application> element at AndroidManifest.xml:5:2-11:19 to override.

I found this guide https://github.com/AppsFlyerSDK/appsflyer-android-sdk/issues/9#issuecomment-760150089 but unsure its correct on latest on version?
Please advise, thank you!

Im facing the same issue.


Added $logDepth which you can used to close log depth check.

https://github.com/Seldaek/monolog/pull/1672

https://github.com/hyperf/hyperf/issues/4740
https://github.com/hyperf/hyperf/pull/4754

Decided to do this differently, see https://github.com/Seldaek/monolog/commit/9c1566a971d42ff1acb4756708e8d9a5568bb194 - It'll be part of 2.7.0 when I get to it.

So I think you can already update your conflict rule to conflict with 2.6.*, and add a method_exists() check to disable that feature if the method is present?


add CLOUDFLARE_EXTRA_HEADERS

When specified, this environment variable will add or replace headers on API requests. Useful for local end-to-end testing of our API.
Fixes (issue TBD)
What this PR solves / how to test:
This (or some mechanism like it) is necessary for testing against locally running instances of our API. CLOUDFLARE_API_BASE_URL gets us halfway there, but we still need to specify auth tokens and other internal headers manually.
Associated docs issue(s)/PR(s):

TBD

Author has included the following, where applicable:

[✅ ] Tests
[ ❌] Changeset (Changeset guidelines)

Reviewer is to perform the following, as applicable:

Checked for inclusion of relevant tests
Checked for inclusion of a relevant changeset
Checked for creation of associated docs updates
Manually pulled down the changes and spot-tested

hey @aaronlisman :) are you still planning to land this PR or should it be closed?

hey @aaronlisman :) we haven't heard from you in a while, so we’re going to close this PR for now. please feel free to re-open when you're ready to land this :)


[T3A3][F10-A2]Jeremy Goh

Some comments added. Please close the PR after reading comments,
Hi Jeremy, Well done, simple and clean execution, however for this round of execution since this task is simple it is ok to do the changes and push all classes changes in 1 commit however, in future commits do take note to commit after each significant changes (in the case of this activity per class) instead of all in one :)
Do refer to above for other comments too :+1: for the indentation fixes!


Add TaxEntities2021 SGID.ECONOMY.TaxEntities2021

Summary

Proposed Readable Name: Utah Tax Entities 2021
Proposed Internal Dataset Name: TaxEntities2021
Proposed External Dataset Name: Utah Tax Entities 2021
Proposed Data Category: Economy
Data Description: Polygons depicting the Utah tax entities for 2021
Source Agency/Entity: Utah State Tax Commission
Contact: Utah State Tax Commission
Update Frequency: Yearly

This is the latest Tax Entities, which include all incorporated bodies that have the power to levy a local property tax such as school districts, counties, cities, special service districts, redevelopment districts, etc.
The data should be available in
1 Check [x] all the areas where you expect the data to show up.

[x] Internal SGID
[x] Open SGID
[x] ArcGIS Online
[x] Open Data

The data is of high quality

[ ] Sweeper checks have run and passed (@gregbunce on 2022/00/00)
[x] The minimum requirements for metadata are populated (@mheagin on 2022/03/31)
[ ] The data complies with our domain rules (@gregbunce on 2022/00/00)

Where is the data source
Choose one.

[x] Internal SGID
~[ ] Farm from AGOL (agol item url)~

Action items

Assign a person who should complete the task by replacing name with their github @name.
Check [x] the box when the task is completed and add the date of completion.
~Strike~ out all items that do not apply.

[x] Add data to the Internal SGID (@mheagin , completed: 2022/03/31)
~- [ ] Configure forklift for Farm from AGOL (name, completed: 2022/00/00)~
[x] Update relevant gis.utah.gov data pages (@stdavis, completed: 2022/04/01)
[x] Add a Stewardship record (@mheagin , completed: 2022/03/31)
[x] Complete a SGID.META.AGOLItems record (@stdavis, completed: 2022/04/01)
~[ ] Complete an AGOLItems_shelved record for any static or shelved item (name, completed: 2022/00/00)~

:robot: Automation validation

Assign yourself or someone to check the item by replacing name with their github @name.
Check [x] the box and add the date of verification 2020/01/01 when the task is verified.
~Strike~ out all items that do not apply.

[x] Open SGID via cloudb (@steveoh on 2022/04/04)
[x] ArcGIS Online via forklift (@stdavis on 2022/04/04)
[x] Auditor ran successfully (@jacobdadams on 2022/04/04)
[x] Open Data (name on 2022/04/04)
[x] gis.utah.gov data pages (@steveoh on 2022/04/06)
[x] sgid-index (@steveoh on 2022/04/06)

Notification

[x] Twitter (@steveoh)

Group Task Assignments

Check [x] the box when you have assigned all the tasks relevant to your group.

[ ] Data Team (@gregbunce)
[x] Dev Team (@steveoh)
[ ] Cadastre Team (@rkelson)

conductor results for tasks - 194

check
status

mheagin has completed 3 out of 3 tasks
:+1:

@stdavis has completed 1 out of 2 tasks
:no_entry:

@steveoh has completed 0 out of 4 tasks
:no_entry:

@jacobdadams has completed 0 out of 1 tasks
:no_entry:

@gregbunce has completed 0 out of 1 tasks
:no_entry:

@rkelson has completed 0 out of 1 tasks
:no_entry:

@mheagin is there a problem if ent_rate is 0 in all the records i looked at?

The stewardship spreadsheet is missing the open data url in the endpoint column and the website has not been updated with the new year and open data links.

thanks, mike, for the explanation.  the 2021 date in the title is a little confusing but i get what you're saying.  as long as we explain that (what you said) on the datapage and/or in the metadata that should help folks work out those details.

@nathankota Do I need to update locate to point to this new data?

@stdavis  > Do I need to update locate to point to this new data?
From the 2020 Tax Entity data I can't tell what locate might be using. I don't see tax entities as a map layer, and it doesn't seem to include any of the data in the summary report. I do see Tax Increment Areas, which seem to be different. Or maybe they're a subset of the Tax Entities? Let me know what I'm missing.

The Tax Increment Areas layer on the map and in the summary report is the tax entity data joined with some static county contacts.

Thank you for the reminder. Yes, this should be updated in Locate.

The Tax Increment Areas layer on the map and in the summary report is the tax entity data joined with some static county contacts.

conductor results for ECONOMY.TaxEntities2021

check
status

internal sgid
:+1:

meta table

- item id
:+1:

- item name
:+1:

- geometry type
:+1:

open sgid
:+1:

open data
:+1:

arcgis online
:+1:

stewardship

- Description
:+1:

- Data Source
:+1:

- Website URL
:+1:

- Endpoint
:+1:

- Data Type
:+1:


connHandler could it close the connection ?

Hi firstly thank you for the blueprint tutorial I have been reading a it is great love it.
Question the jdbc todo service has this connHandler that is wrapping every call done by service handler methods, why does this method not close the connection ?
Tx, Oscar

Hi, the APIs in Vert.x JDBC are all asynchronous(though backed by worker pool) and any operations we do on the connection is asynchronous (e.g. execute). So we have to wait for closing the connection after the operation result is prepared. That's why connHandler method doesn't close the connection as the handler.handle(connection) procedure is actually asynchronous.


Update README.md

Consistency of writing 'JAX'
Putting all installation comments together
Small edits otherwise

In simple parallelism, check whether start and end idx are correct (first GPU fits 140k, second 70k, text says together 140k?)

The README doesn't convince well at the moment what this library is really doing, i.e. the abstract key points of why we have it and why someone should use it are not clear enough. Overall, the structure is a bit unclear (e.g. what is the purpose of the repository section in Getting started?

Personal preference: I put more trust in a library if the examples/shown standard use cases do not need several command line arguments. The details are for the tutorials/examples, here I would stick to the simplest setting there is

This branch was merged into the docs branch for further improvement.


Better type annotations for getters and setters

See https://github.com/edkelly303/elm-nested-tuples/blob/cbc4fc3a1a3f9642c2e692709b5863d2ea9cab38/src/NestedTuple.elm#L416:L500
The type annotations inferred by the compiler for getter, endGetters, setter and endSetters are very general and it's not easy to understand what the types are doing. Even though I wrote these functions, I'm having a hard time working out what is going on.
Can I nerd-snipe the brilliant minds of the Elm community to figure out some more precise types and/or more descriptive names for the type variables here?

Never mind! Figured it out myself, thanks for rubberducking with me Github Issues!

Never mind! Figured it out myself, thanks for rubberducking with me Github Issues!


Adjust coloring values

I was wondering if there was a way to adjust color values based on a specific field in an sdf or xyz. I see options for occupancy which is potentially promising because I can script something to write to that field but I'm not sure which field that corresponds to in my file. Is this possible / is there any documentation that could help me with this? Thanks!

Hi @dangthatsright that's a great question!
I just dug into it a little. It seems there are fields that you can write to in SDF files: http://www.nonlinear.com/progenesis/sdf-studio/v0.9/faq/sdf-file-format-guidance.aspx
I don't think this is the case for .xyz
However, the sticking point is that I don't see a way to access these fields as colouring options in Mol*. You could reach out the Mol* devs for their take on the problem.
There is a glimmer of hope - while not ideal, one possible workaround is converting your xyz/sdf files to .pdbs. I believe occupancy is a PDB-specific field (and is often used for this sort of thing).
Do let me know how you get on if you decide to try this approach.

@a-r-j  I was able to parse my xyz file, and create the relevant pdb file using rdkit. I gotta say, it was not the cleanest implementation. Perhaps openbabel would've been better or something. Regardless, I got what I want to be displayed on Protein Viewer. The issue is that I would like some defaults to be set (3D representation, colors, color domain). Is there any way to save the defaults or override these defaults so I don't have change the values every time I open something new up?

Hey @dangthatsright glad the colouring worked out for you! Sorry that’s a little clunky but that’s the only thing I could think of..
that’s a great suggestion & something I thought would be nice to have.
VSCode extensions can be configured via the VSCode settings file (https://code.visualstudio.com/api/references/contribution-points#contributes.configuration)
The extension doesn’t support this atm but it would be great to do so in the future. If you’d like to try I’d be more than happy to support. Otherwise, it’s unclear to me when I’d have bandwidth to implement it myself.


Failed Stage 3 cloud

At first glance you failed to download the elevate rpm elevate-release-latest-el7.noarch.rpm.
Could you confirm you can download it using the following command?
>  wget http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

This could be a connectivity issue, or a temporary issue on the mirror you were using or maybe an invalid gpg check?
Thanks for checking if you can download the rpm.
If it works please run /scripts/elevate-cpanel --continue and provides us the log.
thanks

@maisondasilva we've not hear from you at this point.
I will close the case, feel free to reopen it with more details if needed.
thanks

Yes it worked, but after the reboot it lost the DNS settings, but I stopped at 4 where it asks for a cPanel license because I was testing on a copy of a VM, is it possible to get a license to test this until the end?

Thanks for your confirmation.
Regarding the DNS settings issue or the license request, please contact customer support.
This is not something I can address as part of that GitHub ticket.
thanks for your understanding


Ls refactoring

Check if everything works, if no - finish implementation.
Write a script that compares the outputs of ls and ft_ls.
Add readme.
Add tags.

Probably adding libft is needed as well


Add support context manager for ConnectionPool

Example code
with ConnectionPool(
    dsn=config.url.security(),
    max_db_pool_size=config.pool_size,
) as pool:
    pass

Thanks for the feature request!
We'll take in development as soon as possible.

Done in https://github.com/psqlpy-python/psqlpy/releases/tag/0.7.5


Location update isn't working

The traccar client hidden or normal for Android stop sending position after a while, i had to open the app again and restart the service and if i'm lucky works again, if not i had to do the same a couple of times, and works fine for a couple of minutes and stops again.

You have to add Traccar Client for battery optimization exceptions.

Thanks for your reply, where I can find that option in Android 4.4.2

There is no such option in official version of Android 4.4, as far as I know, but there might be some vendor specific configuration.

Did you mean a third party app?

No, I meant phone manufacturer software.

Thank you very much, I found one and I will try, if everything's ok I will close the issue, if not I'll write you again.


bigtable: add distinguishable "no such table" error

bigtable returns an opaque grpc.rpcError with error code 2 and only a string desc with the table's full name at the end for the user to match against for both creation of a duplicate table and deletion of non-existent table (at least, from the emulator). In the duplicate table case, you can figure it out by matching the prefix of the desc string (to ignore the server-generated full table name) and in the non-existent table case, you figure it out by matching the suffix of the desc string
This makes it harder to ignore non-problems in tests like deleting a table at the start of a unit test that doesn't already exist.
It would be nice to be able to tell what kind of error was returned without doing string matching or at least not string prefix and suffix matching. I'm not sure if the bigtable API supports that from first look, so maybe that's a feature request I would make elsewhere?'
Here's a test that shows off the errors (it expects the emulator to be running and $BIGTABLE_EMULATOR_HOST to be set).
func TestCreateDeleteTable(t *testing.T) {
    ctx := context.Background()
    admin, err := bigtable.NewAdminClient(ctx, "", "")
    if err != nil {
        t.Fatal(err)
    }

    err = admin.DeleteTable(ctx, "foobar_i_dont_exist")
    if err != nil {
        t.Errorf("what to do with %#v", err)
    }

    err = admin.CreateTable(ctx, "i_will_exist")
    if err != nil {
        t.Fatal(err)
    }
    err = admin.CreateTable(ctx, "i_will_exist")
    if err != nil {
        t.Errorf("second create i_will_exist: %s", err)
    }
    err = admin.DeleteTable(ctx, "i_will_exist")
    if err != nil {
        t.Fatalf("delete i_will_exist: %s", err)
    }
}

I believe I37389d46d4d74576067cc15e84f386f02bf46af1 is a fix for this issue, at least partially. The emulator now returns codes.NotFound in the same places that the bigtable service does, and with grpc.Code(err) == codes.NotFound you can check to see if your table deletion error should be ignored or not.
I'll leave this open until we write a test to verify that this behavior is consistent between the emulator and actual service.


Is there a way to check whether a key has been pressed without blocking the flow of the program?

Some function similar to the C# function Keyboard.IsKeyPressed(...).
If not.

I set myself a similar task (to catch the TAB keystroke) and found this library. But the only problem is that, as it turned out, it works synchronously.
So far I've come to this solution:

Disable echoMode and lineMode (in general, only lineMode should be disabled in this case, but the dart API documentation states the following "On Windows this mode can only be disabled if echoMode is disabled as well", so I had to disable both modes)
Get BroadcastStream from stdin
Make 2 subscriptions, one as before through transform(utf8.decoder).transform(LineSplitter()) and the second already for direct listening from the stream and when you receive a press on tab (keyCode=9) perform any actions, otherwise write to stdout stdout.writeCharCode(keyCode[0]) (remember I had to disable echoMode)

UPD
I wrote a helper class
import 'dart:async';
import 'dart:convert';

import 'dart:io';

class Console {
  Console(Function(int) onKeyListener, Function(String) onLineListener) {
    stdin.echoMode = false;
    stdin.lineMode = false;

    var stdinBroadcastStream = stdin.asBroadcastStream();

    stdinBroadcastStream
        .listen((keyCodesList) => onKeyListener(keyCodesList.first));

    stdinBroadcastStream
        .transform(utf8.decoder)
        .transform(LineSplitter())
        .listen((line) => onLineListener(line));
  }
}

there was a little more code, but I cut out the excess
use:
Console((keyCode) {
  // On key press event
  stdout.write(keyCode);
}, (line) {
  // On line print event
  stdout.write(line);
});

stdin has a stream with a listen method, if you combine this with placing stdin into non-line mode  I think you might have a solution.
I've not tried it but something like
 stdin.lineMode = false;
stdin.listen((data) -> print(data));

remember to place stdin back into lineMode before you exit


Performance of ufuncs

Raised by @tamasgal in https://github.com/scikit-hep/uproot4/issues/90#issuecomment-689459702:

Another problem, which I will post in a future issue that working with these arrays is far from the numpy performance (doing things like arr > 0.5 takes ~2ms for 100 entries, while in numpy/Julia/C it should be more around a few hundred ns), but that's another story.

Original dataset: http://<IP_ADDRESS>:8889/doubly_jagged.root
import uproot4
import awkward1 as ak
trks = uproot4.open("uproot-issue-90.root:E/Evt/trks")
array = trks["trks.rec_stages"].array()
ak.to_parquet(array, "awkward-issue-442.parquet")
array
# <Array [[[1, 2, 5, 3, 5, 4], ... 1], [1], [1]]] type='145028 * var * var * int64'>

As Parquet (faster to download and read into Awkward): https://drive.google.com/file/d/1JbiFaBaouH_amUxvGnsSHegYAQjRTJ8u/view?usp=sharing
The basic idea of performance in Awkward Array is that we don't worry about the constant-time metadata manipulation but should worry about the linear-time scaling. In particular, computing array > 3 of a doubly jagged array is pure Python: it unwraps the doubly jagged structure and calls NumPy's own np.greater on the inner flat content.
Because of the constant-time unwrapping, it shouldn't be surprising that the Awkward version doesn't start scaling until the array is at least 1000 entries or so. What is surprising is that the linear scaling for Awkward doesn't line up with the linear scaling for NumPy, because in theory, it isn't doing anything other than calling NumPy.

So this is a quandary.

You were faster a little bit! Here is a bit more detailed issue: https://github.com/scikit-hep/awkward-1.0/issues/443

Looking at your issue, I don't see how they're related. They might be related. I need to do a quick profile of this because there's a lot of linear time here that isn't due to NumPy, and I can't imagine what it might be.

Yes you are right, my issue is more related to the overhead when dealing with tinier bits of data.

PR #444 fixes the linear scaling issue:

The initial implementation conservatively assumed that ListArray/ListOffsetArray's starts/stops/offsets are always incompatible and have to be normalized to the same structure before applying the ufunc. That's why the discrepancy with NumPy scaled linearly: that normalization adjusts all of the starts/stops/offsets as well as the content to fit. In this case, there was only one list in the calculation (array < 3), so of course it wouldn't need to be normalized to itself!
Now we check for consistency and only do the normalization if necessary, so simple cases are brought exactly in line with NumPy because only NumPy is doing anything that scales with the size of the array. I had thought about adding a check for this before, but functionality comes before optimization and I wasn't sure if the check for consistency might be as expensive as the normalization. Your example demonstrates that it's not—not by a long shot!
It is still the case that if you have any ListArrays with gaps (e.g. stops[i] == N and starts[i + 1] != N), the full normalization applies. This is because the ufunc is not supposed to be executed on unreachable data (e.g. content[N]). This is partly for performance, so that you're not running the ufunc on unreachable data that won't matter to the output anyway, but also for correctness: if the ufunc would raise an error for unreachable data but not for reachable data, then the ufunc should not raise an error. That will save person-years of head-scratching!
The scaling as presented above is what we expect and strive for: the arrays have to be relatively large (10000 entries in this example) before they perform as well as NumPy. Optimizing operations on tiny arrays is out of scope for the Awkward array-at-a-time functions. The whole idea is that you have big data to work on; if it's small and there's only one of them, you don't notice the fraction of a second anyway, but if you have a lot of small arrays, that doesn't fit our vectorized model well. For that, you'd want just-in-time compilations: Numba or Julia!

Awesome, thanks for both the implementation and the fix!
...and of course for the detailed description of the whole problem


add fallback to default releases.bazel.build url

When BAZELISK_BASE_URL is set and bazelisk fails to download Bazel from that URL, it would either throw an HTTPError or exit with 22. It should instead fallback to the default releases.bazel.build url

I think the problem here is people use BAZELISK_BASE_URL because they forked the official repository and probably made some custom changes. Falling back to the official download is not what we expected.

Custom changes should not have the same version number as the official releases. So falling back to offical URLs only produces 404, which is expected.

The assumption is wrong. We maintain a version internally with our tweaks and we keep the internal version align with the main public version (e.g. 6.0.0).
Even if we do not align the version strictly, I think it's still reasonable we map our internal version to an arbitrary public version (e.g. internal 4.0.0 -> public 6.0.0).


Update algorithm. py: High Level Functions for Statistics Computations and Near Optimal Random Number Generation

In this update to the algorithm.py script, several enhancements have been made to improve its functionality and robustness. The primary feature introduced is a refined bootstrap resampling mechanism, which now includes better handling of edge cases and enhanced error checking. The script has been updated to support advanced statistical functions, including improved handling of missing data with nan-aware versions of functions. We also integrated a more efficient random number generation approach using numpy's new random number generator, default_rng, to ensure reproducibility and better performance. Additionally, the script now provides clearer warnings and error messages to guide users in resolving potential issues, and it includes more robust handling of structured data with unit-based resampling. These changes contribute to a more reliable and user-friendly tool for statistical analysis and bootstrap resampling.

This modification to the algorithm. py script introduces several key enhancements aimed at improving both functionality and performance:py` script introduces several key enhancements aimed at improving both functionality and performance:

Refined Bootstrap Resampling: Finally, the resampling mechanism has managed to be modified in a way that it will be better enabled to handle rather complicated cases and flaws. We have put efforts to include strong data error checking and made enhancements for the resampling process.

Enhanced Statistical Functions: New statistical functions have been included and optimized to include and handle missing data and to be nan-safe.

Improved Random Number Generation: A new struct is now used for the random number generation, built on numpy. default_rng(), which proved to be faster and reproducible.

Clearer Error Handling: This update has also incorporated more explanatory and informative advisories and messages so that the users can deal with possible problems more efficiently.

Structured Data Handling: There has been an improvement in the treatment of the script in relation to structured data, with features such the ability to do unit based resampling of the data for increased returns accuracy.

These enhancements make for a more effective application tool where the general user performs statistical analysis with bootstrap resampling. As suggested, here are the revisions made please have a look and let me know if there are other things you want changed or if there is anything that you do not understand.


[name] add removeName method to table__n_a_m_e

We can currently get and set names but we don't have a method to remove them. I've written similar code in several throwaway scripts before so I think it warrants its own method.

would also be nice to have a removeNames (plural) method to remove any name record that matches given combination of nameID, platformID, platEncID or langID.
E.g. say one wants to drop all records with platformID=1.
The signature of removeNames could have all of arguments default to None
def removeNames(self, nameID=None, platformID=None, platEncID=None, langID=None):

the methods iterates over all name records and only keeps those which don't match the input
(no-op if all args are None).

I've added the removeNames by using functools.partialmethod. Python 3.4+ is needed in order to use it. Happy to refactor if we need to support earlier versions of Python.

Another approach without using partialmethod could be:
	def removeNames(self, nameID=None, platformID=None, platEncID=None, langID=None):
		self.names = [n for n in self.names
				if n.nameID != nameID
				if n.platformID != platformID
				if n.platEncID != platEncID
				if n.langID != langID
		]

        def removeName(self, nameID, platformID, platEncID, langID):
            self.removeNames(nameID, platformID, platEncID, langID)

I think removeNames is enough. I'm not sure what the added benefit of removeName is to be honest.

I agree with Just, just removeNames is sufficient.

Thanks for the feedback both of you. I've dropped removeName and kept removesNames.

please do git fetch origin && git rebase origin/master to get rid of unrelated extra commits

this should work:
def removeNames(self, nameID=None, platformID=None, platEncID=None, langID=None):
    """Remove any name records identified by 'nameID', 'platformID', 'platEncID'
    or 'langID'.
    """
    args = {
        argName: argValue
        for argName, argValue in (
            ("nameID", nameID),
            ("platformID", platformID),
            ("platEncID", platEncID),
            ("langID", langID),
        )
        if argValue is not None
    }
    if not args:
        # no arguments, nothing to do
        return
    self.names = [
        rec for rec in self.names
        if any(
            argValue != getattr(rec, argName)
            for argName, argValue in args.items()
        )
    ]

I came up with:
def removeNames(self, nameID=None, platformID=None, platEncID=None, langID=None):
        """Remove name records identified by 'nameID', 'platformID', 'platEncID'
        and 'langID'.
        """
        if not any ([nameID, platformID, platEncID, langID]):
                return
        nameIDs, platformIDs, platEncIDs, langIDs = set(), set(), set(), set()
        for name in self.names:
                if name.nameID == nameID or nameID is None:
                        nameIDs.add(name)
                if name.platformID == platformID or platformID is None:
                        platformIDs.add(name)
                if name.platEncID == platEncID or platEncID is None:
                        platEncIDs.add(name)
                if name.langID == langID or langID is None:
                        langIDs.add(name)
        to_remove = nameIDs & platformIDs & platEncIDs & langIDs
        self.names = sorted(set(self.names) - to_remove)

Yours is cleaner so I'm going to use it :-). Thank you for your assistance on this.

Why is Cosimo's original listcomp not good enough?

Why is Cosimo's original listcomp not good enough?

because we want the method to drop name records when all the given (non-None) parameters match. My simpler list comprehension was too greedy, as it dropped any records when any of the input parameters match the corresponding attribute.

My simpler list comprehension was too greedy

Duh of course, now I see it. Thanks!


Single object detection and boxing

I'm having a use case where I do not only have to classify an image on a (small) set of categories, but I also need to do a really basic object detection, that can be accomplished via the image classification itself, since it will always be a single object in the image, but I will also need to have a rough estimate on where a specific feature of this object is, in order to perform further analysis on that part of the image.
I cannot complete this using other techniques, because the object I'm focusing on can be easily identified by a human, but has subtle variances between each instance that forces the solution into an AI-driven approach.
Is there some simplification in implementing some sort of single object detection into Ludwig, as opposite to a multi-object detection, or can that be naively trained with an image input and adding some numeric outputs (for ROI coordinates) ?
In the latter, a simple custom "box" output type extension, that wraps around existing numerical output features could be useful in abstracting this to a higher level.
I know you are focused on bugs, and I could take on this extension, but I wanted to pick your mind in the feasibility of such an approach.
Bye!

A box output type (or more generic vector potentially) would be a nice addition.
One could train it with the sum of mse on each dimension and use iou or jaccard index as a measure of quality.
It shouldn't be hard to implement, if you are interested we can chat about it.
Moreover, I believe using CoordConv would be greatly beneficial for the quality of the results. It will be super simple to implement it.
As a REALLY SUBOPTIMAL hacky solution, you can have 4 numerical output features for x, y, h and w respectively and see how far can you get with it.

Really suboptimal but i'm having great results with a simple numerical output, with initializer: ones
I really hope that's not only due of my net having memorized the inputs, because images are so similar, so I'm waiting for a bigger dataset to be ready, and in the meantime I'm playing with hyperparameters.
I took a look at what you proposed, but it's really out of my league to implement :)
Pull the "help wanted" tag, and just leave this as enhancement if you want

I would be interested in implementing this enhancement. Could you just point me where the solution would live? Thanks!

@nitrofortin  thanks for offering to help!
The ideal place to put it would be in the features package, something like boundingbox_feature.py.
It would have to contain both a class improting from BaseFeature and one importing from OutputFeature and should implement all the methods that are defined in those objects.
You can use the numerical_feature.py as a blueprint and modify things accordingly, knowing that the outputs are going to be a 4d vector, that the measures are different (intersection-over-union) and the loss will be different.
Refer to the object detection literature (for instance eq. 2 and 3 in Fast R-CNN or section 2.1 in YOLOv3) for figuring out the measures people usually use and the most adequate losses.
Ideally one may want to support also multiple boxes rather than only one, but this would be a great starting point.
Let me know if you need further guidance.

Thanks for the details, will be working on it!

Submitted a PR. Now it needs to pass the tests, work with an object detection problem (instead of the dummy iris dataset used) and supplemented with other losses (e.g.: like YOLOv3 as you mentioned).

@nitrofortin thank you so much! Will take a look over the weekend.


Page with scrolling support

There is any way to have "centered" movie even if page requires scroll?
I found that I can add style like backgroun-attachment: fixed to the div wrapper (with body setup). But I have not idea how to apply this style through configuration or other. There is any way?

You can try to make a wrapper with position:fixed property, do not see any else variants.

Works perfectly. Cheers.


use python3 not python in lib_common

In common/lib_common/makelib.mk call python3, not python
Resolves #97

Many thanks, I'll do a quick check and push it around the loop.


Added new alerter to send alerts to Opensearch

Description
Hi.
Problem:
I have a needs to send alerts to the opensearch index.
Solution:
I have added a new alerter to send alerts to Opensearch
Description: Create and manage separately index for all alerts for statistics and report purpose.
Opensearch alerter can be used to create a new alert in existen Opensearch. The alerter supports
custom fields, and observables from the alert matches and rule data.
Required:
opensearch_alert_config: Configuration options for the alert, see example below for structure.
customFields Fields must be manually added, all of them will exist in the newly created index. You can set own field or use existed field fron match(see example below for structure).
index_alerts_name: This field setup the output index for alerts.
One of below is required:
opensearch_connection: Options the connection details to your instance (see example below for the required syntax Example 1).
opensearch_config: Options for the get connection details to your instance  from file (see example below for the required syntax Example 2).
Example 1 usage::
alert: opensearch

opensearch_connection:
  es_host: localhost
  es_port: es_port
  ssl_show_warn: False
  use_ssl: True
  verify_certs: False
  es_username: user
  es_password: password
  index_alerts_name: opensearch_elastalert2               # You can create own config or use global config just added ``index_alerts_name`` in global config

opensearch_alert_config:
  #Existing fields from match alert
  message: message
  host.name: host.name
  event.action: event.action
  event.type: event.type
  winlog.computer_name: winlog.computer_name
  winlog.event_id: winlog.event_id
  winlog.task: winlog.task
  #Enrich existen event with additional fields
  customFields:
    - name: original_time
      value: "@timestamp"
    - name: severity
      value: high
    - name: risk_score
      value: 73
    - name: description
      value: General description.

Example 2 usage::
alert: opensearch

opensearch_config: /opt/elastalert/config/config.yaml       # You can create own config or use global config just added ``index_alerts_name`` in global config

opensearch_alert_config:
  #Existing fields from match alert
  message: message
  host.name: host.name
  event.action: event.action
  event.type: event.type
  winlog.computer_name: winlog.computer_name
  winlog.event_id: winlog.event_id
  winlog.task: winlog.task
  #Enrich existen event with additional fields
  customFields:
    - name: original_time
      value: "@timestamp"
    - name: severity
      value: high
    - name: risk_score
      value: 73
    - name: description
      value: General description.

Checklist

[x] I have reviewed the contributing guidelines.
[x] I have included unit tests for my changes or additions.
[x] I have successfully run make test-docker with my changes.
[x] I have manually tested all relevant modes of the change in this PR.
[x] I have updated the documentation.
[x] I have updated the changelog.

Questions or Comments

unit tests

Hello, this is an interesting alerter. It looks like it could be made to work with both Elasticsearch and OpenSearch instead of just OpenSearch, since it's already using the Elasticsearch Python SDK. Perhaps it (and its settings) could be renamed to index or indexer, something along those lines and make it agnostic to either OpenSearch or Elasticsearch.
Aside from that discussion, the missing unit tests are important so those should be included. Since you've done a good job breaking the logic into discrete functions it should be relatively light work to add that coverage. We aim for 100% coverage on all new code. A side effect of doing so is it lets the PR reviewers better understand what the inputs and outputs look like for each function.
Also, a couple instances of existen and existed typos should be corrected to existing in the docs.
Thanks for taking the time to submit this PR.

Thank you for your feedback.
I'll updated my patch based on your suggestions.

I updated my patch based on your suggestions.
Indexer

Description: Create and manage separately index for all alerts for statistics and report purpose.

Indexer alerter can be used to create a new alert in existing Opensearch/Elasticsearch. The alerter supports
custom fields, and observables from the alert matches and rule data.

Required:

``indexer_alert_config``: Configuration options for the alert, see example below for structure.

``customFields`` Fields must be manually added, all of them will exist in the newly created index. You can set own field or use existing field fron match(see example below for structure).

``index_alerts_name``: This field setup the output index for alerts.

One of below is required:

``indexer_connection``: Options the connection details to your instance (see example below for the required syntax Example 1).

``indexer_config``: Options for the get connection details to your instance  from file (see example below for the required syntax Example 2).

Example 1 usage::

    alert: indexeralerter

    indexer_connection:
      es_host: localhost
      es_port: es_port
      ssl_show_warn: False
      use_ssl: True
      verify_certs: False
      es_username: user
      es_password: password
      index_alerts_name: elastalert2               # You can create own config or use global config just added ``index_alerts_name`` in global config

    indexer_alert_config:
      #Existing fields from match alert
      message: message
      host.name: host.name
      event.action: event.action
      event.type: event.type
      winlog.computer_name: winlog.computer_name
      winlog.event_id: winlog.event_id
      winlog.task: winlog.task
      #Enrich existing event with additional fields
      customFields:
        - name: original_time
          value: "@timestamp"
        - name: severity
          value: high
        - name: risk_score
          value: 73
        - name: description
          value: General description.

Example 2 usage::

    alert: indexeralerter

    indexer_config: /opt/elastalert/config/config.yaml       # You can create own config or use global config just added ``index_alerts_name`` in global config

    indexer_alert_config:
      #Existing fields from match alert
      message: message
      host.name: host.name
      event.action: event.action
      event.type: event.type
      winlog.computer_name: winlog.computer_name
      winlog.event_id: winlog.event_id
      winlog.task: winlog.task
      #Enrich existing event with additional fields
      customFields:
        - name: original_time
          value: "@timestamp"
        - name: severity
          value: high
        - name: risk_score
          value: 73
        - name: description
          value: General description.

Nice job!
Will you please rename the alerter to "indexer" since none of the other alerters have that suffix?
Ex:
alert: indexer

The class name of IndexerAlerter is fine, so it just the lookup name that needs changed.

Thanks. Two remaining items:

Update the CHANGELOG.md file. You can add a new line under the New Features section of 2.TBD.TBD. Follow the same patterns from the previous releases.
Update the elastalert/schema.yaml, which helps ElastAlert 2 know that the user has supplied the required and optional parameters for this new alerter.

Also, I noticed that there is an inconsistently named property: index_alerts_name. All alerter specific props should consistently begin with the alerter name as the prefix. Ex: indexer_alerts_index might be more suitable here.

I corrected my little mistakes.
In the future, I will not make such mistakes.
Thank you.

Looks good. I'll leave this PR open for a few days, for additional comments by the community.

Thank you.


Question : geographic/Spatial indexing and quering with indexeddb

I'm using Dexie with geojson layers above leaflet map,
and I'm trying to search points in a given bounding box/ polygon.
Can it’s  done only with the normal API like 'between' ,
or I need to implement the indexing (like R-Tree algorithm) by myself here?

There's no geospatial indexing support in IndexedDB or in Dexie. You may use an index to search range in of the dimensions, and filter out the second dimension from that result.


Bind C-s to swiper, instead of M-P g

Thank you, but I would prefer not to. It was changed for a reason, namely to not conflict with Isearch. I am fine with a more ergonomic binding, but not this one.
Note also that when not using radian-bind-key, the :bind clause should be preferred to using bind-key directly.

Please also base pull requests on develop. That is where new development happens.


Error installing gem on windows 10

I am trying to install the gem on Windows 10.
I tried to install from master and got the same error.
c:\>gem install byebug
Building native extensions.  This could take a while...
ERROR:  Error installing byebug:
        ERROR: Failed to build gem native extension.

    C:/Ruby22/bin/ruby.exe -r ./siteconf20160324-11888-2k2t9p.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
generating byebug-i386-mingw32.def
compiling breakpoint.c
cc1.exe: warnings being treated as errors
In file included from c:/Ruby22/include/ruby-2.2.0/ruby/defines.h:163:0,
                 from c:/Ruby22/include/ruby-2.2.0/ruby/ruby.h:29,
                 from c:/Ruby22/include/ruby-2.2.0/ruby.h:33,
                 from ./byebug.h:4,
                 from breakpoint.c:1:
c:/Ruby22/include/ruby-2.2.0/ruby/win32.h:319:44: error: 'struct timespec' declared inside parameter list
c:/Ruby22/include/ruby-2.2.0/ruby/win32.h:319:44: error: its scope is only this definition or declaration, which is probably not what you want
c:/Ruby22/include/ruby-2.2.0/ruby/win32.h:320:43: error: 'struct timespec' declared inside parameter list
make: *** [breakpoint.o] Error 1

make failed, exit code 2

Gem files will remain installed in C:/Ruby22/lib/ruby/gems/2.2.0/gems/byebug-8.2.2 for inspection.
Results logged to C:/Ruby22/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/byebug-8.2.2/gem_make.out

c:\>

System information:
Microsoft Windows [Version 10.0.10586]
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
gem <IP_ADDRESS>

Hei, it certainly looks like a problem with your Ruby setup. I wish I could be of more help, but I don't use Windows. Sorry...
I'm going to close this since it does not seem like a problem in byebug.

@accipiterHawk Hei, I think I might have found the error, which actually lies in byebug. Are you willing to try some stuff?

I tried fixing this. @accipiterHawk could you try install latest master?

I will, give me a today to try again.

Success! You are awesome @deivid-rodriguez

Cool!! Thanks for the confirmation and for the compliment @accipiterHawk :smiley:


Ensure uniqueness of output filenames when merging modules

This fixes one of causes of the "multiple producers for output" assertion when building. For jobs that include a merge-modules step, it ensures that the intermediate swiftmodule don't have the same name as the top-level module output.
I've been thinking about how we could improve createTemporaryFilename too so it isn't a global function, but I haven't come up with any good ideas yet.
Fixes:
Driver/batch_mode_aux_file_order.swift
Driver/batch_mode_with_WMO_or_index.swift
ModuleInterface/linking-to-module.swift
multifile/objc_closure_escape/main.swift
multifile/typealias/one-module/main.swift

@swift-ci please test

Hmm, this breaks a lot of tests, I might need to reconsider the approach a bit

Hmm, this breaks a lot of tests, I might need to reconsider the approach a bit

This is probably the right approach, or atleast a step in the right direction. The tests likely just need to be updated to pattern match the output file names instead of equality checking.

@swift-ci please test


REFACTOR(runtime): make runtime independent of CH protocol

Current runtime crate uses some definitions from its ch module. These include definitions for the data block (Block) and data structure for the connection state (ConnCtx). These definitions include data specific to the ClickHouse protocol, which makes it infeasible for other protocols, e.g., MySQL.
This PR removes this dependency by introducing two protocol-agnostic definitions:

struct BaseDataBlock: This struct contains the exact data that TB's runtime requires, moving protocol-specific data to CH's Block.
trait BaseServerConn: This trait contains the connection information that TB's runtime needs to know, e.g, current database id. CH's ConnCtx implements this trait.

The two commits in this PR changes a considerable amount of code changes. But most of them are reorganization of code. Please feel free to leave comments.

@fandahao17 I've done a quick look on your this PR. It seems just bulks of renaming, moving of some base types. Basically, this changes are OK if you find it is necessary. Whether it is truly necessary then depends on your following changes:) Generally, I don’t encourage engineers to do over-engineering although most engineers often tend to do this :smile:. But this PR still stays OK in its sharp, and I do like to your following changes.  Let's go!


[Bug] IconTintColorEffect does not work when the image is in Shared project as EmbeddeResource

Description
An added image in the shared project as EmbeddeResource does not change TintColor
Steps to Reproduce

Create Xamarin project
Create ImageResourceExtension : IMarkupExtension
Add image the shared project and set up Build Action = EmbeddeResource
Add image in content page and apply IconTintColorEffect

Expected Behavior
The image color must change the color
Actual Behavior
The image has the original color
Basic Information
Visual Studio Community 2019 for Mac
Version 8.8.8 (build 12)
Installation UUID: 4fcbc297-9169-4ef5-b390-ed7872967085
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac <IP_ADDRESS> (d16-6 / 088c73638)
Package version: 612000113

Mono Framework MDK
Runtime:
Mono <IP_ADDRESS> (2020-02/4fdfb5b1fd5) (64-bit)
Package version: 612000113
Roslyn (Language Service)
3.8.0-5.20519.18+4c195c3ac1974edcefa76774d7a59a2350ec55fa
NuGet
Version: <IP_ADDRESS>60
.NET Core SDK
SDK: /usr/local/share/dotnet/sdk/5.0.103/Sdks
SDK Versions:
5.0.103
5.0.101
3.1.406
3.1.405
3.1.404
MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks
.NET Core Runtime
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
5.0.3
5.0.1
3.1.12
3.1.11
3.1.10
.NET Core 3.1 SDK
SDK: 3.1.406
Xamarin.Profiler
Version: <IP_ADDRESS>
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
Updater
Version: 11
Apple Developer Tools
Xcode 12.4 (17801)
Build 12D4e
Xamarin.Mac
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
Xamarin.iOS
Version: <IP_ADDRESS> (Visual Studio Community)
Hash: 5a05865f6
Branch: xcode12.4
Build date: 2021-01-28 02:30:23-0500
Xamarin Designer
Version: <IP_ADDRESS>0
Hash: 44e3f3ce9
Branch: remotes/origin/d16-8
Build date: 2020-12-10 00:06:14 UTC
Xamarin.Android
Version: <IP_ADDRESS> (Visual Studio Community)
Commit: xamarin-android/d16-8/a36ce73
Android SDK: /Users/andreszapata/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
None installed
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 30.0.4
SDK Build Tools Version: 29.0.2
Build Information:
Mono: 5e9cb6d
Java.Interop: xamarin/java.interop/d16-8@79d9533
ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000
SQLite: xamarin/sqlite/3.32.1@1a3276b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-8@2fb1cbc
Microsoft OpenJDK for Mobile
Java SDK: /Users/andreszapata/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_<IP_ADDRESS>
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
Android SDK Manager
Version: <IP_ADDRESS>
Hash: 01a7774
Branch: remotes/origin/d16-8
Build date: 2021-01-14 00:34:58 UTC
Android Device Manager
Version: <IP_ADDRESS>
Hash: 0a81419
Branch: remotes/origin/d16-8
Build date: 2021-01-14 00:35:22 UTC
Build Information
Release ID: 808080012
Git revision: 147eee6fcc43c486d8b79477b6a521322a015604
Build date: 2021-02-04 04:32:34-05
Build branch: release-8.8
Xamarin extensions: 147eee6fcc43c486d8b79477b6a521322a015604
Operating System
Mac OS X 10.16.0
Darwin 20.3.0 Darwin Kernel Version 20.3.0
Thu Jan 21 00:07:06 PST 2021
root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64

I've had a quick look at this issue and is seems te be an iOS only issue. On Android embedded images are being tinted properly. Will try to get it fixed, but need to investigate it a bit further.
@azapatac, just curious. Why have you created your own ImageResourceExtension? You could also use the XCT version of this :)

@azapatac can you provide a small repro?

We are facing the same issue like @azapatac , @jBijsterboschNL were you able to find a solution? I have tried to add an Observer to the Image Property of UIImageView but it was not triggered for new values, maybe I did something wrong there.

@azapatac @jBijsterboschNL @jfversluis
I could resolve this issue by changing SetUIImageViewTintColor to something like that:
async void SetUIImageViewTintColor(UIImageView imageView, Color color)
{
   if (imageView.Image == null)
      if (_retryCount < 4)
      {
        _retryCount++;
	await Task.Delay(100);
	SetUIImageViewTintColor(imageView, color);
      }
      else
	return;
   else
   {
      imageView.Image = imageView.Image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
      imageView.TintColor = color.ToUIColor();
       _retryCount = 0;
   }
}

I have this exact issue and it seems there is little to no work being done on the Xamarin version of anything anymore, if it isn't MAUI no one at MS seems to care to fix bugs so I think were on our own.
Does anyone know how to override the CommunityToolkit version of IconTintColorEffectRouter in IOS to update this method and fix the issue without spinning off an entire new CommunityToolkit just to fix this bug?

I have this exact issue and it seems there is little to no work being done on the Xamarin version of anything anymore, if it isn't MAUI no one at MS seems to care to fix bugs so I think were on our own.
Does anyone know how to override the CommunityToolkit version of IconTintColorEffectRouter in IOS to update this method and fix the issue without spinning off an entire new CommunityToolkit just to fix this bug?

Hey @mike-rowley it's true that we are spending more time getting the toolkit ready for MAUI but this toolkit is not maintained by Microsoft. There are some employees working in this but as the name suggests it's community based and they work on it in their spare time.
To answer your question, you could copy over the code to your project and fix the issue in your application. You will need to copy it for all platforms though. A better outcome would be that if you do solve it offer the fix back to us in a PR. I've used this approach in the past as I can fix it within my own release schedule but still always give it back

Thanks @bijington, you are 100% correct, I forgot this is in XCT and not Xamarin proper.  I have taken your advice and created a PR based on the solution provided by @TheDude1604

Thanks @bijington, you are 100% correct, I forgot this is in XCT and not Xamarin proper.  I have taken your advice and created a PR based on the solution provided by @TheDude1604

Thank you so much for the contribution! I think @pictos has already taken a look, at least I've seen some notifications about it.

Yes, I'm. I'll test on my end ASAP (:

Hello!
IconTintColorEffect is very useful and we were tried to attach it to SvgCachedImage from FFImageLoading library.
But now it crashing right here - https://github.com/xamarin/XamarinCommunityToolkit/commit/6b6a02ec9c3135b1da472e7165a5faef2befc44a#r69840142
Is it possible to make something like that?
This code not crashing and tint icon as expected :)
if (e.PropertyName == Image.IsLoadingProperty.PropertyName)
{
    var isLoading = (bool)Element.GetType().GetProperty(e.PropertyName).GetValue(Element);

    if (!isLoading)
    {
         ApplyTintColor();
    }
}

@VictorKochetkov this toolkit won't provide support for tinting other libraries image controls. I do believe that FFImageLoading provides it's own mechanism for tinting images in their own controls though.

@pictos and @mike-rowley can this issue be closed? I think the PR went in that solves this issue?

@bijington yes I think it can be closed, the PR solves this issue as far as I am concerned


An API Builder object that allows for custom methods on routes

This work wraps the current API object with a builder class.  This affords a few benefits over using the raw API class.

We are separating the concerns of building an API and using and API.  The current API class has both setters and doers.  Ideally we would avoid such hybrids.  This builder does not affect the API class (for backwards compatibility) but we could at some point deprecate the setters on the API object.
To better support a builder pattern, the setters in the new APIBuilder class all return self which means it can be used in a chained way. For example:

 app = APIBuilder() \
     .add_get_route('/', foo_resource.get_foos) \
     .add_put_route('/update_bar', update_bar) \
     .build()

Functions in resources no longer need to be named after HTTP methods and prefixed with the on_ prefix.  This means that a resource can now have functions named updated_username, or create_user and have those methods be agnostic of the HTTP method that is directed to them.
The builder frees up the tight-REST resource constraint of Falcon, where a resource must be a class with at most one function per HTTP method.
4.1 A route can now just be a top level python function which takes a request and a response.
4.2 A resource can have multiple methods which are using the same HTTP method as long as they are
using a different uri template.

For this change I have maintained 100% test coverage by:

Adding new tests in tests/test_api_builder.py to cover any code paths of the builder.
Adding a doubled test in every other test where we instantiate an API but using the APIBuilder instead.  This should shore up any confidence issues in this new APIBuilder providing the same underlying API as would have been constructed by calling the API directly.

Wow, this is really neat, thanks for submitting it! Sorry for it taking so long to get you feedback, we have been working hard on 2.0.
A change like this is rather large and would be hard to integrate directly, so we can't take this as is.  However, there are some neat patterns (like the APIBuilder) in this PR that might be well suited for a separate package and we would be interested in seeing that grow in the community apart from the base framework and talk about inclusion when it has stablized.
We have heard from the community that it would be useful to have simple functions for resources. I have opened an issue for this (#1532).
We have also been discussing how to encourage people to structure falcon projects. You can track that in #1051, I think that loosely dovetails into your API builder.

where a resource must be a class with at most one function per HTTP method

You can now use the suffix kwarg on Api.add_route to tell Falcon that there is more than one responder function on this resource.
class MyResource:
    def on_get(self, req, resp, obj_id):
        resp.media = { 'label': 'MySingleObject'}

    def on_get_collection(self, req, resp):
        resp.media = [{ 'label': 'MyObject1'}, {'label': 'MyObject2'}]

api = falcon.Api()
my_resource = MyResource()
api.add_route("/obj", my_resource, suffix='collection')
api.add_route("/obj/{obj_id}", my_resource)

I am going to close this PR for now since we can't merge this as is, it is just to big of a change. Catch one of the @falconry/maintainers on the Gittr channel if you have more questions.


[#156914616] feat: add payment metadata to message

... and forward payment amount + notice_number to the webhook (push notification)
we have to decide how to process this informations for emails

Affected stories

🌟 #156914616: Il modello dati del messaggio va esteso con i metadati di pagamento

  Generated by :no_entry_sign: dangerJS

looks good! thanks