Add custom DataTable sorting method

The current DataTable sorting just works fine. It would also be great to be able to set a custom sorting method to manage situations where the displayed data is treated differently than the ‘raw’ data, e.g.: currency should be sorted as a number (3217.58) and displayed as a formatted string ($3,217.58).

Agreed. Maybe by exporting the default sort function as a prop?

Maybe, in which case the exposed sort method would need to tell on which column you are to make it possible to sort each column in a unique way.

A soft solution to this may be just passing two values into the rows array: the raw one (3217.58, as a number) for sorting purposes and the to-be-displayed one ("$3,217.58", as a string).

So the default sort method is fine – you just need a way to format the value as displayed in the UI?

In this case, where a number gets displayed as a formatted string, it could be handled maybe by passing a display function to the header object:
import { number } from "svelte-i18n";

const headers = [
  {
    label: "Name",
  },
  {
    label: "Price",
    display: (value) => $number(value, { format: 'EUR' }),
  },
];

const rows = [
  {
    name: "John",
    price: 3217.58,
  },
];

But, in a case where a date value is involved, a custom sort function would be great, as you cannot sort properly by default "2020-09-21" nor "4 days ago". Something like the way is described in https://github.com/IBM/carbon-components-svelte/issues/282#issuecomment-698446919:
import dayjs from "dayjs";
import { date, number } from "svelte-i18n";

const headers = [
  {
    label: "Name",
  },
  {
    label: "Price",
    display: (value) => $number(value, { format: 'EUR' }),
  },
  {
    label: "Date",
    display: $date,
    sort: (a, b) => dayjs(a).isBefore(dayjs(b)),
];

const rows = [
  {
    name: "John",
    price: 3217.58,
    date: "2020-09-21",
  },
];

@metonym, what do you think about this breaking change? Do you think of any other way to ‘relax’ the change to the headers object provided?

@albertms10  Based on the strength of the your use case, I find it difficult to disagree. And as you stated, it is not a breaking change so long as there are runtime checks that certain keys/methods are defined.
To reiterate, you propose an optional sort and display methods in the headers object?
Feel free to work on this and submit a PR

Yes, summing up, both sort and display methods may be added to the headers object array.


⚠ ClamAV has degraded performance

In e669c5a, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 566 ms

Resolved: ClamAV performance has improved in 4243735 after 6 minutes.


Support concurrent access to multiple databases

Hello! ✋
In our use case, we are managing several databases from our application concurrently.
We are taking into consideration the different VFSs of wa-sqlite, but after some testing, we realized that when we access concurrently different databases (no concurrent access to the same database), we encounter all sorts of possible errors (some listed below).

Is concurrent access to multiple databases supported?
If yes, what is the proper way to achieve it? Should we create a VFS for each DB?

I put together a tiny demo that helps us (and maybe someone else) replicate the concurrency problems, currently available here. It is similar to the original demo (access it at demo/concurrency.html), with the difference that it can be run on several databases concurrently and also protect them with a mutex. Interestingly, by accessing the different databases exclusively with a mutex, there are no errors.
My suspect is that asyncify + concurrency use breaks the sqlite implementation. In this case, the only options are either using a sync implementation (e.g. sync file handle pool) or prevent any concurrent access with a mutex (with possible hit on performance)
Here are some errors happening when running SQLite concurrently:
Uncaught (in promise) RuntimeError: memory access out of bounds
    at wa-sqlite-async.wasm:0xf0993

wa-sqlite.wasm:0x3fffa Uncaught (in promise) RuntimeError: null function or function signature mismatch
    at wa-sqlite.wasm:0x3fffa

OriginPrivateFileSystemVFS.js:116 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'filename')
    at OriginPrivateFileSystemVFS.js:116:30

...

My suspect is that asyncify + concurrency use breaks the sqlite implementation.

Your suspicion is correct. You are effectively trying to run multiple threads here, but an Asyncify-ed WASM module instance is in general not reentrant:

It is not safe to start an async operation while another is already running. The first must complete before the second begins.

I've never tried to do this so I don't know exactly what exceptions you might get, but I would expect it to fail spectacularly.

In this case, the only options are either using a sync implementation (e.g. sync file handle pool) or prevent any concurrent access with a mutex (with possible hit on performance)

You could try either of those things. I haven't tried creating multiple database connections in a single WASM module instance, but I believe it should be possible as long there is at most one WASM call executing at a time. I probably wouldn't do this, though, because the bugs here will be race conditions which are difficult to track down.
If you can dedicate a separate Worker to each database connection then I would recommend doing that. That would maximize your concurrency since you will actually be running in separate threads.
If you need everything in one Javascript context then another thing you can try is creating multiple WASM module instances and put a database connection in each one. This is something else I have never tried but I think should work.
 This will provide no concurrency at all but might give you the fewest headaches.

You could try either of those things. I haven't tried creating multiple database connections in a single WASM module instance, but I believe it should be possible as long there is at most one WASM call executing at a time. I probably wouldn't do this, though, because the bugs here will be race conditions which are difficult to track down.

Is this true also for the sync version or just for the async? AFAIU this concurrency problem is probably caused by asyncify. I was thinking that the sync access pool (that doesn't use asyncify) should not have any concurrency issues since it's a fully sync API and implementation, isn't it 🤔

If you can dedicate a separate Worker to each database connection then I would recommend doing that. That would maximize your concurrency since you will actually be running in separate threads.

We have 4 databases but we don't write continuously to all of them, I'll try to evaluate whether a mutex is sufficient, but thanks for the suggestion 🙏

If you need everything in one Javascript context then another thing you can try is creating multiple WASM module instances and put a database connection in each one. This is something else I have never tried but I think should work.

This sounds reasonable, assuming sqlite doesn't use a lot of memory. Is there a trivial way to achieve this? Do we just need to load the sqlite module multiple times?

 This will provide no concurrency at all but might give you the fewest headaches.

Even if we do that, we still need to prevent our application from trying to access the single connection concurrently, so we need the mutex anyway.
Thanks for the help!

Is this true also for the sync version or just for the async? AFAIU this concurrency problem is probably caused by asyncify.

Yes, you're correct. A non-Asyncify build should not have these problems, and you can use AccessHandlePoolVFS with it. So that may be the best thing to try first.

Do we just need to load the sqlite module multiple times?

If you import the ES6 module like this:
import SQLiteESMFactory from 'wa-sqlite/dist/wa-sqlite-async.mjs';

Then you would call SQLiteESMFactory() multiple times. But again, I've never tried that.


Bundle-kubeflow tutorials don't run properly

Hi,
I have been trying the 2 tutorials that come with the bundle: [Tutorial] DSL - Control structures] and [Tutorial] Data passing in python components and I cannot get any result, since the run ends in error: This step is in Error state with this message: task 'file-passing-pipelines-wjvkq.repeat-line' errored: Internal error occurred: failed calling webhook "admission-webhook.kubeflow.org": Post "https://admission-webhook.kubeflow.svc:4443/apply-poddefault?timeout=10s": x509: certificate signed by unknown authority.
I have also compiled sequential.py a very simple sample with dsl-compile without success, same error message in the Run.
I guess this is a small issue, but nevertheless difficult to fix for a newcomer. If would appreciate any help you could provide
While I was executing the sequential.py, the debug-log was:
application-envoy: 18:42:23 INFO juju.worker.caasoperator.uniter.envoy/0.operation ran "update-status" hook (via hook dispatching script: dispatch)
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log Reactive main running for hook update-status
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log Initializing Leadership Layer (is leader)
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log Invoking reactive handler: reactive/mariadb.py:61:set_mariadb_active
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log Invoking reactive handler: hooks/relations/mysql/provides.py:20:_handle_joined:mysql
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log Invoking reactive handler: reactive/mariadb.py:71:provide_database
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log request -> mysql:11 for app -> kfp-api
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log db params: mysql:password@mlpipeline
application-kfp-db: 18:43:56 INFO unit.kfp-db/0.juju-log status-set: active: ready
application-kfp-db: 18:43:57 INFO juju.worker.caasoperator.uniter.kfp-db/0.operation ran "update-status" hook (via explicit, bespoke hook script)
application-seldon-controller-manager: 18:43:59 INFO juju.worker.caasoperator.uniter.seldon-controller-manager/0.operation ran "update-status" hook (via hook dispatching script: dispatch)
The status of juju shows everything in green except for:
dex-auth/3*                   error     idle   <IP_ADDRESS>  5556/TCP   hook failed: "oidc-client-relation-broken"
dex-auth/4                    waiting   idle   <IP_ADDRESS>  5556/TCP  Waiting for leadership
Thanks very much for your kind support.
Regards,
Ramón Girona

