Install fails on Debian 9: dockerd complains directives are specified both as a flag and in the configuration file

After running the install script per https://github.com/kata-containers/documentation/blob/master/install/installing-with-kata-manager.md#full-installation on Debian 9, dockerd fails to start.
Looking at the syslog I get:
Apr 24 11:27:25 inf-11847 systemd[1]: Starting Docker Application Container Engine...
Apr 24 11:27:25 inf-11847 dockerd[824]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: default-runtime: (from flag: kata-runtime, from file: kata-runtime)
Apr 24 11:27:25 inf-11847 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Apr 24 11:27:25 inf-11847 systemd[1]: Failed to start Docker Application Container Engine.

I edited /etc/systemd/system/docker.service.d/kata-containers.conf and removed the default runtime setting there, since it was already in /etc/docker/daemon.json
That seems to work around the issue

Hi @olberger - thanks for reporting!
Was this the first/only clean install of kata on that system?
It looks, from the error, that kata has been configured as a docker runtime both in the docker config .json (maybe /etc/docker/*), and on the docker commandline startup (in a systemd config file maybe, like /etc/systemd/system/docker* ?).
I would not expect kata-manager to configure both, which is why I ask if this was a clean install?
/cc @jcvenegas @egernst

What may have happened is I launched the script several times (curl wasn't there initially, and no check was made for this prerequisite), which may have lead to that situation.
I think I'll try and reproduce.

@olberger - thanks - it'd be great if you can reproduce.
Ideally the script would be idempotent.
If the runtime had been configured in multiple places, then I suspect it was probably not the script that did that, as I'd expect it to only operate on one place, always. Let us know!, and thanks

FYI, redid install on a frehs Debian 9 (with curl), and got:
Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u11) ...
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime
[....] Stopping docker (via systemctl): docker.serviceWarning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
. ok
[....] Starting docker (via systemctl): docker.serviceWarning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
. ok
tail: impossible d'ouvrir '/var/log/docker.log' en lecture: Aucun fichier ou dossier de ce type
tail: aucun fichier restant

(excuse the french locale)
# cat /etc/docker/daemon.json
{
"default-runtime": "kata-runtime",
"runtimes": {
"kata-runtime": {
"path": "/usr/bin/kata-runtime"
}
}
}

I performed the systemctl daemon-reload as instructed, and did start docker, and then got:
# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─kata-containers.conf
   Active: active (running) since Wed 2019-04-24 13:41:04 CEST; 5min ago
     Docs: https://docs.docker.com
 Main PID: 9293 (dockerd)
      CPU: 275ms
   CGroup: /system.slice/docker.service
           └─9293 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.580549072+02:00" level=warning msg="Your kernel does not support swap memory limit"
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.580588284+02:00" level=warning msg="Your kernel does not support cgroup rt period"
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.580598634+02:00" level=warning msg="Your kernel does not support cgroup rt runtime"
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.580957574+02:00" level=info msg="Loading containers: start."
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.652550638+02:00" level=info msg="Default bridge (docker0) is assigned with an IP address <IP_ADDRESS>/16. Daemon option --bip can be use
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.684430286+02:00" level=info msg="Loading containers: done."
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.734335560+02:00" level=info msg="Docker daemon" commit=e8ff056 graphdriver(s)=overlay2 version=18.09.5
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.734406816+02:00" level=info msg="Daemon has completed initialization"
avril 24 13:41:04 inf-11847 dockerd[9293]: time="2019-04-24T13:41:04.742204429+02:00" level=info msg="API listen on /var/run/docker.sock"
avril 24 13:41:04 inf-11847 systemd[1]: Started Docker Application Container Engine.

Strange, as it doesn't look like ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime
I'm a bit puzzled...

OK, and now if I do:
systemctl stop docker.service
and
systemctl start docker.service
again, I get the issue again:
# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─kata-containers.conf
   Active: activating (auto-restart) (Result: exit-code) since Wed 2019-04-24 13:49:00 CEST; 905ms ago
     Docs: https://docs.docker.com
  Process: 9803 ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime (code=exited, status=1/FAILURE)
 Main PID: 9803 (code=exited, status=1/FAILURE)
      CPU: 80ms

avril 24 13:49:00 inf-11847 systemd[1]: docker.service: Unit entered failed state.
avril 24 13:49:00 inf-11847 systemd[1]: docker.service: Failed with result 'exit-code'.

Indeed:
# cat /etc/systemd/system/docker.service.d/kata-containers.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime

Which then means double configuration of the configuration.

So seems that both configs are being added when parsing   https://github.com/kata-containers/documentation/blob/master/install/docker/debian-docker-install.md#install-docker-for-kata-containers-on-debian

Ah, I see, thanks @jcvenegas - so, this is one of our 'magic' things where it actually runs the code fragments from the document, and that document says 'do either (a) or (b)', but of course, our script then runs both fragments!
@jodh-intel - I don't think the magic script has a method for choices does it, but, maybe we can use the old sh or bash code fragment annotation trick to only run one of them. Question is, which fragment would we prefer:

traditionally we have done the systemd commandline edits
but, the /etc/docker json file always feels cleaner and more obvious to me.

Any volunteers to raise the PR?

Hmm, nobody else seems to have volunteered... so I'll pick this one up.


[Minor] Log of abilities used doesn't list the nukers

Hi,
I'm using the script v4.7.1 in Firefox (room 45195) and except the yellow alerts of players using single wormholes, i've never seen the red ones about nukers. One red for a "throw money at screen" on a lvl x00 and that's all, despite i saw the nuke icon in the icon lists above the ability log.
Here for instance : .
It was on 2 727 000 i believe.

The log does not catch everyone. Imagine what happens when you don't have the script and the room uses 3000 WH in one second. Your browser would be completely fucked.


Use Hosting.Interfaces

/cc @davidfowl
Kiran is working on removing the dependency on logging, but for now we still use it. We were getting it through the reference to Hosting before.

Logging.Interfaces

Logging.Interfaces

Kiran is working on removing the dependency on logging, but for now we still use it. We were getting it through the reference to Hosting before.

L2ReadBro

Until then :smile:

Any other useful feedback? All the logging stuff we did earlier depends on classes in .Logging, and it's already in progress being redone.

I dont think you depend on logging you only depend on interfaces (in Core)

https://github.com/aspnet/Logging/blob/dev/src/Microsoft.Framework.Logging/ReflectionBasedLogValues.cs
https://github.com/aspnet/Logging/blob/dev/src/Microsoft.Framework.Logging/LoggerFactory.cs

MVC uses LoggerFactory in Core? Something is terribly wrong there.

Anyways :shipit:

MVC uses LoggerFactory in Core? Something is terribly wrong there.

Yep. I just found that. It's being used to log something that we're going to remove as part of logging cleanup so that will go away too.


Adding education.github.com to github resource list.

I've added education.github.com to the github resource list.
As a student you can apply there for a free github micro account and various other discounts.
https://education.github.com/pack
I don't think many people know about this and that's why I'd like to add this to the list.

Missed this one, thanks!


Skia: Add reason-skia as esy dependency

Just a baby-step to parcel out some of the changes in the Skia branch happening in #567  - we can start bringing in reason-skia as a build dependency to exercise the CI path.
This will increase first-time build times; but we will be bringing in this dependency anyway!
TODO:

[x] Fix OSX build issues
[x] Fix Windows build issues
[ ] Fix Linux build issues

Current Windows build isssue:
##[command]"C:\windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "d:\a\_temp\82cd0153-5503-48e3-84a3-485600024e59.cmd""
info install 0.5.8 (using package.json)
info fetching: done
error command failed: "tar" "xf" "/cygdrive/d/a/1/s/_esy/default/dist/da80c02f0818cee1e16ea5d93347a718" "-C" "/cygdrive/c/Users/VSSADM~1/AppData/Local/Temp/esy-40015b"
      stderr:
               tar: revery-ui-esy-skia-b7091c8/tools/gyp: Cannot create symlink to '../third_party/externals/gyp/': No such file or directory
               tar: Exiting with failure status due to previous errors

      stdout:

error: error running command
  unpacking esy-skia@github:revery-ui/esy-skia#b7091c8
  installing esy-skia@github:revery-ui/esy-skia#b7091c8
esy: exiting due to errors above

Current Linux build issue:
      ocamlc src/Native/dialog_gtk.o (exit 2)
(cd /home/vsts/work/1/s/_esy/default/store/b/revery-23101555/default/src/Native && /home/vsts/.esy/3_____________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/bin/ocamlc.opt -g -I /home/vsts/.esy/3_____________________________________________________________________/i/opam__s__lwt-opam__c__4.4.0-185b2924/lib/lwt -I /home/vsts/.esy/3_____________________________________________________________________/i/opam__s__ocamlfind-opam__c__1.8.1-3176721a/lib/bytes -I /home/vsts/.esy/3_____________________________________________________________________/i/opam__s__result-opam__c__1.4-35a3271d/lib/result -I /home/vsts/.esy/3_____________________________________________________________________/i/opam__s__seq-opam__c__base-37652505/lib/seq -I /home/vsts/.esy/3_____________________________________________________________________/i/reason_gl_matrix-0.9.9306-f3ca1ed9/lib/reglm -I /home/vsts/.esy/3_____________________________________________________________________/i/reason_sdl2-2.10.3011-d14c25f5/lib/sdl2 -ccopt -g -o dialog_gtk.o dialog_gtk.c)
dialog_gtk.c:2:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
error: command failed: 'dune' 'build' '-p' 'Revery' '-j4' (exited with 1)
esy-build-package: exiting with errors above...
error: build failed with exit code: 1

Linux issue isn't related to skia. And it is  fixed in https://github.com/revery-ui/revery/pull/673🙃

Linux issue isn't related to skia. And it is fixed in https://github.com/revery-ui/revery/pull/673🙃

Hmm, I just merged w/ the latest master - still seeing the same errors on Linux and Windows. I suspect maybe one of the additional libraries is changing / adding some link flags that is causing a failure to pick up gtk.h?

I suspect the Linux issue is due to a change in the pkg-config dependency - since we use
let get_linux_config c =
  let default = {libs= []; cflags= []; flags= []} in
  match C.Pkg_config.get c with
  | None -> default
  | Some pc -> (
    match C.Pkg_config.query pc ~package:"gtk+-3.0" with
    | None -> default
    | Some conf -> {libs= conf.libs; cflags= conf.cflags; flags= []} )

to discover the include path for GTK 🤔

It looks like the inclusion of ctypes or ctypes-foreign is what breaks the discovery of gtk+-3.0 through pkg-config.

Looks like the linux build issue / failure to find GTK 3.0 via pkg-config might be addressed via this commit: https://github.com/esy-ocaml/yarn-pkg-config/commit/db3a0b63883606dd57c54a7158d560d6cba8cd79
At least, it adds the build path that gtk-3.0 should be added


fix: Remove multiple instance check

Removes the check to avoid multiple root instances.

Codecov Report

Merging #54 into master will decrease coverage by 0.23%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #54      +/-   ##
==========================================
- Coverage    99.3%   99.07%   -0.24%
==========================================
  Files          15       15
  Lines         433      431       -2
==========================================
- Hits          430      427       -3
- Misses          3        4       +1

Impacted Files
Coverage Δ

src/react/metrics.js
96.96% <ø> (-1.56%)
:arrow_down:

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 84f6ce3...07b0c6f. Read the comment docs.


Shift-Delete should not delete previous character on windows

It doesn't do this anywhere else. Shift-Delete maps to Cut.

resolved by https://github.com/ppy/osu-framework/pull/2687


Possible to Check Validation State?

  Ergo, we want our submit button disabled (which we can do with jquery) when clicked, and not be clickable again unless the validation fails.  This helps prevent multiple submissions into our system. But, for the life of me, I can't figure out how to query the state of the client side validation :/

If I understand you correctly, are you looking for jquery.valid() method? Calling this function checks whether the selected form is valid, or whether all selected elements are valid, i.e.
var isValid = $('form').valid();

This call will re-validate your form though. If the form has been already processed by validation function, you can call this one instead if you do not wish the re-validation to trigger, i.e
var validator = $('form').validate(); // gets validator object attached to the form
var isValid = validator.numberOfInvalids() === 0;


Make font import optional

Do you want to request a feature or report a bug?
Feature
What is the current behavior?
When importing the base styles into an application, there is a font import that is always pulled in.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. Paste the link to your JSFiddle (https://jsfiddle.net/Luktwrdm/) or CodeSandbox (https://codesandbox.io/s/new) example below:
What is the expected behavior?
We could add a flag via scss variable that defaults to either true or false in order to make the font import optional in the application using MDL.
Demo: https://www.sassmeister.com/gist/5ad1aa55ec807ca3f9d989a9e9022615
Which versions of MDL, and which browser / OS are affected by this issue? Did this work in previous versions of MDL?

Fixed by https://github.com/masonitedoors/MDL/pull/115


Menu Entry Swapper for Construction

Hi, I have Carpal Tunnel Syndrome and I love the menu entry swapper features! It makes grinding so much easier for me, thank you!
Could you implement a menu entry swapper for building oak larders please?

No. See https://github.com/runelite/runelite/wiki/Rejected-or-Rolled-Back-Features


OpenXR: Check correct status bit for hand tracking

In OpenXR the VALID bit informs us that that pose data is valid and usable. The TRACKING bit further informs us if the data is up to date or if we're dealing with inferred/calculated or otherwise manipulated data.
We were being too strict here resulting in data not being updated on some devices even though data was available.
In other places in the module, including in other places in hand tracking, we were checking the correct bit, just not here.

Thanks!

This doesn't cherry-pick cleanly on 4.3, presumably because #95153 wasn't fully backported as is. So this one would also need a bespoke backport PR for 4.3.

This one doesn't need to be cherry-picked anymore - @BastiaanOlij snuck a backport of this PR into PR https://github.com/godotengine/godot/pull/95835 so we should be good :-)


Add CarpinchoBot ROS bag

Proposed changes
Related to #165. Depends on #211.
Adds a ROS bag containing a run with CarpinchoBot from June 8, 2023.

https://github.com/Ekumen-OS/beluga/assets/33042669/06019dff-c372-41cb-a651-45076537d92d
Type of change

[ ] 🐛 Bugfix (change which fixes an issue)
[x] 🚀 Feature (change which adds functionality)
[ ] 📚 Documentation (change which fixes or extends documentation)

Checklist

[x] Lint and unit tests (if any) pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)
[x] All commits have been signed for DCO

@francocipollone @serraramiro1 FYI!

Closing this as the branch is no longer needed, the bring-up process has been documented and we will most likely upload the bags in a separate repository.

Closing this as the branch is no longer needed, the bring-up process has been documented and we will most likely upload the bags in a separate repository.

A video from this bagfile, that has actual odometry, would look great in this repo's landing page. The one above can work, but one with the visible laser scans would be even better.


Add logs for local echo issues

This PR adds logs to MXKRoomDataSource to better understand vector-im/element-ios#1771

We could have a log in the entry of eventDidChangeSentState like you did for localEventDidChangeIdentifier

Added


[BUG] Can't open blockdev on pvc

Describe the bug
Kubernetes can not mount PVC to the pod.
MountVolume.MountDevice failed for volume "pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b" : rpc error: code = Internal desc = mount failed: exit status 32 Mounting command: mount Mounting arguments: -t ext4 -o defaults /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b /var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/2aee5e3168ae66ffb6370f8c2327cfa99670f20799afc2d02734e18ab89fd687/globalmount Output: mount: /var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/2aee5e3168ae66ffb6370f8c2327cfa99670f20799afc2d02734e18ab89fd687/globalmount: /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b already mounted or mount point busy. dmesg(1) may have more information after failed mount system call.

To Reproduce
Deplom mrometeus operanor with pvc for grafana, prometeus and alertmanager.
And sometimes this error happens.
I can fix this error only by removing PVC and creating a new

Expected behavior
PVC attached to the pod normally and the pod started
Support bundle for troubleshooting

Environment

Longhorn version: 1.7.0
Impacted volume (PV): pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: Vanilla Kubernetes v1.28.10

Number of control plane nodes in the cluster: 3
Number of worker nodes in the cluster: 3

Node config

OS type and version: Ubuntu 24.04.1 LTS
Kernel version: 6.8.0-41-generic
CPU per node: 8
Memory per node: 16G
Disk type (e.g. SSD/NVMe/HDD): SSD or NVMe(hetzner cloud vps)
Network bandwidth between the nodes (Gbps): 1Gbps

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal Kubespray
Number of Longhorn volumes in the cluster: 4

Additional context
On dmesg log i see this error
[55156.642229] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[55278.756608] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[55400.920058] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[55523.040555] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[55645.189481] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[55767.341775] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[55889.445965] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[56011.582131] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[56133.715999] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev
[56255.859577] /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: Can't open blockdev

Other tests
root@worker3:~# sfdisk  -l -- /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b
Disk /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: 5 GiB,<PHONE_NUMBER> bytes, 10485760 sectors
Disk model: VIRTUAL-DISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

also, i see the error in the UI:

failed to list snapshot: cannot get client for volume pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b on node worker3.k8s: engine is not running

PS. I try to attach pvc in maintenance mode and i can do this only with these commands:
# udevadm info --name=/dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b
# udevadm trigger --action=remove /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b
# udevadm info --name=/dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b
# fsck.ext4 /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b
e2fsck 1.47.0 (5-Feb-2023)
/dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: recovering journal
Setting free inodes count to 327660 (was 327669)
Setting free blocks count to 1267939 (was 1268642)
/dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b: clean, 20/327680 files, 42781/1310720 blocks
# mount /dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b /mnt

but after detachment, the problem not fixed
Workaround and Mitigation

Have you checked https://longhorn.io/docs/1.7.0/important-notes/#unable-to-attach-volumes-created-before-v152-and-v144?

Command output: Safe to upgrade to v1.7.0.
kubectl -n longhorn-system get engines.longhorn.io

pvc-4b323020-99a9-4ee1-8ad1-5de7673fc2d2-e-0   v1            running   worker3   instance-manager-b903b8ccc9c9ea7995838647bff301f3   longhornio/longhorn-engine:v1.7.0   21h
pvc-9110c94f-de6d-489c-9e64-bdc500dffce6-e-0   v1            running   worker3   instance-manager-b903b8ccc9c9ea7995838647bff301f3   longhornio/longhorn-engine:v1.7.0   87m
pvc-91f76d1b-d48b-402a-b97c-edb55f0ff8a6-e-0   v1            running   worker2   instance-manager-b82f0ab4097a85d8d396e69854864fbb   longhornio/longhorn-engine:v1.7.0   21h
pvc-9a0f12da-e1ea-4f5a-85c5-aed0e24c39ef-e-0   v1            running   worker3   instance-manager-b903b8ccc9c9ea7995838647bff301f3   longhornio/longhorn-engine:v1.7.0   18h

OK.
/dev/longhorn/pvc-7eaecbeb-ae6b-4776-97a9-c8fcaa3b7e0b already mounted or mount point busy.

Please check https://longhorn.io/kb/troubleshooting-volume-with-multipath/

I apply this manual always before installing Longhorn on cluster

I apply this manual always before installing Longhorn on the cluster.

All Longhorn nodes?

Can I try updating to 1.7.1 and check?

Sure.

I apply this manual always before installing Longhorn on the cluster. Can I try updating to 1.7.1 and check?

Do you mean https://longhorn.io/kb/troubleshooting-volume-with-multipath/?

Yes, in all worker nodes I add block blacklist before install Longhorn.
PS. On 1.7.1, the problem was reproduced.

Can you provide a support bundle?

Yes.
supportbundle_a6c697e9-2f98-4e07-8916-d3193715ff24_2024-09-05T06-22-09Z.zip

I Provided a support bundle and removed the comment because he has private information about the cluster

Hey, @derekbit. Do you have any news on my issue?

Didn't receive the support bundle.
BTW, can you check which process is using the block device with the error message ...already mounted or mount point busy..

@derekbit I send you an email with a support bundle in the attachment.

What is the name of the problematic volume @wirwolf ?

Hello @PhanLe1010. I send a support bundle to email @derekbit because bundle have many personal information(node name, ips and other)

Can you also forward it to<EMAIL_ADDRESS>@wirwolf ?

@PhanLe1010 done

Experiencing the same issue. Also on Ubuntu 24.04.1 LTS but with Longhorn 1.7.1 and microk8s v1.30.4:
MountVolume.MountDevice failed for volume "authelia-v1" : rpc error: code = Internal desc = mount failed: exit status 32 Mounting command: mount Mounting arguments: -t ext4 -o defaults /dev/longhorn/authelia-v1 /var/snap/microk8s/common/var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/afc5e74b435c62a943ca116a0c8cccea603c635bb21f019896b0bd703c721314/globalmount Output: mount: /var/snap/microk8s/common/var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/afc5e74b435c62a943ca116a0c8cccea603c635bb21f019896b0bd703c721314/globalmount: /dev/longhorn/authelia-v1 already mounted or mount point busy. dmesg(1) may have more information after failed mount system call.

dmesg:
[ 1920.231582] /dev/longhorn/authelia-v1: Can't open blockdev

No such issue on two other hosts running Ubuntu 22.04.5 LTS in my homelab once I cordon the Ubuntu 24.04.1 node.


wasm: remove non-representative and redundant benchmarks.

The "json_serialize_arena" test was non-representative, and it was running
out of memory in WasmVM during benchmarks, leading to invalid results.
The "json_deserialize_arena" test was measuring exactly the same process as
the "json_deserialize" test, so it was redundant.
The "json_serialize_deserialize" test was a combinantion of "json_serialize"
and "json_deserialize" tests, so it was redundant.
While there, make sure that inputs are not used as outputs, and vice-versa.
Signed-off-by: Piotr Sikora<EMAIL_ADDRESS>

/retest

@mattklein123 it looks that @mathetake isn't auto-assigned to Wasm PRs, even though he is listed in CODEOWNERS. Any ideas?

Any ideas?

Sorry no idea. @mathetake is a member of the org and the assignable group.

I guess that's because I don't have write permission: https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners


[docs] Not find printer api

Not find printer api

use window.print(), this is normal web api, we don't need to document it.

ok, thanks


docs: add group policies for user auth

What type of PR is this?
documentation
What does this PR do / Why do we need it:
Adds ability to define groups for authz policies
This PR supersedes dev-submitted PR #98
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Moving these changes and more to a new PR #113:   https://github.com/project-zot/project-zot.github.io/pull/113


Provide changelog and notifications for new releases

📝 Feedback
Currently there doesn't appear to be any way for users of these libraries to be notified when new versions are released or find out what has changed in a given release aside from inspecting the commit log. Publishing a changelog along with publishing releases on GitHub would make this possible.
🔦 Context
I'm evaluating whether to adopt react-aria for a project and if my team decides to adopt I'd like an easy way to stay up-to-date with new features and bug fixes.
💻 Code Sample
N/A
🌍 Your Environment
N/A
🧢 Your Company/Team
SimpliSafe

Have you seen the Releases section of the docs? https://react-spectrum.adobe.com/releases/index.html

You could use an RSS feed to check for updates to the react-aria npm package? https://stackoverflow.com/questions/29848229/is-there-a-way-to-check-update-for-particular-npm-package-using-rss-atom-or-othe

Well that's better than nothing. The libraries.io feed is a little noisy since it doesn't appear to have a way to filter out the nightly releases. Ideally https://react-spectrum.adobe.com/releases/index.html would have a rss feed to subscribe to directly.

We do tag all of our releases in github, you could use github's APIs as well https://vilcins.medium.com/rss-feeds-for-your-github-releases-tags-and-activity-cbda2c51373
The nightlies aren't tagged in there, so that should get rid of some of the noise.

Another option could be something like https://fetchrss.com/
All you need to do is give it this URL https://react-spectrum.adobe.com/releases/index.html and then follow the prompts to automatically create the feed.
This would be even less noisy than the other suggestions so far.
Also, we do accept PR's, so if you'd like to add this to our docs build, we'd definitely consider it.


[Component] HorizontalNavigation

Closing this for now as it can be achieved with UVerticalNavigation simply by setting the flex class on it.


Adding material for SimObject session

@mahyarsamani can you fix the conflict (rebase?) and let me know. Then I will merge.

@mahyarsamani can you fix the conflict (rebase?) and let me know. Then I will merge.

Done


[APP-7066] - consider local send status messages as current users'

Description
The problem appears to be that occasionally, pending(local) messages sometimes don't have the sender.userId on it. It resolves itself once the message successfully sends, but there is a brief moment in time, where we have a message and we don't know who it is from if we are only basing it off of userId.
Test Plan

Any theories on why it's undefined sometimes on pending messages?

Any theories on why it's undefined sometimes on pending messages?

its not undefined, its an empty string, and I haven'ttt got a clueeeeee lol

it would seem they are somewhat aware of the problem themselves, they've dealt with it in some areas where they have defined isByMe

This is the PR(https://github.com/sendbird/sendbird-uikit-react/pull/23), where they fix some undescribed bug caused by an incomplete definition of isByMe. They don't really say why its happening

Can you add a test plan? I know it's intermittent, but I think it will be helpful looking back on this PR.

Can you add a test plan? I know it's intermittent, but I think it will be helpful looking back on this PR.

lol its unfortunate because there is no reliable repro. But, I'll add a test plan to make sure we didn't break anything


Add css definition to be read off of data, so it can handle abstract …

…and child states
Summary
Modified the behavior a bit so that getFromState reads off of data as well as the existing state definition.  This way, css properties can be inherited along with the data.

oops, sorry, not done yet.


Fix potential nondeterministic test failures due to rate limiting

See https://groups.google.com/d/msgid/zulip-devel/c3d4c7d9-4b55-40b7-bdc9-f2e49ee04b43%40googlegroups.com?utm_medium=email&utm_source=footer for context.
There's a bug here that we don't clear the redis server's data that the tests use.  So since the zerver.tests.tests.TestMissedMessages.test_extra_context_in_huddle_missed_stream_messages test uses a fixed set of redis keys, if that test crashes partway through at any point (e.g. because the user hit ctrl-C while the test was running) and thus doesn't clear the keys it sets through its normal completion process, we just leak that state in the redis server forever.  Possible solutions include:

add code to clear the redis server between tests
Do something like what we do with memcached of changing key prefixes on each test run
probably a few other options

I think the second solution is probably going to be the simplest...

The proximal issue has been resolved via a commit from #980, but the general issue remains.

I like the solution of changing key prefixes here.


Value Normalization

Do you have any recommendations on implementing normalization for values, and/or might there be justification for implementing an option to support normalization during construction?  Something like
public MyUnit(T value)
{
    this.value = Normalize(value);
    this.Validate();
}

Right now, I'm looking at normalizing string values via trimming (at a minimum).  I can't use Validate to modify the value because my value is readonly.  I'd also like to use the value via json conversion, but I don't see an obvious way to inject normalization in there.
As another potential example off the top of my head, consider something like a clamped numeric value, where numbers outside a range are accepted but clamped to the bounds of the range.

+1, it would be really useful

Implemented it in #31.


Add seeding workflow

A very useful addition to Nanobox would be a "seeding workflow". This can be used for the following scenarios:

A developer starts working on an existing project
An environment is launched on a CI for acceptance tests

In these (and possibly more) cases seeding is essential to e.g. fill a database, generate assets, etc.
This is the only thing which prevents "Yes, just nanobox run after cloning and start hacking." from my POV. ;-)
Pagodabox had the Boxfile.install which could be used to achieve this but it actually boils down to manual work in the end. Especially for the usecase "fill database" the knowledge of Nanobox wrt the app config (data containers, environment variables, etc.) could be used to e.g. automatically pull a DB dump from production into development.

This is an interesting idea. We'll definitely kick around some ideas.
Thanks @mbrodala


No dialog-overlay background color showing

Dialog appears but does not overlay the view underneath. I see the overlay element in the DOM called "dialog-overlay" but appears to be missing a background-color.

If you want your dialog overlay to have styling or color you can add it in your CSS.  Just add something like -
ai-dialog-overlay.active {
  background-color: black;
  opacity: .5;
}

Hi @PWKad, as you suggested that after styling the css also to "ai-dialog-overlay.active", I am not getting the perfect modal dialog. The background color appears for whole screen it self.

please help me in this concern.

Can you check z-indexes?

Hi @Mordred, I checked with Z-indexes. but it wasn't worked for me actually.

This does work for me, without even messing with z-indexes. However, it seems strange for me to have to implement this myself. In Bootstrap, the modal backdrop is 50% black, and that seems very expected behaviour to me.
Can I cast a vote in favour of rolling in the two rule styles from 4 comments above?
Seems I'm eager for tiny default CSS changes tonight! :)
(https://github.com/aurelia/dialog/issues/113 also)
If you don't want this in the default CSS, I really do think this needs to be documented in the project README.md.

@jeff-h I added a snippet to the readme

lovely :)


Function similar to mkList, that returns manifests like buildHelmChart

I played around with transforming a HelmChart as per the Nixcon talk (patchDeployment example) and it does work without any problems, but as far as I can tell, to transform it back into a YAML file, the mkList function needs to be used, which turns the manifests into a kind: List object. While this works and it's possible to apply it via kubectl, I would prefer to have the manifests separated by ---'s as they were after the buildHelmChart.
I tried around building a helper function for it, but couldn't get it working due to my limited Nix Lang abilities, so that's why I'm opening this issue, maybe you can help me out 😄

There you go!

Works perfectly, thanks so much!


Release Graph Node v0.31.0 on mainnet

Still a draft PR because we're waiting for GGP approval.

Hi @neysofu - we've recently discussed having one single feature matrix, as we currently have it in 2 files:

feature-support-matrix.md (outdated)
mainnet.md (canonical, ratified by the Council)

We should remove the one from mainnet.md and use only the dedicated one (feature-support-matrix.md). There's also currently no need for having separate matrixes for Ethereum mainet or Arbitrum One environment, which simplifies things (we may have different .md files for each environment, as proposed here https://github.com/graphprotocol/indexer/pull/660).
Could you update this PR, please?

Only because mainnet should be broken down into two files (Ethereum and
Arbitrum One) as each environment requires different configuration
parameters for Indexers. Once that happens, there shouldn't be a need for
separate matrixes? The matrix is the same for both environments (at least
for now). Just a proposal, really.
On Wed, 7 Jun 2023, 14:56 Filippo Neysofu Costa, @.***>
wrote:

Sure thing! May I ask why we're keeping feature-support-matrix.md instead
of mainnet.md if the latter is the canonical one and it's ratified by the
Council, though? The other way around seems more intuitive to me.
—
Reply to this email directly, view it on GitHub
https://github.com/graphprotocol/indexer/pull/664#issuecomment-1580762291,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCJKNESMETLOGABXLYH4MLXKB27XANCNFSM6AAAAAAYFHC6PE
.
You are receiving this because you commented.Message ID:
@.***>

Sounds good! I've updated this PR and marked it ready for review. I think it's best to wait until https://github.com/graphprotocol/indexer/pull/660 is merged before removing any of the two .md files we have for now, as I don't want to introduce conflicts, but I'm all for removing it. Will follow-up once https://github.com/graphprotocol/indexer/pull/660 is merged.

@PedroMD @neysofu the GGP was approved, seems that we have some conflicts to resolve?

Do we have an agreement we can waive the upgrade window to make things easier, at least for now? It has always been marked as optional in the ratified GIP 008 where this feature matrix was initially proposed.
I also just noticed the GGP the Council signed needed to be updated; it does not reflect the breakdown I had proposed for mainnet and Arbitrum mainnet. Governance-wise, we should proceed as-is anyway and ensure that next time we have the breakdown for each environment.


Error: Instalation script failed: sh: -c: line 0: syntax error near unexpected token (' sh: -c: line 0: "${SHELL}"

Description
What steps will reproduce the problem?

Use latest version of Spyder 6.0.2, go to:
Tools > "Manage remote connections..." > enter SSH data and hit Connect.
Getting the following error:
Error: Instalation script failed: sh: -c: line 0: syntax error near unexpected token (' sh: -c: line 0: "${SHELL}"
Also, it is not possible to re-connect. Stop or Connect buttons are not active.
 It seems you don't have curl installed in your server. Could you confirm if that's the case?

Another possible problem is that you're not using Bash as your default shell. So, please also let us know what shell you're using in your server.

@hlouzada, please take a look at this one. I think the problem is we're trying to run the installation script with the sh shell and not with Bash.

Hi,
I am trying to reach a remote server which is a Synology DSM server.

curl is already installed and available to the user:
(python311_venv) (spyder) spyder@synek:/volume1/python311_venv$ curl --version
curl 7.86.0 (x86_64-pc-linux-gnu) libcurl/7.86.0 OpenSSL/3.0.9 zlib/1.2.11 c-ares/1.14.0 nghttp2/1.41.0
Release-Date: 2022-10-26
Protocols: http https

both bash and sh environments are availble (by default it's /bin/sh):
echo $SHELL
/bin/sh

I also tried to modify the user's default shell into bash:
(python311_venv) (spyder) spyder@synek:~$ cat .profile
SHELL=/bin/bash
exec bash
--> however that still doesn't work

I was able to install micromamba manually which modified the .profile script to include the variables:
(spyder) (spyder) spyder@synek:~$ env
...
MAMBA_EXE=/volume1/homes/spyder/.local/bin/micromamba
SHELL=/bin/bash
MAMBA_ROOT_PREFIX=/volume1/homes/spyder/.local/share/mamba

--> however keep getting the same error
NOTE: What I am missing is the ability to add a default directory to which I will connect. Is it mandatory for it to be $HOME of the user?

I have created a new "clean" user on my server and tried it again. The following is the error in Spyder log:
Info: Opening SSH connection — 22:29:06 06/11/2024 Info: SSH connection opened for None — 22:29:06 06/11/2024 Warning: spyder-remote-server is not installed: sh: //var/services/homes/testspyder/.local/bin/micromamba: No such file or directory — 22:29:06 06/11/2024 Info: Installing spyder-remote-server on 95.142.???.??? — 22:29:06 06/11/2024 Error: Instalation script failed: sh: -c: line 0: syntax error near unexpected token (' sh: -c: line 0: "${SHELL}"
Using putty, I have logged in and tried to execute the command manually:
testspyder@synek:~$ "${SHELL}" <(curl -L https://raw.githubusercontent.com/spyder-ide/spyder-remote-services/master/scripts/installer.sh)
-sh: syntax error near unexpected token `('
testspyder@synek:~$

However, after switching to bash, I was able to execute the command manually (which suggests that in fact bash is mandatory):
testspyder@synek:~$ bash
bash-4.4$ "${SHELL}" <(curl -L https://raw.githubusercontent.com/spyder-ide/spyder-remote-services/master/scripts/installer.sh)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3010  100  3010    0     0   7281      0 --:--:-- --:--:-- --:--:--  7270
warning  libmamba You have not set the root prefix environment variable.
    To permanently modify the root prefix location, either:
      - set the 'MAMBA_ROOT_PREFIX' environment variable
      - use the '-r,--root-prefix' CLI option
      - use 'micromamba shell init ...' to initialize your shell
        (then restart or source the contents of the shell init script)
    Continuing with default value: "/volume1/homes/testspyder/.local/share/mamba"
conda-forge/noarch                                  17.2MB @  21.4MB/s  0.7s
conda-forge/linux-64                                39.6MB @  18.7MB/s  2.0s

Transaction

  Prefix: /volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote

  Updating specs:

   - python=3.12
   - pip

  Package               Version  Build               Channel          Size
────────────────────────────────────────────────────────────────────────────
  Install:
────────────────────────────────────────────────────────────────────────────

  + _libgcc_mutex           0.1  conda_forge         conda-forge       3kB
  + _openmp_mutex           4.5  2_gnu               conda-forge      24kB
  + bzip2                 1.0.8  h4bc722e_7          conda-forge     253kB

...
Transaction finished

To activate this environment, use:

    micromamba activate spyder-remote

Or to execute a single command in this environment, use:

    micromamba run -n spyder-remote mycommand

warning  libmamba You have not set the root prefix environment variable.
    To permanently modify the root prefix location, either:
      - set the 'MAMBA_ROOT_PREFIX' environment variable
      - use the '-r,--root-prefix' CLI option
      - use 'micromamba shell init ...' to initialize your shell
        (then restart or source the contents of the shell init script)
    Continuing with default value: "/volume1/homes/testspyder/.local/share/mamba"
Collecting spyder-remote-services
  Downloading spyder_remote_services-0.1.3-py3-none-any.whl.metadata (1.8 kB)
Collecting jupyter-server<3.0,>=2.14.2 (from spyder-remote-services)
  Downloading jupyter_server-2.14.2-py3-none-any.whl.metadata (8.4 kB)

...
**Installed kernelspec spyder-kernel in /volume1/homes/testspyder/.local/share/jupyter/kernels/spyder-kernel**

Upon next attempt to connect from Spyder I'm now getting a different error:

Info: Opening SSH connection — 22:39:06 06/11/2024
Info: SSH connection opened for None — 22:39:07 06/11/2024
Info: spyder-remote-server is installed on 95.142.???.??? — 22:39:08 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:09 06/11/2024
Info: Starting remote server for 95.142.???.??? — 22:39:09 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:10 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:12 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:14 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:16 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:18 06/11/2024
Info: Error parsing server info, received: No info found. — 22:39:20 06/11/2024
Error: Faield to get server info — 22:39:20 06/11/2024

testspyder@synek:~$ micromamba run -n spyder-remote spyder-server --jupyter-server
[I 2024-11-06 23:50:03.696 SpyderServerApp] jupyter_server_terminals | extension was successfully linked.
[I 2024-11-06 23:50:03.721 SpyderServerApp] jupyter_server_terminals | extension was successfully loaded.
[I 2024-11-06 23:50:03.722 SpyderServerApp] Serving notebooks from local directory: /volume1/homes/testspyder
[I 2024-11-06 23:50:03.722 SpyderServerApp] Jupyter Server 2.14.2 is running at:
[I 2024-11-06 23:50:03.722 SpyderServerApp] http://localhost:34671/?token=d8d841e3655dc557097ff980d4201d51de0855b65cabbff3
[I 2024-11-06 23:50:03.722 SpyderServerApp]     http://<IP_ADDRESS>:34671/?token=d8d841e3655dc557097ff980d4201d51de0855b65cabbff3
[I 2024-11-06 23:50:03.722 SpyderServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Traceback (most recent call last):
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/bin/spyder-server", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/spyder_remote_services/__main__.py", line 15, in main
    launch_new_instance(rest)
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/jupyter_core/application.py", line 283, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/jupyter_server/serverapp.py", line 3120, in start
    self.start_app()
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/jupyter_server/serverapp.py", line 3021, in start_app
    self.write_server_info_file()
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/jupyter_server/serverapp.py", line 2827, in write_server_info_file
    with secure_write(self.info_file) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/jupyter_core/paths.py", line 1007, in secure_write
    raise RuntimeError(msg)
RuntimeError: Permissions assignment failed for secure file: '/volume1/homes/testspyder/.local/share/jupyter/runtime/jpserver-spyder.json'. Got '0o677' instead of '0o0600'.

Hi,
I believe the issue is with file:
/volume1/homes/testspyder/.local/share/mamba/envs/spyder-remote/lib/python3.12/site-packages/jupyter_core/paths.py
line: 950
Looks like there is a typo:
        #stat.S_IMODE(Path(fname).stat().st_mode) & 0o6677
        stat.S_IMODE(Path(fname).stat().st_mode) & 0o600

--> After modifying the line I no longer have the error...
However, I'm not sure this is actually what I wanted :) What I was aiming for was to be able to open remote directories and maintain files, etc. Where can I see the remote files inside Spyder?

Actually, now the connection says
Status: Active
The connection was established successfully.
However the Connection messages still show Info/Error:
Info: Opening SSH connection — 00:21:06 07/11/2024
Info: SSH connection opened for None — 00:21:07 07/11/2024
Info: spyder-remote-server is installed on <IP_ADDRESS> — 00:21:08 07/11/2024
Info: Error parsing server info, received: No info found. — 00:21:09 07/11/2024
Info: Starting remote server for <IP_ADDRESS> — 00:21:09 07/11/2024
Info: Remote server started for <IP_ADDRESS> at port 39870 — 00:21:10 07/11/2024
Info: Forwarding an free local port to remote port 39870 — 00:21:10 07/11/2024
Info: Forwarded local port 54488 to remote server at localhost:39870 — 00:21:10 07/11/2024
Also, does it mean I need to open 39870 on the server to access it?


New X-Forwarded-Prefix headers should contain route path only

Summary
See #5620 and specifically https://github.com/Kong/kong/pull/5620/files#diff-8cb7654e2e5f4b45e64e3cd2afdcfcd9R239-R271 for current behavior.
Based on the report in https://github.com/Kong/kubernetes-ingress-controller/issues/784 and a brief reading of that code, Kong will either send an existing X-Forwarded-Prefix header from a trusted sender or will generate a new X-Forwarded-Prefix header containing the entire path.
Though unclear, I believe the headers that Kong generates itself should contain the route path only, i.e. run https://docs.konghq.com/2.1.x/pdk/kong.router/#kongrouterget_route, extract the path, and set X-Forwarded-Prefix to that.
Steps To Reproduce

Create a route+service using an echo service (httpbin or similar).
Send a request through the route, and inspect the X-Forwarded-Prefix header received upstream

Additional Details & Logs
From the original report, CE 2.0.4 running on EKS 1.17. Exact route config used is available in https://github.com/Kong/kubernetes-ingress-controller/issues/784 but I believe this should affect any route equally; exact config shouldn't matter.
The correct behavior here is unclear. Based on the header name alone, I agree with the controller report: this should send the Kong route path prefix only, or the portion of the request matching it in the case of regex paths. However, this header is non-standard, and I cannot find anything that appears to be an authoritative source on its behavior. There are several open questions:

If we receive an X-Forwarded-Prefix header from a trusted downstream, should we combine it with our route prefix in any way? As-is we use the downstream value exclusively.
For regex paths, should we forward the matched string, or the original regex?

@jerfer do you know of an authoritative source for this header's behavior, or absent that, any source that describes this header's behavior? We should probably be able to learn more about it by reviewing the source of other proxies, but it'd be useful to know if there is something close to an authoritative source.

@rainest Here you go, I found one of each.

Source: line 224 in https://github.com/spring-cloud/spring-cloud-gateway/commit/bc1e549dc8f7aa92d90a1e3bb85670bb7229aee8
Docs: https://docs.traefik.io/v2.0/middlewares/stripprefix/

Does that work for you?

This is duplicate of #6132

@rainest / @jerfer,
There is now a PR #6201 to fix this. Can you please try it out and report any issues / give feedback, thank you!

Closing this issue, let's please keep the discussion in #6201. Thanks for reporting, @rainest!


How to send PING?

A proxy between the client and my server disconnects the websocket connection if no data crosses the wire in any 100 second span.
To fix this I'm currently sending dummy data on a timed schedule, but that's a very clumsy solution.
I notice that if the browser sends a PING, the PHP-Websockets server will correctly reply with a PONG.  How can I send a PING from the server?  I'm willing to modify the server's PHP file to do so.

instead of using dummy data use :
$this->send($user,$message,'ping');
The client will respond with a pong

@Xaraknid it's not about the message but the "pong frame"
Having the same issue here, after a while i am getting a disconnect (executed from browser) because the server appears inactive to the JS websocket.
The solution would be to send a PING from PHP to the WS, as @RoxKilly already mentioned.
So far i have found no solutions online how to do that though.

Ok it's been a while I worked on that and by that time I fork it and change alot of thing including the command send.
If you want the server to send a ping you can do that.  You'll can do it by adding a new function inside websocket.php
Clone this function.
protected` function send($user, $message) {
    if ($user->handshake) {
      $message = $this->frame($message,$user);
      $result = @socket_write($user->socket, $message, strlen($message));
    }
    else {
      // User has not yet performed their handshake.  Store for sending later.
      $holdingMessage = array('user' => $user, 'message' => $message);
      $this->heldMessages[] = $holdingMessage;
    }
  }

and modified it to that
protected` function send_ping($user, $message) {
    if ($user->handshake) {
      $message = $this->frame($message,$user,"ping");
      $result = @socket_write($user->socket, $message, strlen($message));
    }
    else {
      // DO NOTHING because User has not yet performed their handshake.
    }
  }

After that from from your server loop up to you to use your own  method to call that function at certain interval to keep connection alive.

I will give that a try, but it is weird that the server has to send the ping instead of the client
I saw a ping request happen from client->server once, and had some checks to validate if the server responds with pong - it did send it, but the client disconnected regardless.

Maybe the connection close because of network issue.  You are right it's not required that the server send the ping or the client the purpose of ping-pong other than to know the latency can be use to keep the connection alive at application level by sending data on it if there is a long time between transmission.
As I said above you can also directly send a pong instead of a ping and the client will receive it and not respond to that reducing data flow.
After that you need to know if it's server or client side that close the connection.
If it's server side you can add the option keep alive on the TCP that will make another layer of keeping connection alive as it'll do on TCP level ( 2 hours time frame check ). You can do that by adding SO_KEEPALIVE on the line 22 of websocket.php
socket_set_option($this->master, SO_KEEPALIVE, SOL_SOCKET, SO_REUSEADDR, 1) or die("Failed: socket_option()");

I have SO_KEEPALIVE set and i know that the client closes the connection since i got this bit of code:
            case SOCKET_ETIMEDOUT:
                return "Connection timed out";

    private function readPacket($client, ?string &$message)
    {
        $numBytes = @socket_recv($client, $message, 2048, 0);
        if ($this->stop) {
            return \false;
        } else if ($numBytes === false) {
            $sockErrNo = \socket_last_error($client);
            switch ($sockErrNo) {
                case SOCKET_ENETRESET: //Network dropped connection because of reset
                case SOCKET_ECONNABORTED: //Software caused connection abort
                case SOCKET_ECONNRESET: //Connection reset by peer
                case SOCKET_ESHUTDOWN: //Cannot send after transport endpoint shutdown -- probably more of an error on our part, if we're trying to write after the socket is closed.  Probably not a critical error, though.
                case SOCKET_ETIMEDOUT: //Connection timed out
                case SOCKET_ECONNREFUSED: //Connection refused -- We shouldn't see this one, since we're listening... Still not a critical error.
                case SOCKET_EHOSTDOWN: //Host is down -- Again, we shouldn't see this, and again, not critical because it's just one connection and we still want to listen to/for others.
                case SOCKET_EHOSTUNREACH: //No route to host
                case SOCKET_EREMOTEIO: //Remote I/O error -- Their hard drive just blew up.
                case 125: //ECANCELED - Operation canceled
                    $emsg = "Unusual disconnect $sockErrNo on socket $client (" . socket_strerror($sockErrNo) . " - " . $this->getSocketEString($sockErrNo) . ")";
                    $this->logger->error($emsg);
                    $this->disconnectClient($client, $emsg); // disconnect before clearing error, in case someone with their own implementation wants to check for error conditions on the socket.
                    break;
                default:
                    $this->logger->error('Socket error: ' . socket_strerror($sockErrNo));
            }

So the message logged was

Unusual disconnect (SOCKET_ETIMEDOUT number) ...

Indeed it happens at TCP level and each browser have their own default settings for TIMEOUT preventing keeping ghost connection.
So the only solution is to keep sending stuff.  You can do it on client side with a ping and server respong pong or the server sending ping or pong directly with pong the client didn't have to respond to it.


fix(lightbox): display videoplayer and desc copy without distortion

Related Ticket(s)
{{Provide url(s) to the related ticket(s) that this pull request addresses}}
Description
If description or title was too short, the video player would shrink
BEFORE:

AFTER: videoplayer doesn't shrink even if there is no title or description

Changelog
Changed

override carbon's padding-right: 20% on the modal-content

Removed

styles setting media to the top of the modal, media should be vertically centered

@RaphaelAmadeu can you take a look at this? I removed some of your code and want to make sure I didn't revert any important bug fixes...

so seems that removing the height: 100% from the row, reverts changes for this bug: https://github.com/carbon-design-system/ibm-dotcom-library/issues/1931
However by setting the row height to 100%, the copy and image become misaligned when modal is at full height


Unable to get access Keda service in docker for windows desktop

I have created the attached deployment.yaml file. When I do a kubectl -f <deploy.yaml> the service is getting created but not the external load balancing ip. Could you please let me know what is wron in this. I generated this using the below command only
func kubernetes deploy --name petshoporders --registry <your-docker-registry-name> --dry-run > deploy.yaml
deploy.yaml file is as below
data:
  AzureWebJobsStorage: VXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWU=
  FUNCTIONS_WORKER_RUNTIME: ZG90bmV0
apiVersion: v1
kind: Secret
metadata:
  name: petshoporders
  namespace: default
---
apiVersion: v1
kind: Service
metadata:
  name: petshoporders-http
  namespace: default
  annotations:
    osiris.deislabs.io/enabled: true
    osiris.deislabs.io/deployment: petshoporders-http
spec:
  selector:
    app: petshoporders-http
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: petshoporders-http
  namespace: default
  labels:
    app: petshoporders-http
  annotations:
    osiris.deislabs.io/enabled: true
    osiris.deislabs.io/minReplicas: 1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: petshoporders-http
  template:
    metadata:
      labels:
        app: petshoporders-http
    spec:
      containers:
      - name: petshoporders-http
        image: venkateshsrini3/petshoporders
        ports:
        - containerPort: 80
        env:
        - name: AzureFunctionsJobHost__functions__0
          value: GetProducts
        - name: AzureFunctionsJobHost__functions__1
          value: SaveProducts
        envFrom:
        - secretRef:
            name: petshoporders
---

@VenkateshSrini service type loadbalancer will only work if you have the corresponding cloud controller or metallb.
If this is on your laptop, dont think it will give you an LB ip address.

@balchua,
Usually the external IP would be localhost. But that is also not getting set. You can see the output of Kubectl get services in attached image. I tried accessing the services using the cluster-ip and the port 31397. But that also did not work

Port 31397 is a node port. You can access it using the host's ip not the clusterip.

@balchua,
I tried accessing the same. But that also is not working. I did a kubectl logs of my pod and I see the below error

info: Host.Triggers.Warmup[0]
Initializing Warmup Extension.
info: Host.Startup[503]
Initializing Host. OperationId: '83e64656-d0ce-42df-8b37-b3ce1678623b'.
info: Host.Startup[504]
Host initialization: ConsecutiveErrors=0, StartupCount=1, OperationId=83e64656-d0ce-42df-8b37-b3ce1678623b
info: Microsoft.Azure.WebJobs.Hosting.OptionsLoggingService[0]
LoggerFilterOptions
{
"MinLevel": "None",
"Rules": [
{
"ProviderName": null,
"CategoryName": null,
"LogLevel": null,
"Filter": "b__0"
},
{
"ProviderName": "Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.SystemLoggerProvider",
"CategoryName": null,
"LogLevel": "None",
"Filter": null
},
{
"ProviderName": "Microsoft.Azure.WebJobs.Script.WebHost.Diagnostics.SystemLoggerProvider",
"CategoryName": null,
"LogLevel": null,
"Filter": "b__0"
}
]
}
info: Microsoft.Azure.WebJobs.Hosting.OptionsLoggingService[0]
FunctionResultAggregatorOptions
{
"BatchSize": 1000,
"FlushTimeout": "00:00:30",
"IsEnabled": true
}
info: Microsoft.Azure.WebJobs.Hosting.OptionsLoggingService[0]
SingletonOptions
{
"LockPeriod": "00:00:15",
"ListenerLockPeriod": "00:01:00",
"LockAcquisitionTimeout": "10675199.02:48:05.4775807",
"LockAcquisitionPollingInterval": "00:00:05",
"ListenerLockRecoveryPollingInterval": "00:01:00"
}
info: Microsoft.Azure.WebJobs.Hosting.OptionsLoggingService[0]
HttpOptions
{
"DynamicThrottlesEnabled": false,
"MaxConcurrentRequests": -1,
"MaxOutstandingRequests": -1,
"RoutePrefix": "api"
}
info: Microsoft.Azure.WebJobs.Hosting.JobHostService[0]
Starting JobHost
info: Host.Startup[401]
Starting Host (HostId=petshopordershttp86d9bd8f99ztsbb, InstanceId=87a6e0c0-abc7-417c-bbc1-d8d16f05a7d5, Version=2.0.12835.0, ProcessId=1, AppDomainId=1, InDebugMode=False, InDiagnosticMode=False, FunctionsExtensionVersion=(null))
info: Host.Startup[314]
Loading functions metadata
info: Host.Startup[0]
A function whitelist has been specified, excluding all but the following functions: [GetProducts, SaveProducts]
info: Host.Startup[315]
0 functions loaded
info: Host.Startup[0]
Generating 0 job function(s)
warn: Host.Startup[0]
No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).
info: Microsoft.Azure.WebJobs.Script.WebHost.WebScriptHostHttpRoutesManager[0]
Initializing function HTTP routes
No HTTP routes mapped
info: Host.Startup[412]
Host initialized (233ms)
info: Host.Startup[413]
Host started (244ms)
info: Host.Startup[0]
Job host started
Hosting environment: Production
Content root path: /
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.

My class and functions are public with function level as anonymus

So the pod is running, but not getting traffic.  Will it be possible to use NodePort instead of LoadBalancer?  And for the meantime remove any osiris annotation. Just trying to isolate the issue.

Is this still an issue @VenkateshSrini ?

Yes. But then for http workload I think keda will not work with Osiris. To my requirement prometheus scaler is over kill. So I 'ம் just wondering to see if there are much simpler http scaler available from keda

Nope, you'll need Prometheus or as of 2.0 you'll be able to use Service Mesh Interface scaler; but don't support HTTP other than that

Is the Osiris and keda issue solved?

You should probably create an issue in Azure Func or Osiris repo. It is not relevant to KEDA


Improve resolver performance

Some not insignificant improvements found while developing https://github.com/CocoaPods/Molinillo/pull/40, which I absolutely cannot wait to 🚢
\c @indirect

woohoo this looks great!

Biggest issue now is https://github.com/bundler/bundler/pull/4580/commits/61f65828186e67c580518b1884d89869539d17f8, which doesn't play nice with https://github.com/rubygems/rubygems/issues/1617

@indirect what should I do about this?

@segiddins implement a new Gem::Specification#hash so you can ship this? Or ship this with everything but that, work on a new #hash later, and land just that part after. Up to you.

(For backwards-compat, you're going to have to support older versions of RubyGems that have unequal hashes regardless... implement that, and then let's speed up hash and use the new faster version when it's available.

@indirect so would that mean making grouping specs by version something that need to go in rubygems_integration? Joy.

@indirect this should be ready for review now

@homu r+

:pushpin: Commit dd67924 has been approved by indirect

:hourglass: Testing commit dd67924 with merge c67abfa...

Fixed the rubocop violation

@indirect should now be fixed!

@homu r+

:pushpin: Commit c162ee3 has been approved by indirect

:hourglass: Testing commit c162ee3 with merge 91df876...

:broken_heart: Test failed - status

@indirect can you take a look at that one failure?

@segiddins it looks like the changes to Molinillo are producing a more full conflict message, and the test just needs to be updated to expect both conflicts (gemfile and rails) in the output.

@homu r=indirect

:pushpin: Commit dd65243 has been approved by indirect

:hourglass: Testing commit dd65243 with merge 8d7b671...

:sunny: Test successful - status


JAVA-2808: Provide metrics bindings for Micrometer and Microprofile

Not much to say on the implementation.
On the principle, exposing this in the config bothers me: the config is "user land" and this feels too low level. I think what application developers will need most of the time is to send metrics data to a particular destination: collectd, graphite... For that you have dropwizard reporters, there's no need to replace the whole implementation. There's already a lot of stuff in reference.conf (one could probably argue too much).
Replacing the metrics library is for framework developers (Quarkus, Spring boot). This is a much smaller audience. I think it's fair to require the changes to be a bit more involved.
So maybe we could provide the MetricsFactory implementations, but in order to install them you still have to extend the context.

As a longtime user of Dropwizard Metrics and Micrometer, I cannot fully agree with this assessment. Yes, most of the time an application developer is interested in making sure the metrics get to a particular destination, whether it is Graphite, Prometheus or something else. However, this doesn't mean that using DW or Micrometer to perform that job is equivalent.
DW Metrics performs client-side aggregation; these metrics cannot be aggregated in the metrics back-end to provide a view across hosts / containers -- the results would be statistical nonsense.
Metric libraries that support server-side aggregation, such as Micrometer, provide users with the ability to collect data in an intermediate, non-aggregated form which can then be used in the metrics backend to perform aggregation.
My point is that even app developers should have the ability to choose, since the implementations are not equivalent in their output.

My point is that even app developers should have the ability to choose, since the implementations are not equivalent in their output.

Thanks for this comment, personally I must say it was very insightful for me.
I suggest that we go forward with the current approach as we are running out of time for the next release. I will also log a follow-up ticket to make using alternative metrics frameworks a bit more user-friendly than it currently is.

@margelatu I created JAVA-2855 to improve the user experience around switching metrics frameworks. Please vote for it and/or comment. Thanks!


values for the lines

Can you please make an example on how to use the values to define the thicknesses of each line ? I
this is the data :
data = [{"from":[-118.2705,33.9984],"to":[-122.789336,37.920458],"labels":["Los Angeles","San Francisco"],"color":"#ff3a31","value":50}];
do i need to add --> arcWidth: data.values ??

Hello,
I was able to do this by using the src.js  version of the library, (not the one in "dist" folder ).
It seems that the minified version in the "dist" folder of the library does not  include the pull request for adjusting arc width based on the value.

Yes, thanks for finding the problem, but I haven't had time to update it recently, can you initiate  a pull request and I can merge it in?


Skrollr Not working on IOS devices.

Thanks for developing such an awesome plugin. I'm running into a problem however. I can't seem to get it to work on IOS devices like iphone and ipad. I noticed that your example works just fine on my iphone, so this leads me to believe that there's something wrong with my markup that's causing this. I've tried everything, and I cant quite figure it out. I was wondering if you'd be willing to review this and give me some insight? What am I doing wrong here?
http://monicaanddanny.com/
Thanks so much for the help.

I'm using skrollr on a page that has only fixed positioned elements, and it works well on desktop, iOS and Android devices. Except for one thing - I have a function that shows/hides a fixed navbar, and it is called upon the scroll event, defined on the (jQuery wrapped) window element. It works normally on desktop, but on iOS and Android devices, the scroll event doesn't fire (and the navbar remains always visible).
ps: I don't have the "skrollr-body" id on the body element. As far as I know I don't need that if I only have positioned elements. I tried that anyway, but then the page turns blank on Android.

but on iOS and Android devices, the scroll event doesn't fire

Use skrollr's render event https://github.com/Prinzhorn/skrollr#render

thank you!

Hey, thanks for the plugin, it's working great on the desktop version of my site, but I'm having problems on mobile. I've included the #skrollr-body tag to contain all the content that needs to scroll on mobile. But when viewing the site on mobile it just scrolls from the top of the site all the way to the bottom, and vice versa, and keeps repeating this.
View it live on a mobile device here: http://ai.risingsenior.vdsla.com/
Could you please help me find a solution to this? This project is due in a day or two and would greatly appreciate a descriptive solution to this problem

My site has a navigation situation similar to the fixed_nav.html example that comes with skrollr.  When it said "desktop only!" I guess I was assuming that this meant not on mobile... but that it could still work on an iPad horizontally, which is typically a desktop-sized layout.  I get now that this isn't the case and, generally, why.
I now have a div with #skrollr_body surrounding my content, as in the fixed_nav.html example, which makes the page scrollable... but the skrollr effect is gone, which is a bummer.  Definitely would be nice if there is a way to have this working.

Here the same problem in some occasions, reason is Skrollr calculates the height of the page before all images are loaded. Moving skrollr.init() to window.load does the trick for me:
/* jQuery */
jQuery(window).load(function($) {
  var s = skrollr.init();
});


Cleanup refs

PR for #106
Cleanup old references in TypicalTestTasks and LogicManagerTest

Coverage remained the same at 90.55% when pulling cac707d5a772b22680032fa735f4f45f79e4e3f1 on cleanup-refs into 9857b41997d6af96e68c9985f49ef9e546c7f09d on development.


Do you support Ubuntu 16 ?

Hello ,
I want to ask if is possible to support Ubuntu 16 because now is LTS.

@crisanlucid I expanded the readme and the test matrix to cover 16.04. It's definitely supported.


SPACESHIP_KUBECTL_SHOW causes duplicate characters in prompt

The problem
When I set SPACESHIP_KUBECTL_SHOW=true, almost everytime when I type a command, the first character gets duplicated.

When I disable the option, everything works as expected.
Relevant Zsh configuration
SPACESHIP_USER_SHOW=true
SPACESHIP_TIME_SHOW=always
SPACESHIP_HOST_SHOW=false
SPACESHIP_TIME_COLOR=#22DA6E
SPACESHIP_KUBECTL_SHOW=true
SPACESHIP_PROMPT_ORDER=(
    time
    user
    dir
    kubectl
    char
    git
)

What is version of Spaceship are you using?
4.15.0
What is version of Zsh are you using?
5.9
What operation system are you running?
Manjaro Linux
Do you use any Zsh framework or plugin manager?
None
Which terminal emulator do you use?
xterm-256color
Additional information
No response

The issue was with: SPACESHIP_KUBECTL_SYMBOL. Setting it to empty fixed it. So probably something to do with my powerfont.
Closing this one

Closed


sdk automation, minor fix for python 3.12

python 3.12 report warning on regex, if not "raw string literal"
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

/check-enforcer override


On error, give access to body's data

On the server side, I use the function error of itty-router. I give an error code and a custom body error. The body contains some hints about what's wrong. I use it to give a better UX on the frontend, accordingly to what happened in the backend.
Even tho I can see the object I sent in the body's response, I can't retrieve it when itty-fetcher throws an error without using a custom handleResponse.
Basically, my request is : When an error is thrown, give access to the body through the error.
On axios, it's done using err.response.data, but I don't want to use the huge axios where this is the only different thing I need

I agree - working on this right now!

I'm thinking of returning the content of the response assigned into the error itself.  If the content is text, this would be err.message instead.
So for instance the following error:
400 {
  error: 'Missing values.',
  details: 'You are missing a valid username',
}

would throw an error with the following shape:
{
  status: 400,
  message: 'Bad Request',
  error: 'Missing values.',
  details:  'You are missing a valid username',
  response, // original response

Is the full response object useful ?
I feel like it would use memory for not much
Maybe options like includeDetailsInError or includeResponseInError would be convenient

my only thought it it would give you access to the headers (which may actually be useful)

I'd also like to minimize options (preferring sane defaults) in order to minimize footprint of the library... this is already going to rob some precious bytes (but I agree... this would prevent a common step I do of passing a handleResponse option to intercept and rethrow a better error) :)

Discussion started at #41 :)

So for the sake of bytes alone, I think we'll leave out embedding the response itself back into the error.  Extending the StatusError to handle a private attribute (so we don't pollute deconstructions) added too many characters for the potential value.
If someone truly needs the original response, they can still take full control using the handleResponse option.

Live in v0.9.x 🚀


⚠ 366.ru has degraded performance

In ab06651, 366.ru (https://366.ru) experienced degraded performance:

HTTP code: 200
Response time: 1711 ms

Resolved: 366.ru performance has improved in 980783b.


New version: Elgato.CameraHub version <IP_ADDRESS>9

Result: Installation Successful

Manifest
Add/Remove Programs

Name
Elgato Camera Hub

Version
<IP_ADDRESS>9

Publisher
Corsair Memory, Inc.

ProductCode

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 6993
Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run

/AzurePipelines run


Move Fluentbit RPM Package to Container in Gateway

Which issue this PR addresses:
Fixes ADO14306029
What this PR does / why we need it:
Consistency between the RP and gateway fluentbit image usage.
Should match #1635  very closely.
Test plan for issue:
Deploy to INT and ensure gateway logging still works
Is there any documentation that needs to be updated for this PR?
Nope

Holding on testing in INT to confirm it still works.

Deployed to INT, this looks good; I am still seeing logs for gateway.
https://msazure.visualstudio.com/AzureRedHatOpenShift/_build/results?buildId=54899741&view=logs&j=3c7d1bfc-207c-57c7-bfba-8d4b44a0467d&t=1acb40ae-22aa-5025-303e-cfb82f77661f
https://jarvis-west.dc.ad.msft.net/8EFB22F2 -> shows logs for gateway for commit: 4e12b5d


chore: update babel-core to 6.0.2

This

Updates babel-core to v6.0.2
Adapts the tests to work with the new configuration
Adds the required babel-plugin-* modules as devDependencies

The docs also needs updating.

Added information as I saw fit and removed the link to the former page about metadata in the advanced section. I was unable to find a page that replaces it. Any suggestions?

The metadata example also need to use a preset. And we need to ensure file.babel.usedHelpers is still a thing.

@sebmck @thejameskyle Can you take a quick look? Want to ensure we don't miss anything.

As far as i can tell the notion of metadata is missing in the entire babel documentation. metadata.usedHelpers is still present on the results (and is mapped to file.babel.usedHelpers)  but http://babeljs.io/docs/usage/api/ is not exactly open about metadata sitting there.

Looks good

Alright. We can sort out the metadata doc thing later. Thanks @marionebl :)


CIS hardening may affect nagios_plugin3.py permissions

During an NRPE charm upgrade to charmhub version 75 on a bionic endpoint, we experienced 'NRPE: Unable to read output' errors in Nagios.
Trying to run the failing check resulted in the following dump:
Traceback (most recent call last):
File "/usr/local/lib/nagios/plugins/check_lacp_bond.py", line 14, in
from nagios_plugin3 import CriticalError, WarnError, try_check
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 674, in exec_module
File "", line 780, in get_code
File "", line 832, in get_data
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/nagios/plugins/nagios_plugin3.py'
When looking at /usr/local/lib/nagios/plugins/nagios_plugin3.py, we found the owner was root:root and permissions were 640, meaning user nagios could not read the module for import.
When I checked the code in the main branch, it appears that the permissions of the source file are correctly set as 664, and the code uses shutil.copy2() to attempt to preserve permissions.
There may be an issue with CIS hardening that denies this attribute preservation, so the charm should hard-code the expected resulting file permissions within the nrpe_utils.py code that writes the file.

Imported from Launchpad using lp2gh.

date created: 2022-03-10T20:51:23Z

owner: afreiberger

assignee: None

the launchpad url

(by afreiberger)
Workaround:
juju run -a  'chmod 644 /usr/local/lib/nagios/plugins/nagios_plugin3.py'

(by vultaire)
I had a similar issue occur with etcd NRPE alerts.  Same script, but different directory.
sudo -u nagios -- /usr/lib/nagios/plugins/check_etcd-alarms.py
Traceback (most recent call last):
File "/usr/lib/nagios/plugins/check_etcd-alarms.py", line 5, in
import nagios_plugin3
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 674, in exec_module
File "", line 780, in get_code
File "", line 832, in get_data
PermissionError: [Errno 13] Permission denied: '/usr/lib/nagios/plugins/nagios_plugin3.py'
I would extend Drew's tweak as follows, to address the extra path, as well as the path from which the charm seems to do an rsync:
juju run -a  'chmod 644 -v /usr/local/lib/nagios/plugins/nagios_plugin3.py /usr/lib/nagios/plugins/nagios_plugin3.py files/plugins/nagios_plugin3.py'

(by marcusboden)
I ran into the issue as well. After applying Paul's fix, I still had some issues with missing read permissions:
ls -l /usr/local/lib/nagios/plugins/
total 188
-rwxr-x--x 1 root root  2465 May 25 21:22 check_arp_cache.py
-rwxr-xr-x 1 root root  5591 May 25 21:22 check_cis_audit.py
-rwxr-x--x 1 root root  1974 May 25 21:22 check_conntrack.sh
-rwxr-xr-x 1 root root  1431 May 25 21:22 check_cpu_governor.py
-rwxr-x--x 1 root root  5721 May 25 21:22 check_exit_status.pl
-rwxr-xr-x 1 root root  2341 May 25 20:08 check_hw_health_cron_output.py
-rwxr-xr-x 1 root root   994 May 25 20:08 check_ipmi.py
-rwxr-xr-x 1 root root 40212 May 25 20:08 check_ipmi_sensor
-rwxr-xr-x 1 root root  4783 May 25 21:22 check_lacp_bond.py
-rwxr-xr-x 1 root root 15111 May 25 21:22 check_mem.pl
-rwxr-xr-x 1 root root  4025 May 25 21:22 check_netlinks.py
-rwxr-xr-x 1 root root  1135 May 25 21:22 check_netns.sh
-rwxr-xr-x 1 root root  2694 May 25 20:00 check_ntpmon.py
-rwxr-xr-x 1 root root  2746 May 25 21:22 check_reboot.py
-rwxr-x--x 1 root root  2400 May 25 21:22 check_ro_filesystem.py
-rwxr-xr-x 1 root root  1997 May 25 21:22 check_status_file.py
-rwxr-x--x 1 root root  2169 May 25 21:22 check_swap_activity
-rwxr-x--x 1 root root  1467 May 25 21:22 check_systemd.py
-rwxr-xr-x 1 root root  5212 May 25 21:22 check_systemd_scopes.py
-rwxr-x--x 1 root root  2651 May 25 21:22 check_upstart_job
-rwxr-x--x 1 root root  1338 May 25 21:22 check_xfs_errors.py
-rwxr-xr-x 1 root root  4268 May 25 21:22 cron_cis_audit.py
-rwxr-xr-x 1 root root  5955 May 25 20:09 cron_ilorest.py
-rwxr-xr-x 1 root root  2159 May 25 20:09 cron_ipmi_sensors.py
-rwxr-xr-x 1 root root 11479 May 25 20:08 hw_health_lib.py
-rw-r--r-- 1 root root  2275 May 25 21:22 nagios_plugin3.py
drwxr-xr-x 2 root root  4096 May 25 20:09 pycache
The same was true for the files in /var/lib/juju/agents/unit-nrpe*/charm/files.
I ran on the units find /usr/local/lib/nagios/plugins/ -not -perm -o=r -exec chmod o+r {} \; to fix it.

(by aieri)
Given the ongoing work in porting checks to the grafana-agent charm I'll mark this as low.


build: upgrade version to 0.2.1

We're currently processing your upload.  This comment will be updated when the results are available.


google sign-in ios can be interrupted?

I want a http proxy to enter sign-in web page. Is there a way to do this？

There's no supported way, sorry.


Create new directory structure OpenAI requires (part 1)

This PR adds TritonXPUGPUToLLVM directory and files underneath in third_party/xpu.
Next step is to remove changes we made to lib/Conversion/TritonGPUToLLVM.

Done in https://github.com/intel/intel-xpu-backend-for-triton/pull/541.


add MCP server badge

This PR adds a badge for the cmd-mcp-server server listing in Glama MCP server directory.

Glama performs regular codebase and documentation scans to:

Confirm that the MCP server is working as expected
Confirm that there are no obvious security issues with dependencies of the server
Extract server characteristics such as tools, resources, prompts, and required parameters.

This badge helps your users to quickly asses that the MCP server is safe, server capabilities, and instructions for installing the server.

Cheers

Thanks! are you on the MCP Discord?
Let me know your Discord username and I will give you a special flair that's only for MCP server authors.

I just joined, my names phial8001 on discord


[WIP] ref(user-data): disable iptables in docker

A rebased final attempt to get the fix from #4732 passing. Wish it luck! :four_leaf_clover:

This change still fails when deis isn't able to communicate with the controller in AWS:
>>> Running integration test suite <<<

make -C tests/ test-full
make[1]: Entering directory `/home/jenkins/workspace/test-ec2/src/github.com/deis/deis/tests'
gofmt -l dockercli etcdutils mock utils apps_test.go auth_test.go builds_test.go config_test.go domains_test.go healthcheck_test.go integration_test.go keys_test.go limits_test.go main.go perms_test.go ps_test.go releases_test.go smoke_test.go tags_test.go users_test.go
godep go vet github.com/deis/deis/tests github.com/deis/deis/tests/dockercli github.com/deis/deis/tests/etcdutils github.com/deis/deis/tests/mock github.com/deis/deis/tests/utils
golint ./...
dockercli/dockercli.go:128:1: exported function CreateVolume should have comment or be unexported
dockercli/dockercli.go:160:1: exported function WaitForLine should have comment or be unexported
GOMAXPROCS=1 godep go test -tags integration -v -run TestGlobal
=== RUN   TestGlobal
auth:register http://deis.test-e83bf4ca8f.deis.works --username=test --password=asdf1234<EMAIL_ADDRESS>Error: http://deis.test-e83bf4ca8f.deis.works does not appear to be a valid Deis controller.
Make sure that the Controller URI is correct and the server is running.
error at command wait
--- FAIL: TestGlobal (1.83s)
	itutils.go:268: exit status 1
FAIL
exit status 1
FAIL	github.com/deis/deis/tests	1.831s
godep: go exit status 1
make[1]: *** [test-full] Error 1

Given the history of #4732, I'm afraid the time has come to...um...send these PRs off to a nice farm in Pueblo county where they can live happily among other failing jobs, in the sun, frolicking in the meadow. :cry:


Due date is removed when dragging ToDo from board to board

When I drag one of my ToDo items from one board to another (say from "New" to "In Progress") the due date parameter is removed from the ToDo item, therefore losing information.
Date formats "yyyy-mm-dd" and "yyyy-dd-mm" present the issue
Tags other than "due:" do not present the issue
Using the tag "Due:" (with a capital D) does not present the issue
I use imdone-atom on plain texst files

Issue only presents in due:yyyy-mm-dd format --> moving to due:dd-mm-yyyy is a workaround

I'm also finding this problem with some additional info
If I move any item from one list to another or inside the same list the due date is removed from that item and all other items with a due date.

Got a fix in the pipeline.  I'll have it published tonight.


Set filter to always be in uppercase

Currently, in development, when the library first appears, the header strings have the first letter capitalized but the reset of the string in lowercase. Here's what it looks like on start:

Then when the content is loaded, the title case changes to uppercase as shown here:

I've set the text to always be uppercased now.

I'm pretty sure that it's supposed to be sentence-cased (as it is on start) not uppercased. Pretty sure that we don't use all-uppercase for any messaging like this.
@luke-freeman can you confirm for me please?

@VegetarianZombie I've merged a lot of Jessy's commits to development today, so there's bound to be merge conflicts. Please can you resolve these, either by merging development into this branch, or rebasing this on top of development. Thanks!

This fixes #463

Will do!

@VegetarianZombie It should be in sentence case!

Thanks for the PR @VegetarianZombie - however closing as per the comments

I'm confused - why was this closed? I need to update my PR as the casing bug is still present in the live version.

@VegetarianZombie apologies I misread the initial description! I've opened it back up
In terms of fixing the bug - it should always be sentence case and never all caps

Hi Tim,
Thanks for re-opening up the PR. This turns about to be a result of iOS 14. It's a new styling feature. Anything put inside a list's section header will now be in all upper case. I had add an attribute to check the OS version in order to set the appropriate case.
Here's what it looks like now:

@sammyd Ready for review.


Official support ubuntu 22.04 LTS?

Official support ubuntu 22.04 LTS?

Zimbra/Synacor don't even support it yet.  Official Zimbra downloads don't have it: https://www.zimbra.com/product/download/zimbra-collaboration-network-edition/
I cannot support it until they do.  You should be asking them.  I believe sometime in 2024 they will do it (according to the forums).


fix: kvm import logic (#223)

Fixes issue #223.

I think we should add a flag to control whether such an import should fail or not. WDYT?

@srinandan That's a good idea. It would leave room for incorporating changes in future with respect to the Apigee APIs for KVMs.
I will introduce a flag to skip the import for existing KVMs.

I have introduced a flag for skipping the import of existing KVMs and also updated the org import logic with the same.
I didn't touch the documentation as I see that a GitHub Actions workflow for updating the documentation already exists.
@kurtkanaskie Kindly review once.

Firstly I think the option should follow existing naming conventions and use lowerCamelCase and show the default value.
e.g.  --importKVMs   Import KVMs and entries; default false
For example the output from import help is:
Usage:
  apigeecli organizations import [flags]

Flags:
  -c, --conn int             Number of connections (default 4)
  -f, --folder string        folder containing API proxy bundles
  -h, --help                 help for import
      --importDebugmask      Import debugmask configuration; default false
      --importTrace          Import distributed trace configuration; default false
  -o, --org string           Apigee organization name
      --skip-existing-kvms   Skip import of existing KVM(s)

Global Flags:
  -a, --account string   Path Service Account private key in JSON
      --disable-check    Disable check for newer versions
      --no-output        Disable printing all statements to stdout
      --print-output     Control printing of info log statements (default true)
  -t, --token string     Google OAuth Token

Secondly, I'm not able to get this to work, at all. I've exported an existing org apigeex-payg-kurt which has org level KVMs and an env KVM for dev. I copied apigeex-payg-kurt_kvms.json to apigeex-payg-2023-03-23_kvms.json. The resulting files after pruning is:
├── apigeex-payg-2023-03-23_kvms.json
├── apigeex-payg-kurt_kvms.json
├── dev_kvms.json
├── env_dev_github-webhook_kvmfile_0.json
├── org_error-handling-v1_kvmfile_0.json
├── org_test-org-level_kvmfile_0.json

I ran
go run ../main.go  organizations import --org=apigeex-payg-2023-03-23 --folder=. --conn=1 --token=$TOKEN
Importing API Proxies...
Importing Sharedflows...
Check for files with KVM Entries
Map name github-webhook, path env_dev_github-webhook_kvmfile_0.json
Map name error-handling-v1, path org_error-handling-v1_kvmfile_0.json
Map name test-org-level, path org_test-org-level_kvmfile_0.json
Importing configuration for environment dev
Importing configuration for environment test-env

But no KVMs get created. What am I missing?

Ah, now I see what I needed to do. After export I needed to rename files:
cp apigeex-payg-kurt_kvms.json org_apigeex-payg-kurt_kvms.json
cp dev_kvms.json env_dev_kvms.json

Given that, can we fix the export to add the org_ and env_ prefixes?

@kurtkanaskie

Fixed the case for the flag and added description for the default value associated with the flag.
For point 2 I think the JSON files that you mentioned are containing the list of KVMs and not the KVMEntries. The KVMEntries are already being exported with org_ and env_ prefixes, as shown here.

Testing the updates, I see some issues. After the export from org "apigeex-payg-kurt", I see these files:
tree .
.
├── apigeex-payg-kurt_kvms.json
├── dev_kvms.json
├── env_dev_github-webhook_kvmfile_0.json
├── org_error-handling-v1_kvmfile_0.json
├── org_test-org-level_kvmfile_0.json
├── proxies
│   ├── catch-all-v1.zip
│   └── notarget.zip
└── sharedflows

I have 2 org level KVMs "test-org-level" and "error-handling-v1"
I have a single env level KVM "github-webhook" in "dev"
Issue 1 - the output files containing the kvm names should follow the pattern:
org_ORGNAME_kvms.json
env_ENVNAME_kvms.json
To make the import work to org "apigeex-payg-2023-03-23"  I need to copy the exported files to follow that pattern.
cp apigeex-payg-kurt_kvms.json org_apigeex-payg-2023-03-23_kvms.json
cp dev_kvms.json env_dev_kvms.json

Issue 2  - Import puts all KVMs in "dev" env.
After I correct the kvm names files, the import is placing all the KVMs into my dev environment.
Using apigeecli, the import is correctly placing 2 KVMs in org and 1 KVM in env.
Issue 3 - import says it's only importing names, but entries are created
Importing API Proxies...
Importing Sharedflows...
Check for files with KVM Entries
Map name github-webhook, path env_dev_github-webhook_kvmfile_0.json
Map name error-handling-v1, path org_error-handling-v1_kvmfile_0.json
Map name test-org-level, path org_test-org-level_kvmfile_0.json
Importing Org scoped KVMs...
Importing configuration for environment dev
	Importing KVM Names only...

Issue 4 - skipExistingKVMs doesn't appear to work
Given I have 2 org level KVMs "test-org-level" and "error-handling-v1"
And I have a single env level KVM "github-webhook"
I deleted "error-handling-v1" so I could test that it gets created and others are skipped.
$ go run ../main.go kvms list --org apigeex-payg-2023-03-23 -t $TOKEN
[
	"test-org-level"
]

$ go run ../main.go kvms list --org apigeex-payg-2023-03-23 --env dev -t $TOKEN
[
	"github-webhook"
]

$ go run ../main.go organizations import --org apigeex-payg-2023-03-23 --folder=. --conn 1 --token $TOKEN --skipExistingKVMs=true
Importing API Proxies...
Importing Sharedflows...
Check for files with KVM Entries
Skipping Map name github-webhook having path env_dev_github-webhook_kvmfile_0.json as it already exists at the Apigee Environment level
Map name error-handling-v1, path org_error-handling-v1_kvmfile_0.json
Map name test-org-level, path org_test-org-level_kvmfile_0.json
Importing Org scoped KVMs...
Importing configuration for environment dev
	Importing KVM Names only...
{
  "error": {
    "code": 409,
    "message": "KeyValueMap github-webhook already exists",
    "status": "ABORTED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.PreconditionFailure",
        "violations": [
          {
            "type": "keyvaluemap.service.keyvaluemap_already_exist",
            "subject": "[2002:a17:531:3006::]:4389:bibuz12:9830:619912:26405482",
            "description": "KeyValueMap github-webhook already exists"
          }
        ]
      }
    ]
  }
}

Error: Conflict - request conflicts with the current state of the server

After that:
$ go run ../main.go kvms list --org apigeex-payg-2023-03-23 -t $TOKEN
[
	"test-org-level"
]

$ go run ../main.go kvms list --org apigeex-payg-2023-03-23 -t $TOKEN
[apigeex-payg-kurt:~/work/APIGEEX/apigeecli/apigeecli/test-kvm-import-new]$ go run ../main.go kvms list --org apigeex-payg-2023-03-23 --env dev -t $TOKEN
[
	"error-handling-v1",
	"github-webhook",
	"test-org-level"
]

@g-greatdevaks - am closing this issue for now. Please submit a new PR once you have the fix


Is this a typo?

I think this line should
var result = client.Accounts.Create(resource_group_name, resource_name /account_tier/, parameters);

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 439b7fcb-ffb2-bc2d-d781-6f6ddf54a216
Version Independent ID: 78b05c0c-e370-b55f-3255-fa545eeceae1
Content: Create Cognitive Services resource using Azure Management client library - Azure Cognitive Services
Content Source: articles/cognitive-services/cognitive-services-apis-create-account-client-library.md
Service: cognitive-services
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@FaizulHussain Thanks for the feedback! We will review and update accordingly.

@PatrickFarley Could you please confirm and change the following create method for Cognitive Services resource.
static void create_resource(CognitiveServicesManagementClient client, string resource_name, string kind, string account_tier, string location)
{
    Console.WriteLine("Creating resource: " + resource_name + "...");
    /* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
    property from CognitiveServicesAccountProperties. */
    CognitiveServicesAccount parameters =
        new CognitiveServicesAccount(null, null, kind, location, resource_name, new CognitiveServicesAccountProperties(customSubDomainName : subdomain_name), new Sku(account_tier));
    var result = client.Accounts.Create(resource_group_name, account_tier, parameters);
    Console.WriteLine("Resource created.");
    Console.WriteLine("ID: " + result.Id);
    Console.WriteLine("Kind: " + result.Kind);
    Console.WriteLine();
}

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.cognitiveservices.iaccountsoperations.createwithhttpmessagesasync?view=azure-dotnet

@FaizulHussain looks like you're correct. I've updated the code sample

#please-close


How to define a more complex accessor return type?

Versions:

ide-helper Version: 3.2.2
Laravel Version: 11.35.1
PHP Version: 8.3.14

Question:
Suppose I have a model with an accessor attribute that returns an array of ints:
protected function minutes(): Attribute
{
return Attribute::make(
get: fn (): array => [0, 15, 30, 45],
);
}
This will produce @property-read array $minutes.
How can I help this package produce something like @property-read array<int> $minutes?

I think you can add it to the phpdocs of the function itself, not sure if phpstan detects this correctly otherwise.