Hi Ramon, thanks for your ticket. Sadly I am not able to replicate the problem with latest/stable bundle (juju deploy kubeflow-lite --trust). Can you please give me more context to your problem.

Which bundle did you deploy?
What are the logs in dex-pods  (get pods name kubectl get po -n kubeflow | grep dex and then logs kubectl logs -f <name> -n kubeflow)
What are the logs in admission webhook pods?
Please try also to check  juju debug-log --replay (history of logs) for any ERRORs

Hi, thanks very much Misohu, Answers in line:

Which bundle did you deploy?
If the bundle  version corresponds to the build version on the left bottom corner is build version dev_local. The bundle I downloaded from https://www.kubeflow.org/docs/started/installing-kubeflow/ was 1.4. I f you need other version from specific components, pls let me know_

What are the logs in dex-pods (get pods name kubectl get po -n kubeflow | grep dex.
Sorry I can not get them. I got other issues with The connection to the server localhost:8080 was refused - did you specify the right host or port?. I set up the env variable KUBECONFIG to point to ~/.kube/conf without success. conf file after installation was anyway:
apiVersion: v1
clusters: null
contexts:

context:
cluster: ""
user: ""
name: /home/ramon/.kube/kubeconfig1.yml
current-context: /home/ramon/.kube/kubeconfig1.yml
kind: Config
preferences: {}
users: null

I made some changes trying to set up the cluster server address server: http://<IP_ADDRESS>.nip.io and name to cluster.local without success

Please try also to check juju debug-log --replay (history of logs) for any ERRORs
Since I booted the linux partition, the errors I received were:
application-minio: 22:05:26 DEBUG juju.api no error, but not connected, probably cancelled before we started
application-minio: 22:05:30 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-minio" cannot open api: cannot resolve "controller-service.controller-microk8s-localhost.svc.cluster.local": lookup controller-service.controller-microk8s-localhost.svc.cluster.local: i/o timeout
impacting most  services not only minio

Then:
application-kfp-viewer: 22:05:42 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-kfp-viewer" cannot open api: unable to connect to API: dial tcp <IP_ADDRESS>:17070: connect: connection refused
application-kfp-profile-controller: 22:05:43 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-kfp-profile-controller" cannot open api: unable to connect to API: dial tcp <IP_ADDRESS>:17070: connect: connection refused
application-kubeflow-volumes: 22:05:43 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-kubeflow-volumes" cannot open api: unable to connect to API: dial tcp <IP_ADDRESS>:17070: connect: connection refused
application-seldon-controller-manager: 22:05:43 DEBUG juju.api no error, but not connected, probably cancelled before we started
application-minio: 22:05:43 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-minio" cannot open api: cannot resolve "controller-service.controller-microk8s-localhost.svc.cluster.local": lookup controller-service.controller-microk8s-localhost.svc.cluster.local: i/o timeout
application-seldon-controller-manager: 22:05:43 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-seldon-controller-manager" cannot open api: try was stopped
application-kfp-viz: 22:05:44 DEBUG juju.api no error, but not connected, probably cancelled before we started
application-kfp-viz: 22:05:44 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: [0abb01] "application-kfp-viz" cannot open api: unable to connect to API: dial tcp <IP_ADDRESS>:17070: connect: connection refused
application-kfp-api: 22:05:55 ERROR juju.worker.dependency "upgrader" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 ERROR juju.worker.caasoperator.uniter.kfp-api/0.relation while stopping unit watcher: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 ERROR juju.worker.dependency "migration-inactive-flag" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 INFO juju.worker.caasoperator.uniter.kfp-api/0 unit "kfp-api/0" shutting down: failed to initialize uniter for "unit-kfp-api-0": cannot create relation state tracker: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 INFO juju.worker.caasoperator.runner stopped "kfp-api/0", err: failed to initialize uniter for "unit-kfp-api-0": cannot create relation state tracker: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 ERROR juju.worker.caasoperator.runner exited "kfp-api/0": failed to initialize uniter for "unit-kfp-api-0": cannot create relation state tracker: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 ERROR juju.worker.dependency "migration-minion" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-api: 22:05:55 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:35748-><IP_ADDRESS>:17070: read: connection reset by peer
application-kubeflow-profiles: 22:05:55 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:17070: read: connection reset by peer
application-dex-auth: 22:05:58 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-kubeflow-profiles: 22:05:58 ERROR juju.worker.caasoperator.uniter.kubeflow-profiles/0 resolver loop error: executing operation "upgrade to ch:amd64/focal/kubeflow-profiles-63" for kubeflow-profiles/0: writing state: connection is shut down
application-kubeflow-profiles: 22:05:58 INFO juju.worker.caasoperator.runner stopped "kubeflow-profiles/0", err: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:17070: read: connection reset by peer
application-kubeflow-profiles: 22:05:58 ERROR juju.worker.caasoperator.runner exited "kubeflow-profiles/0": codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:59004-><IP_ADDRESS>:17070: read: connection reset by peer
unit-metacontroller-operator-0: 22:05:58 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:43730-><IP_ADDRESS>:17070: read: connection reset by peer
unit-metacontroller-operator-0: 22:05:58 ERROR juju.worker.uniter resolver loop error: executing operation "run start hook" for metacontroller-operator/0: writing state: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:43730-><IP_ADDRESS>:17070: read: connection reset by peer
unit-metacontroller-operator-0: 22:05:58 INFO juju.worker.uniter unit "metacontroller-operator/0" shutting down: executing operation "run start hook" for metacontroller-operator/0: writing state: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:43730-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-schedwf: 22:06:00 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49628-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-schedwf: 22:06:00 INFO juju.worker.caasoperator.runner stopped "kfp-schedwf/0", err: leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49628-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-schedwf: 22:06:00 ERROR juju.worker.caasoperator.runner exited "kfp-schedwf/0": leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49628-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-viewer: 22:06:02 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49212-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-viewer: 22:06:02 ERROR juju.worker.caasoperator.uniter.kfp-viewer/0.context cannot apply changes: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49212-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-viewer: 22:06:02 ERROR juju.worker.caasoperator.uniter.kfp-viewer/0.operation hook "upgrade-charm" (via hook dispatching script: dispatch) failed: cannot apply changes: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49212-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-viewer: 22:06:02 INFO juju.worker.caasoperator.runner stopped "kfp-viewer/0", err: leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49212-><IP_ADDRESS>:17070: read: connection reset by peer
application-kfp-viewer: 22:06:02 ERROR juju.worker.caasoperator.runner exited "kfp-viewer/0": leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:49212-><IP_ADDRESS>:17070: read: connection reset by peer
application-istio-pilot: 22:06:02 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:51220-><IP_ADDRESS>:17070: read: connection reset by peer
application-istio-pilot: 22:06:02 INFO juju.worker.caasoperator.runner stopped "istio-pilot/0", err: leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:51220-><IP_ADDRESS>:17070: read: connection reset by peer
application-istio-pilot: 22:06:02 ERROR juju.worker.caasoperator.runner exited "istio-pilot/0": leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:51220-><IP_ADDRESS>:17070: read: connection reset by peer
application-dex-auth: 22:06:03 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:06:05 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-kfp-viewer: 22:06:11 INFO juju.worker.caasoperator.uniter.kfp-viewer/0 awaiting error resolution for "upgrade-charm" hook
application-kubeflow-profiles: 22:06:12 INFO unit.kubeflow-profiles/0.juju-log pod.set_spec() completed without errors
application-kubeflow-profiles: 22:06:14 INFO unit.kubeflow-profiles/0.juju-log pod.set_spec() completed without errors
application-dex-auth: 22:06:15 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
unit-kubeflow-roles-0: 22:06:15 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:33676-><IP_ADDRESS>:17070: read: connection reset by peer
application-dex-auth: 22:06:16 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-kfp-viewer: 22:06:16 INFO juju.worker.caasoperator.uniter.kfp-viewer/0 awaiting error resolution for "upgrade-charm" hook
application-kubeflow-volumes: 22:06:19 ERROR juju.worker.dependency "api-caller" manifold worker returned unexpected error: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:38714-><IP_ADDRESS>:17070: read: connection reset by peer
application-kubeflow-volumes: 22:06:19 INFO juju.worker.caasoperator.runner stopped "kubeflow-volumes/0", err: leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:38714-><IP_ADDRESS>:17070: read: connection reset by peer
application-kubeflow-volumes: 22:06:19 ERROR juju.worker.caasoperator.runner exited "kubeflow-volumes/0": leadership failure: error making a leadership claim: codec.ReadHeader error: error receiving message: read tcp <IP_ADDRESS>:38714-><IP_ADDRESS>:17070: read: connection reset by peer
application-dex-auth: 22:06:35 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:06:36 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:07:16 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:07:17 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:07:34 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:07:49 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:08:38 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-dex-auth: 22:08:39 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
application-kfp-db: 22:11:07 ERROR juju.worker.dependency "log-sender" manifold worker returned unexpected error: sending log message: read tcp <IP_ADDRESS>:38560-><IP_ADDRESS>:17070: read: connection reset by peer: use of closed network connection
application-dex-auth: 22:11:17 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
...
unit-training-operator-0: 22:11:50 ERROR juju.worker.dependency "log-sender" manifold worker returned unexpected error: sending log message: read tcp <IP_ADDRESS>:36544-><IP_ADDRESS>:17070: read: connection reset by peer: use of closed network connection
application-dex-auth: 22:16:18 INFO juju.worker.caasoperator.uniter.dex-auth/3 awaiting error resolution for "relation-broken" hook
... (other INFO messages)

Hi @jrgirona, regarding this:
task 'file-passing-pipelines-wjvkq.repeat-line' errored: Internal error occurred: failed calling webhook "admission-webhook.kubeflow.org": Post "https://admission-webhook.kubeflow.svc:4443/apply-poddefault?timeout=10s": x509: certificate signed by unknown authority.

Looks related to canonical/admission-webhook-operator#26, which our team has identified recently. Do you mind trying the workaround in the description of that issue and let us know your results?
Please note that our official documentation has instructions on how to deploy Charmed Kubeflow correctly. Also note that we now have two versions, 1.4/stable and 1.6/beta, to assist you better in the future, the version of your Charmed Kubeflow deployment is whatever you specify in your deployment command, for example: juju deploy kubeflow --channel 1.4/stable --trust.

Hi, the environment is further degraded.
I will copy you what I got and what I have tried. This morning I was talking with a technician from Canonical (a marketing meeting) and he told me to dump the bundle configuration by means of
(base) ramon@ramon-XPS-15-9510:~$ conda activate kube
(kube) ramon@ramon-XPS-15-9510:~$ juju status
ERROR starting proxy for api connection: connecting k8s proxy: Get "https://<IP_ADDRESS>:16443/api/v1/namespaces/controller-microk8s-localhost/services/controller-service": x509: certificate has expired or is not yet valid: current time 2022-08-25T23:12:23+02:00 is before 2022-08-25T23:08:23Z
THIS ERROR IS PRETTY NEW (FROM TODAY)
(kube) ramon@ramon-XPS-15-9510:~$ juju status
ERROR starting proxy for api connection: connecting k8s proxy: Get "https://<IP_ADDRESS>:16443/api/v1/namespaces/controller-microk8s-localhost/services/controller-service": x509: certificate has expired or is not yet valid: current time 2022-08-25T23:12:48+02:00 is before 2022-08-25T23:08:23Z
Here I try your kubectl command, but the error is the same I already mentioned above when making use of Kubectl
(kube) ramon@ramon-XPS-15-9510:~$ kubectl rollout restart deployment/admission-webhook -n kubeflow
The connection to the server localhost:8080 was refused - did you specify the right host or port?
(kube) ramon@ramon-XPS-15-9510:~$ juju
Welcome to the Juju interactive shell.
Type "help" to see a list of available commands.
Type "q" or ^D or ^C to quit.
admin@microk8s-localhost:kubeflow$ ^C
I then try to deploy gain kubeflow to start it over, same ERROR than when using juju status
(kube) ramon@ramon-XPS-15-9510:~$ juju deploy kubeflow --channel 1.4/stable --trust
ERROR starting proxy for api connection: connecting k8s proxy: Get "https://<IP_ADDRESS>:16443/api/v1/namespaces/controller-microk8s-localhost/services/controller-service": x509: certificate has expired or is not yet valid: current time 2022-08-25T23:16:03+02:00 is before 2022-08-25T23:08:23Z
And then to export the bundel config
(kube) ramon@ramon-XPS-15-9510:~$ juju export-bundle
ERROR starting proxy for api connection: connecting k8s proxy: Get "https://<IP_ADDRESS>:16443/api/v1/namespaces/controller-microk8s-localhost/services/controller-service": x509: certificate has expired or is not yet valid: current time 2022-08-25T23:18:15+02:00 is before 2022-08-25T23:08:23Z
I don't know what could I do next? Remove kubeflow? Kubeflow and microk8s? Everything, including Juju and restart from scratch?
Thanks

See that I am using the laptop with dual boot, since I am usually working in windows, and I don't know if this also has consequences for Kubeflow and juju. Thanks very much

I have seen that microk8s has jumped to 2.9
(kube) ramon@ramon-XPS-15-9510:~$ juju controllers
Use --refresh option with this command to see the latest information.
Controller           Model     User   Access     Cloud/Region        Models  Nodes  HA  Version
microk8s-localhost*  kubeflow  admin  superuser  microk8s/localhost       2      1   -  2.9.32
I recall it was necessary to work with version 1.21 or I am wrong. I haven't upgraded intentionally mikrok8s version

Hello @jrgirona, thanks for the update.
It looks that something is now broken with your microk8s deloyment, on which both juju and kubeflow rely on.
You can check the certificates validity by running sudo microk8s refresh-certs -c.
It would be best to remove the current deployment and start from scratch. I recommend following the quickstart guide which includes steps to deploy both microk8s, juju and kubeflow. Please note that kubeflow 1.4 (current stable version) supports microk8s v1.21. 2.9.32 is the version of juju.
Dual boot doesn't impact juju and kubeflow.
Please share your results and let us know if you need any assistance.

Following the official documentation, after uninstalling the model kubeflow and the controller microk8s, and removing the microk8s snap, I found an error and I don't know what's the best fix or workaround
UNINSTALLING to start from scratch:
$ juju destroy-model kubeflow --destroy-storage
Errors uninstalling
The following resources have not yet been removed:
_ - 3 application(s)_
Because the destroy model operation did not finish, there may be cloud resources left behind.
Run 'destroy-model  --timeout=0 --force' to clean up the Juju model database records
even with potentially orphaned cloud resources.
ERROR timeout after 30m0s
$ juju destroy-model kubeflow --timeout=0 --destroy-storage --force
...
Because the destroy model operation did not finish, there may be cloud resources left behind.
$ juju destroy-controller microk8s-localhost --destroy-storage
$ juju controllers
ERROR No controllers registered.
Correct, I guess. I didn't uninstall juju
INSTALLING
$ snap install microk8s --classic --channel=1.21/stable
But
$ kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Before adding the cluster to the list of clouds in juju via the add-k8s command, the cloud seems to be already there:
$ juju clouds
Only clouds with registered credentials are shown.
There are more clouds, use --all to see them.
You can bootstrap a new controller using one of these clouds...
Clouds available on the client:
Cloud      Regions  Default    Type  Credentials  Source    Description
localhost  1        localhost  lxd   0            built-in  LXD Container Hypervisor
microk8s   1        localhost  k8s   1            built-in  A Kubernetes Cluster
Error when using the command add-k8s
$ juju add-k8s myk8s
_ERROR making juju admin credentials in cluster: invalid configuration: no configuration has been provided, try setting _KUBERNETES_MASTER environment variable
Any advise?
Thanks very much

Hello @jrgirona thank you for your answer.
Very possibly you don’t have a .kube directory with the right microk8s config in it. Could you try below commands before retrying adding k8s to juju?
mkdir ~/.kube
microk8s config > ~/.kube/config
sudo chown -f -R $USER ~/.kube
If you face any issues please provide output of sudo microk8s inspect.

Hi,
I found first an issue with the $HOSTNAME which INCLUDED CAPITAL LETTERS and it is unsupported by KUBERNETES TO REGISTER THE NAME (see below)
(kube) ramon@ramon-XPS-15-9510:~$ juju add-k8s myk8s
ERROR making juju admin credentials in cluster: ensuring cluster role "juju-credential-35dec7da" in namespace "kube-system":
Get "https://<IP_ADDRESS>:16443/apis/rbac.authorization.k8s.io/v1/clusterroles/juju-credential-35dec7da": x509: certificate has expired or is not yet valid: current time 2022-08-29T11:33:53+02:00 is before 2022-08-29T11:29:26Z
(kube) ramon@ramon-XPS-15-9510:~$ microk8s inspect
Inspecting Certificates
...
WARNING:  This machine's hostname contains capital letters and/or underscores.
 This is not a valid name for a Kubernetes node, causing node registration to fail.
 Please change the machine's hostname or refer to the documentation for more details:
 https://microk8s.io/docs/troubleshooting#heading--common-issues
Then, once I change $HOSTNAME. ADDITIONALLY I HAVE TO REINSTALL THE MICROK8S SNAP
(kube) ramon@ramon-xps-15-9510:~$ juju add-k8s myk8s
This operation can be applied to both a copy on this client and to the one on a controller.
No current controller was detected and there are no registered controllers on this client: either bootstrap one or register one.
ERROR 	No recommended storage configuration is defined on this cluster.
Run add-k8s again with --storage= and Juju will use the
specified storage class or create a storage-class using the recommended
"hostpath" provisioner.
(kube) ramon@ramon-xps-15-9510:~$ microk8s inspect
Inspecting Certificates
Inspecting services
...
Building the report tarball
  Report tarball is at /var/snap/microk8s/3410/inspection-report-20220829_125547.tar.gz
Pls find the tarball enclosed
What's next for the --storage? Thanks very much again
inspection-report-20220829_125547.tar.gz

Hi @jrgirona, from the microk8s inspect output, I see you are missing some important setup steps, in this case you are missing the storage add-on. I recommend you follow this quickstart guide carefully, and try it out. It is very important that you follow this sequence:

Install and configure Microk8s (ensure dns, storage and metallb are enabled)
Install juju
Bootstrap a juju controller and add a model
Deploy Charmed Kubeflow
Configure your deployment for accessing the dashboard

The errors you are running into are not related to Charmed Kubeflow, so please ensure your environment is properly setup for deploying the bundle.
For the issue you reported originally (Error state with this message: task 'file-passing-pipelines-wjvkq.repeat-line' errored: Internal error occurred: failed calling webhook "admission-webhook.kubeflow.org": Post "https://admission-webhook.kubeflow.svc:4443/apply-poddefault?timeout=10s": x509: certificate signed by unknown authority.) I suggest that if you run into it again, try the workaround suggested by @natalian98 in this issue, we are already trying to fix it.
That being said, and because the original issue is already being tracked in the offending charm, I will close this issue. Feel free to file new issues as you work with Charmed Kubeflow.

Thanks very much Daniela,
I have been following the installation procedure in
https://charmed-kubeflow.io/docs/install you mentioned in the first e-mail:
https://charmed-kubeflow.io/docs/install , Pls notice that It doesn't
include the instructions about activating the storage add-on, so it will be
worthwhile to correct the doc, and also better to have only one page for
the kubeflow installation.
Good news is that when I tested for the first time the day before yesterday
the platform executed one node (see below), no problem with  failed calling
webhook  and yesterday I meet it again and after applying the workaround
you mentioned in
https://github.com/canonical/admission-webhook-operator/issues/26. Now the
tutorials work correctly
[image: image.png]
I have been dealing with a few issues during the installation, so I am
going to document my last steps in the ticket you closed to help those who
may experience similar issues.
My only concern after this experience is why the server certificate only
lasts 24 hours. From my point of view it doesn't make any sense. Moreover
there are support tickets about this problem (most of them) recommending to
prune the .local folder in home, when the best way to do it seems to
refresh the certificate. I miss this advice in the installation procedure.
Kind regards,
Ramón.
On Tue, Aug 30, 2022 at 5:41 PM Daniela Plascencia @.***>
wrote:

Hi @jrgirona https://github.com/jrgirona, from the microk8s inspect
output, I see you are missing some important setup steps, in this case you
are missing the storage add-on. I recommend you follow this quickstart
https://charmed-kubeflow.io/docs/quickstart guide carefully, and try it
out. It is very important that you follow this sequence:

Install and configure Microk8s (ensure dns, storage and metallb are
enabled)
Install juju
Bootstrap a juju controller and add a model
Deploy Charmed Kubeflow
Configure your deployment for accessing the dashboard

The errors you are running into are not related to Charmed Kubeflow, so
please ensure your environment is properly setup for deploying the bundle.
For the issue you reported originally (Error state with this message:
task 'file-passing-pipelines-wjvkq.repeat-line' errored: Internal error
occurred: failed calling webhook "admission-webhook.kubeflow.org": Post "
https://admission-webhook.kubeflow.svc:4443/apply-poddefault?timeout=10s":
x509: certificate signed by unknown authority.) I suggest that if you run
into it again, try the workaround suggested by @natalian98
https://github.com/natalian98 in this issue
https://github.com/canonical/admission-webhook-operator/issues/26, we
are already trying to fix it.
That being said, and because the original issue is already being tracked
in the offending charm, I will close this issue. Feel free to file new
issues as you work with Charmed Kubeflow.
—
Reply to this email directly, view it on GitHub
https://github.com/canonical/bundle-kubeflow/issues/472#issuecomment-1231842337,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGG4YLFVFC7A4XHEPZQJL3V3YTUNANCNFSM56S3F6OA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Just a few comments when staring from scratch after removing kubeflow, microk8s and juju, and reinstalling kubeflow following the instructions on https://charmed-kubeflow.io/docs/quickstart , taking into account:

After installing microk8s, check if ~/.kube directory and file conf are present. Otherwise, create the .kube directory and conf file by:

mkdir ~/.kube
microk8s config > ~/.kube/config
sudo chown -f -R $USER ~/.kube
When installation is over then:

When installed and dashboard is available, you may find the following issues:

Error with server certificate, 24 hours after the deployment of Kubeflow:

Then you may refresh the certificates by typing:
$sudo microk8s refresh-certs --cert 'server.crt'

No more certifictae issues

Use microk8s kubectl instead of kubectl

$ kubectl get pods
Unable to connect to the server: dial tcp <IP_ADDRESS>:16443: i/o timeout

When using the tutorials, if you find out an error like

"failed calling webhook "admission-webhook.kubeflow.org": Post "admission-webhook.kubeflow.svc:4443/apply-poddefault? timeout=10s": x509:certificate signed by unknown authority
type (seen in https://github.com/canonical/admission-webhook-operator/issues/26):
$microk8s kubectl rollout restart deployment/admission-webhook -n kubeflow

and the tutorials will finally work

I am glad you have the example working @jrgirona !


ConnectionError

I uninstalled gdax and reinstalled the latest from github in hopes of better error handling from the API. All I'm really using are the public client and the authenticated client. Now I've had this traceback pretty quickly when I run my trading loops. Anyone know what the cause is or what I could do to avoid?  Thanks,
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 141, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/util/connection.py", line 60, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "/usr/local/lib/python3.6/socket.py", line 745, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 345, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 844, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 284, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 150, in _new_conn
self, "Failed to establish a new connection: %s" % e)
requests.packages.urllib3.exceptions.NewConnectionError: <requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7eec28d71048>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 423, in send
timeout=timeoutNow I've had this traceback pretty quickly:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 141, in _new_conn
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 649, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/util/retry.py", line 376, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.gdax.com', port=443): Max retries exceeded with url: /products/ETH-USD/ticker (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7eec28d71048>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/local/lib/python3.6/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/home/xxxxx/Code/gdax-python-master/gdax/bot4.py", line 49, in
x_check=public_client.get_product_ticker('ETH-USD')
File "/usr/local/lib/python3.6/site-packages/gdax-1.0.6-py3.6.egg/gdax/public_client.py", line 119, in get_product_ticker
return self._get('/products/{}/ticker'.format(str(product_id)))
File "/usr/local/lib/python3.6/site-packages/gdax-1.0.6-py3.6.egg/gdax/public_client.py", line 33, in _get
r = requests.get(self.url + path, params=params, timeout=30)
File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 487, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.gdax.com', port=443): Max retries exceeded with url: /products/ETH-USD/ticker (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7eec28d71048>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))

Also, sometime I'm getting the below error. It only happened today. Most of the time there is no issue with this 'price'.  THanks
Traceback (most recent call last):
File "/usr/local/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/local/lib/python3.6/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/home/xxxxx/Code/bot3.py", line 50, in
x_price_check = float(x_check['price'])
KeyError: 'price'

Hey Joe, if you have unreliable connections, I would ensure each packet is returned as expected. We'll be adding tests and error handling through PR #260 so please follow that thread for updates.  In the meantime,  I would pass your responses through an if statement to check for expected data to discard the response otherwise.


GenImageCellular generates a blank image using TCC compiler

GenImageCellular() fails to generate an image when using the tcc compiler. Using MinGW it works as expected.
###TCC

###MinGW

The two programs are not identical.  What happens when the tcc one is the same as the MingW one?

The two programs are not identical.  What happens when the tcc one is the same as the MingW one?

They most certainly are - I changed the cell-size argument from 32 to 16 because 16 looks better when rendered. It doesn't matter what cell size you use, the TCC compiler renders a black screen image, regardless of Image width, height, or cellsize. The MinGW compiler works as intended.

I feel like this is a bug report for TCC and outside the scope of raylib. I don't see any warnings related to this, even with pedantic flag. I would not be surprised if this was a bug in TCC itself. Someone would really need to dive into this function and the machine code to see what's happening.
Just curious, are you distributing code compiled by TCC?

I feel like this is a bug report for TCC and outside the scope of raylib. I don't see any warnings related to this, even with pedantic flag. I would not be surprised if this was a bug in TCC itself. Someone would really need to dive into this function and the machine code to see what's happening.

I agree fully, but was asked by @raysan5 to submit the issue.

Just curious, are you distributing code compiled by TCC?

I am not, no

@gpc91 This is a weird but interesting issue that worth some investigation. I'd like to keep track of it.

@gpc91 Please, could you try again with latest update? I reviewed a possible undefined behaviour in the function.


Split package into libvolk, volk_modtool, and volk outputs

This lets us make the Python volk_modtool portion noarch, which saves a lot of unnecessary building for different Python versions and PyPy.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


feat: introducing a glossary for inline rich popovers

CATEGORY
Introducing a simple markdown glossary allowing us to clarify terms and expose some inline context/documentation.
Choose one

[x] Enhancement (new features, refinement)

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Codecov Report

Merging #7680 into master will decrease coverage by 0.01%.
The diff coverage is 35.71%.

@@            Coverage Diff             @@
##           master    #7680      +/-   ##
==========================================
- Coverage   65.91%   65.89%   -0.02%
==========================================
  Files         459      461       +2
  Lines       22023    22037      +14
  Branches     2418     2421       +3
==========================================
+ Hits        14516    14521       +5
- Misses       7387     7396       +9
  Partials      120      120

Impacted Files
Coverage Δ

superset/assets/src/addSlice/AddSliceContainer.jsx
72.72% <ø> (ø)
:arrow_up:

superset/assets/src/glossary.jsx
33.33% <33.33%> (ø)

...uperset/assets/src/components/InlineDefinition.jsx
40% <40%> (ø)

Continue to review full report at Codecov.

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

@etr2460 do you think i18n word ordering is a dealbreaker here?

Sorry, I lost track of this one. I'm pretty conflicted on this, mainly because I don't know how much emphasis we put on Superset being a global tool, vs just and English language tool. I always tend to lean towards the side of i18n and a11y support in my projects, so I'd personally see this as blocking.
However, I'm open to reconsidering once we're clear and in agreement with the community on how important (or unimportant) i18n is going forward. Alternatively we could try and work around the i18n issue for now, but that might result in too janky of a user experience


[2201.4.0-stage] Correct test name to disable-with-depends-on

Purpose
$ subject
related to https://github.com/ballerina-platform/ballerina-lang/pull/39574
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/39556
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

closing this as fixed via https://github.com/ballerina-platform/ballerina-lang/pull/39481/


Add logmodule daemonset reconciler

Description
K8S-10617
Adds the logmodule reconciler that will create a DaemonSet based on the spec.templates.logModule.
Has some minor adjustments for the configsecret reconciler:

Fix Server propertie in deployment.conf
Add no-communication-hosts handling

How can this be tested?
What to configure in the DynaKube

spec.logModule.enabled: true
Because the final default image location is not known, we have an image in our private gcr, that GKE clusters can use without issues:

templates:
    logModule:
      imageRef:
        repository: us-central1-docker.pkg.dev/cloud-platform-207208/chmu/logmodule
        tag: latest

✨ <Whatever else you want to configure in the templates> ✨

What to configure in the tenant

Configure log-ingest rules:

This will be done by the operator in the future. (upcoming ticket)
My tenant has it at https://zib50933.dev.dynatracelabs.com/ui/settings/builtin:logmonitoring.log-storage-settings
Press Add rule, this is a "catch-all" example:

What to check to see it "work"
If you see logs such as:

Process log content for /var/log/pods/kube-system_container-watcher-54sft_4a77a473-759c-4cf3-9db7-378637be0c30/container-watcher/#.log#

Successfully parsed 2 entries for /var/log/pods/kube-system_konnectivity-agent-8667cbffbd-sxwjk_da91698c-245c-4f49-9da5-725025937cc6/konnectivity-agent/#.log # and advanced file pointer by 306 after reading 612 bytes, current entry count: 2. Last file size: 515949, new position: 515643

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 93.57542% with 23 lines in your changes missing coverage. Please review.

Project coverage is 65.52%. Comparing base (6c352e4) to head (266389a).
Report is 2 commits behind head on main.

Files with missing lines
Patch %
Lines

...rollers/dynakube/logmodule/daemonset/reconciler.go
82.45%
5 Missing and 5 partials :warning:

pkg/util/kubeobjects/daemonset/builder.go
86.88%
6 Missing and 2 partials :warning:

pkg/controllers/dynakube/controller.go
0.00%
2 Missing and 1 partial :warning:

pkg/controllers/dynakube/logmodule/reconciler.go
50.00%
1 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3825      +/-   ##
==========================================
+ Coverage   65.06%   65.52%   +0.46%
==========================================
  Files         397      405       +8
  Lines       21414    21767     +353
==========================================
+ Hits        13932    14262     +330
- Misses       6143     6157      +14
- Partials     1339     1348       +9

Flag
Coverage Δ

unittests
65.52% <93.57%> (+0.46%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Amazon ECS support

Hello melvit-servian,
I would like to work on this issue. I will add the functionality to remove the ECS and all its associated details. Can I work on this issue.
Thank you

@lovepurohit that would be great. Fork the repo and send through a PR when you're ready 👍

@mlevit Sure. I'll raise a PR till the end of the week.
Thank you

Added in 5ad5332452d153b7d94c853f65538439c09b3ebc


[Unit Tests] Update unit test to with the recent Criteria ID for Austin

Resolves https://github.com/serpapi/google-search-results-nodejs/issues/22

@jvmvik Can you check why the lack of NPM_TOKEN is failing tests on CI?


Add daily slack notifier for nightlies

Introduces a slackbot that posts in #accelerate-ci-daily with the status of how the nightly tests ran each day.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Redux boilerplate

Show how to:

unify the state through all widgets
manage multiple instances of the same widget

Hi, any update on this issue?

Hi not yet.
But you can have a look here https://github.com/tommmyy/finland-react-union/tree/03-namespaced-redux to get some inspiration.

Hi not yet.
But you can have a look here https://github.com/tommmyy/finland-react-union/tree/03-namespaced-redux to get some inspiration.

Thanks for the help. Now I'm stuck on figuring out how to add redux store persistence. Simple using redux-persist didn't work out. I also tried using isPersistent: true as an option for withReducers but that didn't work out either. What am I missing?


Closes #2020 code updated

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

@jeffreyad There seems to be an issue with the links from pkgdown as registered by our link-checker. How do I deal with this?

You can move the url to the .lycheeignore file

I feel like those should have cran-release in the url, but that is another issue

I feel like those should have cran-release in the url, but that is another issue

Thanks!

Could you also change title of PR to what you are doing - Code Updated is pretty vague..  This becomes the commit message when merged in to main/devel now.

Thanks!

@StefanThoma did you update the template ad_adppk.R?  I don't see it listed in files changed.


Undo Button

User should have button like undo to undo last move

I am Anvi Shelar. Under GSSOC'24 I would like to work on this issue. plz assign me.

I would like to work on this issue. please assign me


Don't change manifest root when manifest isn't enabled.

A few paths get a trailing \ appended if they don't already have one. This is fine for most of them because they are never empty.
However, VcpkgManifestRoot can be empty if the feature isn't enabled. Adding the \ causes a spurious warning message later (at line 86).

/azp run

Thanks for fixing my mistake!

Yes. Yes I did.


Correct doc for UnrecognizedCriticalExtension

Let me know if you'd like me to open an issue first.
There's a spelling mistake in the existing doc. But the main error is that UnrecognizedCriticalExtension is nothing to do with URLs, it is to do with controls.

Thanks for noticing the typo and submitting the PR! However, the error doesn't have to do anything with controls, see the (only) place where it's returned in src/result.rs, which parses the extended LDAP URL.
I'll push another commit which will fix the typo along with other doc fixes and close this PR.


add flashbots core version targeting

To enable the new flashbots core rolling release patterns, we need to add a version field to the eth_sendBundle and eth_callBundle endpoints. If unspecified, the default version should be 'latest'. If a deprecated version is specified, an error should be thrown. If using a version which differs from 'latest' a warning should be issued.

I'm not sure where to put this version. Should it be a param inside the json rpc bundle? Should it be an http header? It's probably easier to implement as a header on the server side, but I worry it's very hard for clients to add a header dynamically.
If it is a param, I'd argue we probably need to turn params into an object. The reason is, there's now many optional params, and it's very messy to have a list of optional params in an array.


Regenerate corpus to match cedar#837

Updates required to match cedar#837 and cedar-spec#346.
Updates to cedar-java and cedar-go (which will be broken by this PR) coming soon.

Ok, finally ready to merge now that the cedar-spec CI is passing!


Generate quote content from template

This generates the content of an OMIS quote from a django template in markdown format.

Codecov Report

Merging #433 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #433   +/-   ##
========================================
  Coverage    95.87%   95.87%
========================================
  Files           94       94
  Lines         3053     3053
  Branches       269      269
========================================
  Hits          2927     2927
  Misses          86       86
  Partials        40       40

Continue to review full report at Codecov.

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


Hide DB password when dump fails

When a backup fails during the dump stage (using postgres in my case), the database password is written to the log file (which then may be emailed). I request an option to strip the password from the log output.

Sorry, @akahn, totally missed this issue. You can request new features here: https://github.com/backup/backup-features/issues
Have you tried using a password file? I'm not sure how well pg supports this, but there some documentation on it here: http://www.postgresql.org/docs/9.1/static/libpq-pgpass.html


Place the builtin Rego functions in separate files

We're adding new the builtin functions in internal/evaluator/rego.go. It would be nicer if we could split those into different files, e.g. purl.go, oci.go...

+1. I wonder if it should be in a separate pkg as well.


Reduce mailing list links in README for GSoC funnelling.

The zulip-devel mailing list is receiving enough low-quality interest emails from people interested in GSoC that we are reducing the number of links to the list in the README, and adding more wording to funnel GSoC applicants to the appropriate venues.
Let me know whether the new anchor links work for you. I think the only reason they get tetchy in my browser when I'm viewing them on GitHub is because I'm in a branch, but I could be wrong.

Automated message from Dropbox CLA bot
@brainwane, it looks like you've already signed the Dropbox CLA. Thanks!

Merged; I added ad9c3d7d18dc316582c6d7b736c9a30d664922ee to clarify the section on email; we'll see how that goes.

(The anchor tags work)


do check for overlaps in NV

This PR reactivates the NV overlapping pulse checks.
@WenzDaniel, you said this was checked and confirmed right?

Yes, but I checked only like 4 h of data by now. I would like to check a few more first.


gateway-api: Add tests for standard CRD

This is to improve the coverage with the standard CRD channel. Also, small changes on existing docs are done.
Note: required GHA jobs should be updated after this PR is merged.

/test


Test and verify 3.0 DB schema on MariaDB

No complications are expected, but it would be good to verify.

maybe someday, dropping this for now.


Header and Footer

Thank you for your effort to build gem . How can we implement header and footer in the word file using this gem ?

sorry for a late reply (8 months later lol),
I barely remember anything, but probably it doesn't matter anymore :)


Kuma deployment not displaying in Meshery control plane dashboard

Screenshots

Enviroment:

Meshery Version: v0.5.0

Fixed.


Enables GATs iteration in the Element API

This PR replaces all uses of Box<dyn Iterator<Item=_> + 'a> in the Element and ElementRef APIs with generic associated types. This means that heap allocations are no longer required to iterate over annotations, sequence elements, or struct fields.
Because this change uses generic associated types, it also configures the CI tests to use the beta channel of cargo. GATs will be available in the next release of Rust (v1.65, out in November); once that happens, we can and should switch back to stable.
This change also removes the recently added dependency on the linkhash crate. That dependency was originally pulled in so structs could remember the order in which their fields were inserted for later iteration. However, it only worked if the struct did not contain duplicate field names. This PR changes the field storage for Struct and StructRef to store their fields in a Vec and also maintain a HashMap<Symbol, IndexVec> that remembers all of the indexes at which values for a given field can be found.
Further, it moves Sequence elements and Struct fields into an Rc to make clone() operations cheaper. A future PR will modify iterators over collection types to clone the Rc and thus remove one of their lifetime constraints, making it much easier to write a recursive iterator over an element tree without constant cloning.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I can't make any sense of the code coverage results; I don't think I trust codecov anymore. The ion-tests integration exercises the DOM thoroughly, however.


Sales Order Creation

Hello Team,
We are trying to create a Sales Order with the API like one below but unable to do that.
Is it possible to help us to do that ?
 openERPSession.startSession();

ObjectAdapter salesAd = openERPSession.getObjectAdapter("sale.order");
ObjectAdapter salesOLAd = openERPSession.getObjectAdapter("sale.order.line");

Row newSL1 = salesOLAd.getNewRow(new String[]{"product_id","product_uom_qty"});
newSL1.put("product_id", 51);
newSL1.put("product_uom_qty", 2);
salesOLAd.createObject(newSL1);
System.out.println("Order Line 1 is : "+newSL1.getID());

Row newSO = salesAd.getNewRow(new String[]{"partner_id"});
newSO.put("partner_id", 1);
salesAd.createObject(newSO);
System.out.println("SO is : "+newSO.getID());

newSO.putMany2ManyValue("order_line", new Object[]{newSL1.getID()}, true);
salesAd.writeObject(newSO, true);

System.out.println("Our Sales Order is "+ newSO.getID());

The error is
java.lang.String cannot be cast to java.lang.Integer

Hy,
First, the relation between orders and orders line is not a many2many.
Personnaly I would have done it in 2 parts :
First create the order THEN create order lines and pass the order_id as a value in the order line.
This way has always worked for me.
regards

Is it possible to write a code for me ?
Or just the linking Sales Order with Order Line ?
Thanks for your reply again

Is it possible to write a code for me ?

Hey @flotho , he asking your request for quotation . :wink:

@xsalefter, thanks my english is not so accurate!

Hy @lfsolutions sorry if I didn't undertsnad that you were asking for a commercial proposal.
Did you achieved your job? Do you still need help?
regards

Hy @lfsolutions ,
I close the issue


LC0003 Warning will be shown on correct line

Page Definition
page 50100 "Some Table List"
{
    SourceTable = "Some Table";
    PageType = List;
    ApplicationArea = All;
    UsageCategory = Lists;
    AccessByPermission = tabledata Item = R;
}

Warning shown:
Do not use an Object ID for properties or variables declaration. Use tabledata Item = R instead.
In VS Code:

Tested on release version: v0.23.0 (https://github.com/StefanMaron/BusinessCentral.LinterCop/releases/tag/v0.23.0)

I can not reproduce that. Could you create a simple demo project where this can be reproduced?

Mea culpa
I reloaded the latest release and used it in my sample project, now it is working. Sorry. :/
Issue will be closed


chore: Protobuf 対応

Won't worry.   it will be appreciated if you can provide the protobuf support when you finished


Issue when hosting a forge server

Server crashed on startup
Failure message: Hexal (hexal) has failed to load correctly
java.lang.reflect.InvocationTargetException: null
Mod Version: 0.1.4
Mod Issue URL: https://github.com/Talia-12/Hexal/issues
Exception message: java.lang.RuntimeException: Attempted to load class net/minecraft/client/player/AbstractClientPlayer for invalid dist DEDICATED_SERVER
Full report below:
crash-2022-09-27_12.53.31-fml.txt

Alright, this should be fixed in v0.1.5, thanks for sending the bug report


0.3 version not on Maven central

We want to use the QueueListener API which is released in 0.3 according to https://github.com/mp911de/spinach/blob/0dea83ec3b7c4c6ab13efc299d8f8e4ea2d8a8ef/RELEASE-NOTES.md.
However, this is not on Maven central. Any idea when 0.3 will be available ?
Thanks.

I'm planning to release spinach 0.3 end of January. spinach 0.3 is available as snapshot-build (0.3-SNAPSHOT in https://oss.sonatype.org/content/repositories/snapshots/, see also https://oss.sonatype.org/content/repositories/snapshots/biz/paluch/redis/spinach/0.3-SNAPSHOT/). I'm spinach 0.3 requires lettuce 3.4 and lettuce 3.4 will be released also end of January .

Released 0.3 to Maven central


sequential  for samples in batch loop in Videochat2 is slow, any ways to parallalize it ?

Hi, dear all:
I noticed a sequential for loop in videochat2_it.py forward function:
https://github.com/OpenGVLab/Ask-Anything/blob/078540aaebfbe1ad9a109020a73b0ce173b355ef/video_chat2/models/videochat2_it.py#L240-L288
As most of tensor computation is parallel, any good idea to implement the for loop parallel?

Hopefully for your solution!


Code suggestions not working with Jedi since extension version 2020.5

Environment data

VS Code version: 1.46
Extension version (available under the Extensions sidebar): 2020.6.88468
OS and version: Windows 10
Python version: Python 3.7, Anaconda
Type of virtual environment used: conda
Jedi or Language Server?: Jedi
Value of the python.languageServer setting: Jedi

Behaviour
Code suggestions were working fine with Jedi till version 2020.4.76186.
But they stopped working after version 2020.5.
I waited for the next release, 2020.6, but they are still not working.
Logs
console.ts:137 [Extension Host] Error Python Extension: 2020-06-17 18:05:24: stderr jediProxy Error (stderr) Traceback (most recent call last):
File "xxxxxxxx\.vscode\extensions\ms-python.python-2020.6.88468\pythonFiles\completion.py", line 661, in watch
response = self._process_request(rq)
File "xxxxxxxx\.vscode\extensions\ms-python.python-2020.6.88468\pythonFiles\completion.py", line 599, in _process_request
project=jedi.get_default_project(os.path.dirname(path)),
AttributeError: module 'jedi' has no attribute 'get_default_project'

Hi @vishwa-raj, thank you for reaching out.
Do you have a jedi.py file in your workspace? If not, do you have a sample repo I could use to try and replicate your issue?
Thanks!

Hello @kimadeline
The issue seems to have been resolved.
I went through the changelog for extension version 2020.5.0 and it mentioned updating Jedi to 0.170.
Now I had the setting Python: Jedi Path already pointing already to Jedi 0.17.0 files.
But when I checked the Jedi version installed in my conda environment, it was 0.16.0.
After updating the environment library to 0.17.0, code suggestions started working in VSCode 2020.6.
Can you tell what's the relation between the Jedi library specified in Python: Jedi Path setting and the one installed in the python environment ?

Glad to hear it works!
You shouldn't have to set python.jediPath unless you have a custom version of jedi you want to use, since we bundle it in the extension. If you have a version of jedi installed in your environment it shouldn't interfere with the one used by the extension unless you specified it in python.jediPath, so there is probably something else going on in your setup since I can't reproduce your issue.

I ran into this issue also. It turns out I had v0.15 installed in my WSL Ubuntu distribution. I ran
sudo pip3 install --upgrade jedi

to fix it. The bug was quite difficult to track down, because searches for information on how to debug the Python extension were not very fruitful. Eventually I discovered it was easy to see the extension output using View -> Output, then select "Python" from the dropdown. I then was able to see the exception, but there was otherwise no visual indication in VSCode that anything had gone wrong. Instead, IntelliSense just hung indefinitely with a "Loading..." message. It would be great to have proper error reporting for this, and for the extension to check the installed version of Jedi during the installation process.

I ran into this issue also. It turns out I had v0.15 installed in my WSL Ubuntu distribution. I ran
sudo pip3 install --upgrade jedi

to fix it. The bug was quite difficult to track down, because searches for information on how to debug the Python extension were not very fruitful. Eventually I discovered it was easy to see the extension output using View -> Output, then select "Python" from the dropdown. I then was able to see the exception, but there was otherwise no visual indication in VSCode that anything had gone wrong. Instead, IntelliSense just hung indefinitely with a "Loading..." message. It would be great to have proper error reporting for this, and for the extension to check the installed version of Jedi during the installation process.

it still works in year 2021...

Please open a separate feature request so that we can track this properly.
Thanks!


Editor is offset upon reaching line 10

Prerequisites

[Yes] Can you reproduce the problem in safe mode?
[Yes] Are you running the latest version of Atom?
[Yes] Did you check the debugging guide?
[Yes] Did you check the FAQs on Discuss?
[Yes] Are you reporting to the correct repository?
[Yes] Did you perform a cursory search to see if your bug or enhancement is already reported?

Description
Once the editor reaches line 10, there is a graphical glitch that offsets the text.
The assumption is that this is based on the length of the line number's textContent.
This is distracting when switching from tab to tab, or just programming in general.
Steps to Reproduce

Create a new file (or just open a new editor tab)
Press enter until you hit line 10

Expected behavior: Editor shouldn't offset text
Actual behavior: Editor offsets text
Example
(again, this is a confirmed behavior in safe mode)

Versions
Latest Atom version
Latest Mac OS X version

Confirmed, but please define what you mean by the "latest" Atom version, as there's technically three "latest" ones: stable, beta, or dev.  You can do this by copying the output of atom --version.

@50Wliu
Atom    : 1.12.7
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0
macOS   : 10.12.1

Thanks for the feedback. This is intentional to minimize the amount of screen real-estate taken up by the line numbers for users with small screens. If you want to prevent this from happening, you can use the solution described on the message board.
Thanks again for reaching out!