pmem-csi-intel-com-node pods fails to start in direct mode

I have OpenShift 4.5 cluster (kubernetes 1.18) with pmem-csi-operator v0.8.0 deployed in default namespace with the following pmem deployment:
apiVersion: pmem-csi.intel.com/v1alpha1
kind: Deployment
metadata:
  name: pmem-csi.intel.com
spec:
  deviceMode: direct
  nodeSelector:
    storage: pmem

Operator tried to deploy pmem-csi-intel-com-node on each node tagged with storage=pmem label, but the pods fail to start with the following error messages:
oc logs pmem-csi-intel-com-node-pwnc4 --all-containers
I1014 20:27:02.303693       1 main.go:110] Version: v1.2.0-0-g6ef000ae
I1014 20:27:02.303763       1 main.go:120] Attempting to open a gRPC connection with: "/csi/csi.sock"
I1014 20:27:02.303779       1 connection.go:151] Connecting to unix:///csi/csi.sock
W1014 20:27:12.304085       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:27:22.304117       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:27:32.304076       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:27:42.304119       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:27:52.304106       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:28:02.304074       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:28:12.304117       1 connection.go:170] Still connecting to unix:///csi/csi.sock
W1014 20:28:22.304013       1 connection.go:170] Still connecting to unix:///csi/csi.sock
I1014 20:27:50.107676       1 main.go:67] Version: v0.8.0-0-gc3728707
I1014 20:27:50.109417       1 mount_linux.go:163] Detected OS without systemd
failed to run driver: FATAL: /sys mounted read-only, can not operate
I1014 20:27:50.204747       1 pmd-ndctl.go:42] NewPmemDeviceManagerNdctl: sysfs mount options:[ro seclabel nosuid nodev noexec relatime]

This looks like https://github.com/intel/pmem-csi/issues/581 which should be fixed by https://github.com/intel/pmem-csi/pull/584
I tried to debug this pod and it looks like the /sys filesystem is mounted twice inside the pod - first in the read-write mode then again in read-only mode:
oc debug pod/pmem-csi-intel-com-node-pwnc4
Defaulting container name to pmem-driver.
Use 'oc describe pod/pmem-csi-intel-com-node-pwnc4-debug -n default' to see all of the containers in this pod.

Starting pod/pmem-csi-intel-com-node-pwnc4-debug, command was: /usr/local/bin/pmem-csi-driver -deviceManager=direct -v=5 -mode=node -endpoint=unix:///csi/csi.sock -nodeid=$(KUBE_NODE_NAME) -controllerEndpoint=tcp://$(KUBE_POD_IP):10001 -registryEndpoint=tcp://pmem-csi-intel-com-controller:10000 -caFile=/certs/ca.crt -certFile=/certs/tls.crt -keyFile=/certs/tls.key -statePath=/var/lib/$(PMEM_CSI_DRIVER_NAME) -drivername=$(PMEM_CSI_DRIVER_NAME) -pmemPercentage=100 -metricsListen=:10010
Pod IP: <IP_ADDRESS>
If you don't see a command prompt, try pressing enter.

# mount | grep sysfs
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime,seclabel)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

Don't know where this ro mount comes from - the pod manifest refers to the sysfs once and with proper (rw) flag:
oc describe pod/pmem-csi-intel-com-node-pwnc4
Name:         pmem-csi-intel-com-node-pwnc4
Namespace:    default
Priority:     0
Node:         ocp4.ocp.example.com/<IP_ADDRESS>
Start Time:   Wed, 14 Oct 2020 20:26:52 +0000
Labels:       app=pmem-csi-intel-com-node
              controller-revision-hash=7bb5674975
              pmem-csi.intel.com/webhook=ignore
              pod-template-generation=1
Annotations:  k8s.v1.cni.cncf.io/network-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "default": true,
                    "dns": {}
                }]
              k8s.v1.cni.cncf.io/networks-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "default": true,
                    "dns": {}
                }]
              pmem-csi.intel.com/scrape: containers
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  DaemonSet/pmem-csi-intel-com-node
Containers:
  pmem-driver:
    Container ID:  cri-o://3b25e1be299cd224af3fd8067632be94737e6b43b8db8af98299e3f54252938e
    Image:         intel/pmem-csi-driver:v0.8.0
    Image ID:      docker.io/intel/pmem-csi-driver@sha256:439daccbc033c0586df6e07c498f765ec14c35f12e5a039d691e2fe14f9aa77e
    Port:          10010/TCP
    Host Port:     0/TCP
    Command:
      /usr/local/bin/pmem-csi-driver
      -deviceManager=direct
      -v=5
      -mode=node
      -endpoint=unix:///csi/csi.sock
      -nodeid=$(KUBE_NODE_NAME)
      -controllerEndpoint=tcp://$(KUBE_POD_IP):10001
      -registryEndpoint=tcp://pmem-csi-intel-com-controller:10000
      -caFile=/certs/ca.crt
      -certFile=/certs/tls.crt
      -keyFile=/certs/tls.key
      -statePath=/var/lib/$(PMEM_CSI_DRIVER_NAME)
      -drivername=$(PMEM_CSI_DRIVER_NAME)
      -pmemPercentage=100
      -metricsListen=:10010
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Message:      failed to run driver: FATAL: /sys mounted read-only, can not operate
      Exit Code:    1
      Started:      Wed, 14 Oct 2020 20:43:27 +0000
      Finished:     Wed, 14 Oct 2020 20:43:28 +0000
    Ready:          False
    Restart Count:  8
    Limits:
      cpu:     100m
      memory:  250Mi
    Requests:
      cpu:     100m
      memory:  250Mi
    Environment:
      KUBE_NODE_NAME:         (v1:spec.nodeName)
      KUBE_POD_IP:            (v1:status.podIP)
      PMEM_CSI_DRIVER_NAME:  pmem-csi.intel.com
      TERMINATION_LOG_PATH:  /tmp/termination-log
      GODEBUG:               x509ignoreCN=0
    Mounts:
      /certs from node-cert (rw)
      /csi from socket-dir (rw)
      /dev from dev-dir (rw)
      /sys from sys-dir (rw)
      /var/lib/kubelet/plugins/kubernetes.io/csi from mountpoint-dir (rw)
      /var/lib/kubelet/pods from pods-dir (rw)
      /var/lib/pmem-csi.intel.com from pmem-state-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-wqhr8 (ro)
  driver-registrar:
    Container ID:  cri-o://14b39be6e30c5b2c62926cb58245d1092b2b13617fc2cb8bfcd6e1010c467f34
    Image:         k8s.gcr.io/sig-storage/csi-node-driver-registrar:v1.2.0
    Image ID:      k8s.gcr.io/sig-storage/csi-node-driver-registrar@sha256:273175c272162d480d06849e09e6e3cdb0245239e3a82df6630df3bc059c6571
    Port:          <none>
    Host Port:     <none>
    Args:
      -v=5
      --kubelet-registration-path=/var/lib/kubelet/plugins/$(PMEM_CSI_DRIVER_NAME)/csi.sock
      --csi-address=/csi/csi.sock
    State:          Running
      Started:      Wed, 14 Oct 2020 20:27:02 +0000
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  250Mi
    Requests:
      cpu:     100m
      memory:  250Mi
    Environment:
      PMEM_CSI_DRIVER_NAME:  pmem-csi.intel.com
    Mounts:
      /csi from socket-dir (rw)
      /registration from registration-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-wqhr8 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  socket-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet/plugins/pmem-csi.intel.com
    HostPathType:  DirectoryOrCreate
  registration-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet/plugins_registry/
    HostPathType:  DirectoryOrCreate
  mountpoint-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet/plugins/kubernetes.io/csi
    HostPathType:  DirectoryOrCreate
  pods-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet/pods
    HostPathType:  DirectoryOrCreate
  node-cert:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  pmem-csi-intel-com-node-secrets
    Optional:    false
  pmem-state-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/pmem-csi.intel.com
    HostPathType:  DirectoryOrCreate
  dev-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /dev
    HostPathType:  DirectoryOrCreate
  sys-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /sys
    HostPathType:  DirectoryOrCreate
  default-token-wqhr8:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-wqhr8
    Optional:    false
QoS Class:       Guaranteed
Node-Selectors:  storage=pmem
Tolerations:     node.kubernetes.io/disk-pressure:NoSchedule
                 node.kubernetes.io/memory-pressure:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute
                 node.kubernetes.io/pid-pressure:NoSchedule
                 node.kubernetes.io/unreachable:NoExecute
                 node.kubernetes.io/unschedulable:NoSchedule
Events:
  Type     Reason          Age                  From                           Message
  ----     ------          ----                 ----                           -------
  Normal   Scheduled       19m                  default-scheduler              Successfully assigned default/pmem-csi-intel-com-node-pwnc4 to ocp4.ocp.example.com
  Normal   AddedInterface  19m                  multus                         Add eth0 [<IP_ADDRESS>/26]
  Normal   Pulling         19m                  kubelet, ocp4.ocp.example.com  Pulling image "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v1.2.0"
  Normal   Pulled          19m                  kubelet, ocp4.ocp.example.com  Successfully pulled image "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v1.2.0"
  Normal   Started         19m                  kubelet, ocp4.ocp.example.com  Started container driver-registrar
  Normal   Created         19m                  kubelet, ocp4.ocp.example.com  Created container driver-registrar
  Normal   Created         18m (x4 over 19m)    kubelet, ocp4.ocp.example.com  Created container pmem-driver
  Normal   Started         18m (x4 over 19m)    kubelet, ocp4.ocp.example.com  Started container pmem-driver
  Normal   Pulled          17m (x5 over 19m)    kubelet, ocp4.ocp.example.com  Container image "intel/pmem-csi-driver:v0.8.0" already present on machine
  Warning  BackOff         4m9s (x69 over 19m)  kubelet, ocp4.ocp.example.com  Back-off restarting failed container

I have also checked and the /sys is mounted in rw mode on the host itself:
oc debug node/ocp4.ocp.example.com
Starting pod/ocp4ocpexamplecom-debug ...
To use host binaries, run `chroot /host`
Pod IP: <IP_ADDRESS>
If you don't see a command prompt, try pressing enter.
sh-4.2# mount | grep sysfs
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
sysfs on /host/sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
sysfs on /host/var/lib/containers/storage/overlay/8536f5d9249693d1d640755aa456c92a31ed0fe950d7ca2fa06b7e129030e467/merged/sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

The issue seems to be related to: https://github.com/containerd/containerd/issues/3221

Interesting discovery: just adding "hostNetwork: true" to the pod template in deamon set makes the container runtime to mount the /sys in read-write mode by the default. Since there is another volume explicitly mounted in the /sys path, there are still two mounts as before seen inside pod, but this time both are read-write:
oc debug pod pmem-csi-intel-com-node-qxbwf
Error from server (NotFound): pods "pod" not found
[root@jump ~]# oc debug pod/pmem-csi-intel-com-node-qxbwf
Defaulting container name to pmem-driver.
Use 'oc describe pod/pmem-csi-intel-com-node-qxbwf-debug -n default' to see all of the containers in this pod.

Starting pod/pmem-csi-intel-com-node-qxbwf-debug, command was: /usr/local/bin/pmem-csi-driver -deviceManager=direct -v=5 -mode=node -endpoint=unix:///csi/csi.sock -nodeid=$(KUBE_NODE_NAME) -controllerEndpoint=tcp://$(KUBE_POD_IP):10001 -registryEndpoint=tcp://pmem-csi-intel-com-controller:10000 -caFile=/certs/ca.crt -certFile=/certs/tls.crt -keyFile=/certs/tls.key -statePath=/var/lib/$(PMEM_CSI_DRIVER_NAME) -drivername=$(PMEM_CSI_DRIVER_NAME) -pmemPercentage=100 -metricsListen=:10010
Pod IP: <IP_ADDRESS>
If you don't see a command prompt, try pressing enter.

# mount | grep sysfs
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

Couple things worth mentioning:

I'm not sure if the fact that /sys is by default always mounted in the container is specific to openshift only, or cri-o runtime. I don't have access to other kubernetes clusters at the moment to confirm. If this is standard behavior there is no need to mount sysfs into container second time
It's odd that adding hostNetwork: true option makes the sysfs to be mounted in read-write mode. Again - not sure if this is specific to the openshift version (4.5), kubernetes version (1.18.3), runtime (cri-o 1.18.3) or something else.
I tried to play with Pod Security Policies and AllowedProcMountTypes https://kubernetes.io/docs/concepts/policy/pod-security-policy/#allowedprocmounttypes but without any success. Maybe I was doing something wrong, or maybe OpenShift 4.5 does not support that - it seemed like this option was silently filtered out from the PSP when applying it on the cluster.

An alternative approach might be to mount sysfs in non-standard path inside container (like /host-sysfs) and modify the code to use that new path instead of /sys. This might be better solution than enabling hostNetwork for the pmem-csi-intel-com-node pods.

I suspect hostNetwork: true affects how much access containerized applications get for the host system also regarding /sys because some network operations on the host level may need read/write access there.
I like the idea of mounting /sys as  /host-sysfs inside the container. I'm less sure how realistic it is to modify the code which needs it. Perhaps we can "fix up" a read-only /sys by bind-mounting the read/write /host-sysfs on top of it inside the container? PMEM-CSI has the necessary privileges for it.

@krisiasty: are you perhaps able to build an image from the source in PR #867 and then test whether that fixes the issue for you on OpenShift?

@krisiasty: are you perhaps able to build an image from the source in PR #867 and then test whether that fixes the issue for you on OpenShift?


Fix handling of flags, prefixes, and suffixes in included files

As we don't use an assembler on include files, their flags, prefixes, and suffixes are currently lost.

New function: mergeFlagsPrefixesSuffixes


Unexpected behavior (usability) in Register-PSRepository

From @WernerMairl on November 18, 2016 8:27
Hi
Working with Register-PSRepository i have found some behavior that was really unexpected.
Probably we are not talking about bugs but about usability....

Repository uniqueness
All the functions around PSRepository (Get, Register, Unregister) are using the Name Property/Argument to identify a Repo.

Seeing this API-Surface i'm assuming that the property Name is the one that implements the "unique" Key for Repos => expected behavior at the first look....
after playing a few hours with the api, i find out that internally NOT the Name must be unique but the property "SourceLocation" enforces uinqueness.

That means i'm not be able to register the same package Source with different Names
Means in different Powershell-Codebases that should run on the same server i must synchronize Repository NAMES....

To solve problems like that must select/filter my Repos by SourceLocation BUT the Get-PSRepo function doesn't implement filter for SourceLocation.... usability Issue, a property that is used as primary key should have some easy access....(yes i can do that with pure Powershell, but we are talking about API-Usability)

ErrorActionPreference is ignored!
If i call "Register-PSRepository" with a unique/random Name but a SourceLocation that is used in another Repo then the Function writes Error output.

PackageManagement\Register-PackageSource : The repository could not be registered because there exists a registered repository with Name 'XXXXX' and SourceLocation 'http://xxxxxxx.y.z.a:8080/api/odata'. To register
another repository with Name 'XXXXX', please unregister the existing repository using the Unregister-PSRepository cmdlet
I found the following unexpected behavior here:
$ErrorctionPreference value is "Stop" in the calling script => assuming that a exception can be catched with try catch
Register-PSRepository writes the error record but it does not FOLLOWS the STOP behavior.. it IGNORES!
To enforce the "expected" behavior i must expplicitely use
Register-PSRepository ......-ErrorAction Stop
I'm not a expert in all the coding and behavior rules for PS but
in 99% of my PS-Code i'm able to catch exceptions by using $ErrorActionPrefence on the global level
so i think that can be behavior issue inside Register-PSRepository
regards
Werner
Copied from original issue: PowerShell/PowerShell#2717

Result of some investigation:

Verified with v<IP_ADDRESS> of PackageManagement AND PowershellGet!
after reading some sourcecode i can image that the "problem" is cased by the NuGet-Provider and not by PackageManagement/PowershellGet
(https://github.com/OneGet/NuGetProvider/blob/5bf937d437c5a648d516134af75b7dc7e49fe8e4/NugetLightProvider.cs, Line 290-293)

here a small sample that shows the behavior:
$ErrorActionPreference = "Stop";
try
{
  $uniqueName=[System.Guid]::NewGuid().ToString("N");
  Register-PSRepository -Name $uniqueName -SourceLocation "https://www.powershellgallery.com/api/v2/" -PackageManagementProvider "NuGet" -verbose
  Write-Host "We should never see this line because ErrorActionPreference is set to Stop and the repository with the given uniquename is NOT created!" ;
  $repo=Get-PSRepository -Name $uniqueName -ErrorAction Ignore;
  if ($repo -eq $null)
  {
    Write-Host "Repo not created and creation NOT terminated with a exception!"
  }
}
Catch
{
  Write-Host "$($_)";
}

This works for my purposes, but I don't want to ever write this:
$Repo = @{
    Name               = "TeamName"
    SourceLocation     = "https://TeamName.pkgs.visualstudio.com/_packaging/PowerShell/nuget/v2"
    InstallationPolicy = "Trusted"
}

try {
    Set-PSRepository @Repo
} catch {
    Register-PSRepository @Repo
}

I want the Set or Register commands to have a -Force switch that causes it to just do the thing.
The whole problem with the underlying NuGet provider is just annoying, since as far as I can tell that was created by this team in an attempt to double-down on the package provider abstraction, but it feels like abandonware which has not been kept up (i.e. it still doesn't work with the modern v3 feeds, so it's NO LONGER ACTUALLY A NUGET PROVIDER).
If Microsoft doesn't have the (will|man)power to finish the PackageManagement system (i.e. Update-Package #6 which has been the major blocker to implementing Chocolatey FOR FOUR YEARS) or even make releases of added features (i.e. Nuget v3 feeds #326) and keep up a working provider for their own package repositories -- you should probably just abandon the concept and make PowerShellGet a standalone module.
Nobody has time to chase bugs through 4 github projects as teams pass the blame ...

I agree with this.   I found this but wasn't actually sure if this issue should be in this repo, or the PackageManagement/OneGet one.
Like others we've been having to put a ton of code in pipeline steps to handle the way these modules are designed and it's a huge pain.


Failed to transfer tokens to some addresses

It works when I transfer 10 "SSS" tokens to the address "0x066a46470fd976e89303f501b704f73016da101e", but failed to transfer tokens to "0xCfA5DAe3936638CB8531Ab51AEEc1922Dd0873de" due to  "gas required exceeds allowance or always failing transaction".
  let to = EthereumAddress("0xCfA5DAe3936638CB8531Ab51AEEc1922Dd0873de")
  let contractAddress = EthereumAddress("0x7d3e7d41da367b4fdce7cbe06502b13294deb758")
  let contract = web3.contract(Web3Utils.erc20ABI, at: contractAddress, abiVersion: 2)
  let value = web3Options.value ?? BigUInt(0)
  web3Options.value = nil
  web3Options.to = nil
  let intermediate = contract?.method("transfer", parameters: [to, value] as [AnyObject], extraData: Data(), options: web3Options)
   guard let transaction = intermediate?.transaction else {
        return
   }
   guard let signedTransactionData = web3.browserFunctionsFunctions.signTransactionWith(transaction, options: web3Options, password: password) else {
        return
    }

I think the address  has nothing to do with it,  however it did failed when I change the receiver address.
That's really weird.
I also tested this on Imtoken, there's no such error. What did I do wrong?

You don’t need to set options value to nil, it’s zero by default. I’d suggest to set options.gasLimit = BigUInt(200000) and try again. May be the contract is non-standard and requires more gas for transaction. Also, check that you do not have pending transactions on your account, may be a duplicate nonce problem again that I remember you had before.

From: Ryan Yuan<EMAIL_ADDRESS>Sent: Tuesday, May 8, 2018 1:39:27 PM
To: BANKEX/web3swift
Cc: Subscribed
Subject: [BANKEX/web3swift] Failed to transfer tokens to some addresses (#94)
It works when I transfer 10 "SSS" tokens to the address "0x066a46470fd976e89303f501b704f73016da101e", but failed to transfer tokens to "0xCfA5DAe3936638CB8531Ab51AEEc1922Dd0873de" due to "gas required exceeds allowance or always failing transaction".
let to = EthereumAddress("0xCfA5DAe3936638CB8531Ab51AEEc1922Dd0873de")
let contractAddress = EthereumAddress("0x7d3e7d41da367b4fdce7cbe06502b13294deb758")
let contract = web3.contract(Web3Utils.erc20ABI, at: contractAddress, abiVersion: 2)
let value = web3Options.value ?? BigUInt(0)
web3Options.value = nil
web3Options.to = nil
let intermediate = contract?.method("transfer", parameters: [to, value] as [AnyObject], extraData: Data(), options: web3Options)
guard let transaction = intermediate?.transaction else {
return
}
guard let signedTransactionData = web3.browserFunctionsFunctions.signTransactionWith(transaction, options: web3Options, password: password) else {
return
}
I think the address has nothing to do with it, however it did failed when I change the receiver address.
That's really weird.
I also tested this on Imtoken, there's no such error. What did I do wrong?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/BANKEX/web3swift/issues/94, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGKv95SSFAgQ-MqX08i9DxT1vi9n5Gmgks5twXXfgaJpZM4T2aVb.

@shamatar Thanks again. It failed because the value I gave to gasLimit is too small.


add default direction to DirectionalLight docs

Objective

Adds a default direction to the documentation of DirectionalLight

Solution
Suggestion from Q&A answer:
https://github.com/bevyengine/bevy/discussions/5186#discussioncomment-3073767

Are we good to merge this?

I think my suggestion should be merged in first to clarify exactly what's going on.

@alice-i-cecile, you mean this suggestion?

The light always points in the "forward" direction of its local rotation.

That seemed redundant by the previous line:

By default, the light shines along the negative-Z axis and the local transform adjusts its direction.


Can the model be used in controlnet automatic 1111?

Just wondering if this is compatible with automatic 1111?

We don't have enough time to support WebUI right now, but I'm sure there will be some excellent people working on it soon.

wait 2 months - or just use comfyui now - https://github.com/InstantID/InstantID/pull/24

The ControlNet PR is here, but I still have some issue with CFG.
https://github.com/Mikubill/sd-webui-controlnet/pull/2580

https://github.com/Mikubill/sd-webui-controlnet/pull/2580 looks promising!
Since it's merged, I'm assuming it's ready to go? Where can we download the control-net models (ip-adapter_instant_id_sdxl)?

There are download links in the release note.

integrated faceswap code has dropped. https://github.com/InstantID/InstantID/pull/89/files

There are download links in the release note.

Cool. Where is release note? Can you just provide some link instead words?

Mikubill/sd-webui-controlnet#2580 looks promising!
Since it's merged, I'm assuming it's ready to go? Where can we download the control-net models (ip-adapter_instant_id_sdxl)?

------------------ citate from here
You need to download following models and put them under {A1111_root}/models/ControlNet directory. It is also required to rename models to ip-adapter_instant_id_sdxl and control_instant_id_sdxl so that they can be correctly recognized by the extension.
ipadapter model
ControlNet model


Use Asyncify to handle synchronous commands?

The Browser compatibility section of the README describes issues running blocking code on the browser's main thread. Have you considered using Binaryen's asyncify pass to enable these applications to run correctly?

Perhaps https://github.com/GoogleChromeLabs/asyncify could be useful for this!

Yo!  Since we wanted to make sure this would be reasonably fast on many devices we decided to keep an eye on Asyncify for the future, and we discussed it may be a good idea for us to try and do this server side on WAPM and/or detect if a module is already asyncified 😄
So it's something we definitely need to do some more discussion about, but I very much appreciate you suggesting this! 😄 👍

Cc @kripken for the performance issues. It’s unfortunate that Binaryen is too slow here because this is definitely the type of use case we want to support!

Oh, yeah, I was talking to @torch2424 about this earlier. Currently binaryen.js is not wasm (asm.js for maximum portability), and uses C++ exceptions. Once we have exceptions in wasm, we can make a wasm build, and that should be much faster.
Btw, one thing I didn't get - why is this done on the client?

@tlively Yeah it is! But it's not the fault of binaryen at all, what we are trying to do is a little extreme haha! 😂
@kripken Yep! Looking forwawrd to it! 😄 And the reason why we wanted to do it on the client, as we wanted anyone to use whatever module they wanted, not just modules from WAPM. So this is something we could enable for WAPM modules, but then users would have to host their own asyncify servers for their eventual end users, or pre-lower all of their modules before using them. Which I think is a little out of scope of what we wanted to achieve in our MVP. But we definitely want to be able to identify and supported asyncified modules in the future 👍

This is no longer necessary because the new SDK executes blocking operations (like executing WebAssembly code) on a Web Worker in the background.


Twitter retrieve should save candidate website (Part 2)

https://github.com/wevote/WeVoteServer/issues/819
Save the link to the candidates home website which may be linked to from
their twitter page.

👍


[Add] : Add Interviewbit for Learn and Practice Programming with Online Code editor

Site URL
https://www.interviewbit.com/
Description of the above provided site

Add Interviewbit Website for Learn and Practice Programming with Online Code Editor

Category
Frontend
Sub Category
online-code-editors
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hi @NarendraKoya999! :) Just to confirm, are you participating in GSSOC'23?

Hi @NarendraKoya999! :) Just to confirm, are you participating in GSSOC'23?

Yes @CBID2 . I am Participating in GSSOC'23


Annotations as package

Refactored calls to annotations framework as package.
Changed installation to install annotations with pip.
Some tests will fail until the corresponding PR in the annotations repository is merged and the package with the new naming scheme is released.

Well, the tests cannot actually run in the CI, due to some of our servers being down (and therefore not being able to download the input files 😞). We need to wait until this happens before we can merge...

Folks! After several months, the CI finally works and we can merge this PR :)


GLTF: fix segfault in animNormals memcpy when mesh.normals == NULL

I ran across a GLTF file with animation data but no normals which caused raylib to segfault on a memcpy since normals were expected to be defined. This PR fixes it.

@charles-l thanks for the review!


Digital twin create w/credentials function in Go SDK

Created by: @bayegan Apr 13 2022 at 02:23 CET
Last updated: May 05 2022 at 22:16 CET
ClickUp ID: IK-2695
Given
As a user of the Go SDK
When
I need to create a digital twin
Then
I have an API available in the Go SDK to create a digital twin.

Commented by: @bayegan Apr 27 2022 at 20:27 CET
Need to decide requirements, alternatives from @marvinkite :

Create user with random password which is emailed (by us) and user must change it at first time
Create user with given password which is emailed (by app) and user must change it at first time
Create user with importing password hash
Create user with no password and user must initiate the forgotten password
Create user and send invitation out so user register credential as wish
Don’t create user and send invitation out so user register credential as wish (or don’t accept invitation)
Create user with importing social login credential

Commented by: @bayegan Apr 27 2022 at 20:28 CET
@bradtumy @MariusSorteberg : what use case do we need to solve for? can we get requirements from RIOT and Curriki, as input for a decision on which of these to implement?

Commented by: @bayegan Apr 27 2022 at 20:36 CET
@MariusSorteberg : there are some hints to the use case in the slack thread, but having requirements defined by them would be most useful. and if possible, before friday's PM meeting   https://indykite.slack.com/archives/C02F7FV8JV8/p1650962215897489https://indykite.slack.com/archives/C02F7FV8JV8/p1650962215897489
cc @bradtumy

Commented by: @bradtumy Apr 27 2022 at 21:38 CET
@bayegan I don't have an answer yet on the best approach for Curriki but should have it soon.  We discussed password migration, briefly, on our last call with them and will dig into and hopefully finalize on next call.

Commented by: @bayegan May 05 2022 at 20:56 CET
Customers will all sign up for basic services, import should be in the identity SDK.

Based on huddle 5/4: Curriki will be using option # 3 above (create user with importing password hash)

cc @yetizer @bradtumy

Commented by: @yetizer May 05 2022 at 22:16 CET
to clarify, I assume what we mean here is that ingest engine will use Identity SDK to create DTs


Reconstruct OCI part, split it into individual crate, and add tests

Don't turn into ready-review state. Still in progress and subject to change
Closes #267
This PR reconstructs the OCI part, removed much redundant stuff, and added corresponding tests.
The updates:

Removed login and logout options from ecli. They store credentials in a local file thus they are unsafe
Added options -d, --read-docker, -i, --prompt for ecli push and ecli pull. -d is used to read credentials from docker's configuration. -i is used to prompt the user to input credentials.
Added options -u, --username and -p, --password to manually specify the credentials in the command line
-d, -i, -u & -p conflicts with each other
If neither of -d, -i, -u & -p is provided, will try to login to the registry anonymously.
A new crate ecli-oci was added, and contains functions related to OCI. It will be published to crates.io once finished.

suggestions

rename ecli-oci to bpf-oci, for general purpose and further maintaining
--prompt seems not often occurs, is there any better possible flag names?
is it better to make read credentials from docker's configuration the default action? if it's not exists, login anonymously

suggestions

rename ecli-oci to bpf-oci, for general purpose and further maintaining
--prompt seems not often occurs, is there any better possible flag names?
is it better to make read credentials from docker's configuration the default action? if it's not exists, login anonymously

1 & 3 is done now. 2 has been discussed to remain unchanged


Finalize the DroneCAN firmware update feature

A separate panel that includes the controls to turn this thing on and off, specify the file. Also it should display the statuses of nodes.


Add plugin support

Closes #63.

See also: https://github.com/queer/singyeong_plugin

Thank GOD that bug is done with ;-;

Finally :tada:


Byte packing

Context (Problem, Motivation, Solution)
Constraint number is very large with merkle tree approach. This PR changes all zk circuits design, where each card is only one byte, and thus each uint256 would be able to hold 32 cards. The committed root is now a hash of these elements together with the salt of the user.
https://github.com/norswap/0xFable/issues/50
Describe Your Changes
Remove all merkle related circuits and change them to byte packing. Also fix the bug where lastIndex is assumed as the last card of the deck.
Checklist

[x] I have performed a self-review of my code
[x] I ran make lint and fixed resulting issues
[x] I ran the relevant tests and they all pass
[x] I wrote tests for my new features, or added regression tests for the bug I fixed

Testing
Have updated the corresponding tests.

This PR is NOT ready yet, as I've not updated the tests and contracts. But thought it would be nice for everyone to see the new circuits in the meantime. The byte packing approach is indeed a good approach, as now all three circuits have constraints only around 20k (compared to 200k for the previous DrawHand circuit, which is 10 fold better!).

As discussed in chat, currently some of the field elements will be larger than circom prime field element, which makes it incorrect after being modulo-ed. I think using 0 as the null value, since it's used to pad the array and thus appears the most. What was the reason for not using 0 as null previously? I remembered you mentioned it before but I couldn't recall.

Regarding the issue of 64 cards not fitting in the Circom prime (which is between 2^253 and 2^254, meaning the 3 higher-orde bits are unusable and MUST be 0 for the packing/unpacking logic to succeed):

We should change the empty item to 0.
We should parameterize the packing/unpacking template with the number of cards we want, and then we can create a new template for unpacking decks & hands that calls this three times (e.g with parameters, 30, 30, 4).

OR we simply further restrict the size of decks to 62 items, and we pack 31 cards per felt.

Actually just realized that we can keep the null value as 255, as long as each felt only encodes 31 cards instead of 32 cards. As long as we leave the most significant bytes as 0, then it won't hit the circom prime field. I think the cleanest way is perhaps to standardize each felt to encode 31 cards, and the max deck size can be anything and we'll just use the corresponding number of felts needed. For example, if max deck size is 64, then we need 3 felts (31, 31, 2).
Have also updated the packing and unpacking of cards array to directly use your Num2Bytes template, that's pretty clean so thanks! There's some slight performance improvement but not too much (you could check out the last commit to see constraints improvement).

Actually just realized that we can keep the null value as 255, as long as each felt only encodes 31 cards instead of 32 cards. As long as we leave the most significant bytes as 0, then it won't hit the circom prime field. I think the cleanest way is perhaps to standardize each felt to encode 31 cards, and the max deck size can be anything and we'll just use the corresponding number of felts needed. For example, if max deck size is 64, then we need 3 felts (31, 31, 2).

Is this possible with a fixed-size circuit though? Feels like you need to know the number of felts in advance.

Fixed size circuit as in?

Fixed size circuit as in?

Just any circuit, since they all have to be fixed size (fixed number of constraints, which as I understand translates to loops that have a fixed number of iterations (known at compile time). So we (0xFable devs) would still have to pick a maximum deck size that would apply to everyone.e.

Fixed size circuit as in?

Just any circuit, since they all have to be fixed size (fixed number of constraints, which as I understand translates to loops that have a fixed number of iterations (known at compile time). So we (0xFable devs) would still have to pick a maximum deck size that would apply to everyone.

Yes, we would have to pick a max deck size. With that, we would then know the number of felts needed, which would be our compile time constant.
I have switched the bytes packing to be little endian, and made sure tests passed. This PR should be ready to go :) Let me know if any feedback!

Fantastic work! 🚀🚀


add exercise with hint

For beginner like me, I want those suggestions to solve these problems more easily.

Nice works, thanks.
Could put the hint as text (below subtitle) instead of including it in each subtitle ?

Yes, of course.

Just made some suggestions (but since you changed the file just after me,  my comments appear as outdated)

This is my first pull request. Whether you can just fix my code instead of a comment.

Ok, I'll merge and modify later. Thanks again for your contribution.


New version: WinDirStat.WinDirStat version 2.0.1

Pull request has been created with WinGet Releaser :rocket:
Microsoft Reviewers: Open in CodeFlow

PLEASE DO NOT YET APPROVE

Good to go from our perspective. Subsequent releases should be automated via winget-releaser. For this one I had to intervene because the old manifest had only one target architecture, wasn't MSIs and some other stuff.

There was a whoopsie on my part due to the manual intervention. Should be resolved with the latest push.


HADOOP-17513. fix Checkstyle IllegalImport does not catch guava imports

HADOOP-17513
Although YARN-10352 introduces guava iterator import in TestCapacitySchedulerMultiNodes-L#28, it was committed to trunk without checkstyle errors.
According to IllegalImportCheck#setIllegalPkgs , the packages regex should be the prefix of the package. The code automatically append "\.*" to the regex.
This PR is to fix the regex to match all ^com\.google\.common\..*
CC: @aajisaka Can you please take a look to the changes and commit it to trunk?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
22m  0s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 26s

trunk passed

+1 :green_heart:
compile
0m 23s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
0m 23s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
mvnsite
0m 23s

trunk passed

+1 :green_heart:
shadedclient
46m 54s

branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 24s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 21s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 15s

the patch passed

+1 :green_heart:
compile
0m 14s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
0m 14s

the patch passed

+1 :green_heart:
compile
0m 13s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
javac
0m 13s

the patch passed

+1 :green_heart:
mvnsite
0m 13s

the patch passed

+1 :green_heart:
whitespace
0m  0s

The patch has no whitespace issues.

+1 :green_heart:
xml
0m  2s

The patch has no ill-formed XML file.

+1 :green_heart:
shadedclient
12m 50s

patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 19s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 19s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

_ Other Tests _

+1 :green_heart:
unit
0m 19s

hadoop-build-tools in the patch passed.

+1 :green_heart:
asflicense
0m 32s

The patch does not generate ASF License warnings.

87m 51s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2678/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2678

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient xml

uname
Linux c8083103e300 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 182623d2bc7

Default Java
Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2678/1/testReport/

Max. process+thread count
539 (vs. ulimit of 5500)

modules
C: hadoop-build-tools U: hadoop-build-tools

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2678/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
2m  1s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
43m 18s

trunk passed

+1 :green_heart:
compile
0m 21s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
0m 22s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
mvnsite
0m 24s

trunk passed

+1 :green_heart:
shadedclient
57m 42s

branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 25s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 24s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 14s

the patch passed

+1 :green_heart:
compile
0m 15s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
0m 15s

the patch passed

+1 :green_heart:
compile
0m 13s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
javac
0m 13s

the patch passed

+1 :green_heart:
mvnsite
0m 13s

the patch passed

+1 :green_heart:
whitespace
0m  0s

The patch has no whitespace issues.

+1 :green_heart:
xml
0m  2s

The patch has no ill-formed XML file.

+1 :green_heart:
shadedclient
12m 39s

patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
0m 19s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 19s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

_ Other Tests _

+1 :green_heart:
unit
0m 18s

hadoop-build-tools in the patch passed.

+1 :green_heart:
asflicense
0m 32s

The patch does not generate ASF License warnings.

78m 49s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2678/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2678

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient xml

uname
Linux c71c8317179a 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 5f34271bb14

Default Java
Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2678/2/testReport/

Max. process+thread count
540 (vs. ulimit of 5500)

modules
C: hadoop-build-tools U: hadoop-build-tools

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2678/2/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


Added the option get cultures of a model.

This option should allow me to get the Cultures for the model. I don't even know if it's according to standards, since this is the first time contributed to any repository.
#44 > Comment about Cultures.

Hey @Daandamhuis awesome and thank you for the pull request! This is definite need for the package, I'm glad you are getting this in. Would you be able to add a translation to the AdventureWorks Sales.pbix file? It lives in test\adventureworks. That way we can build some pytests off of the new translation for some stability in the feature.
Standards are loose right now until I get some pre-commits implemented, so that's on me until I can get it clear and easy to understand. But for now, I'm just running black and flake8 before merging to main branch. I can run that for us and get it passing.
I'm also going to tweak some of the files a bit and add a PyObjectTranslations class to what you've done. Thanks again for submitting this, I don't work with cultures too often, which is why I have neglected it. It's an obvious need, so I feel like we should be able to get this in quickly.

I've added some translations to the model, both in Dutch and English and on the most common objects

Measures
Tables
Display Folders
Columns

@Curts0 : I've added some more "features", maybe should be part of someplace else. But I wanted to include them for documentation purposes.

Sent a pull request to your fork.

Moved get_sample_values() to column.py file so you can just call it from the PyColumn class.
Same with get_depenencies() in measure.py file so you can call if from the PyMeasure class
Add some properties for the PyObjectTranslation class before super() so you shouldn't need to have the if else statement in the regular object class and instead can write custom stuff within the PyObjectTranslation class
Created PyObjectTranslations to group them together

Getting those implemented should help for the future. One thing to keep in mind is I've got a .bat file that will run the pytest through python version 3.6 to 3.10. I don't think we have any issues yet, but just something to keep in my so it stays compatible with those version.

@Curts0: Your changes have been merged. Next time I'll create a branch in this repo, probably be a bit easier.

Okay awesome and this looks good. I'm away from my computer for today, but I'll get this merged this weekend so we can keep the pull request small. Also, I will build some tests and get all of this published for the next version.


bump linter to 1.51

Beat me to it! Can you also bump to golangci/golangci-lint-action@v3 rather than @v2?

I was just doing a quick test!


Symfony deprecation

During running unit tests I noticed two errors:

Validator class is deprecated from version 2.5
True constraint is deprecated from 2.7

I wonder if the dependency should be moved up or not. At least the dev dependencies are moved up. See the inital import of steps and the symfony_deprecation branch here.

Thats true, i leaved it to be compatible with symfony < 2.5

So how should we proceed? Looking at the code, the interfaces are the same, so probably only the actual testing code was not compatible with newer versions which means the code still can be compatible with < 2.5, but should not be tested against it. Others will also get these warnings.

There are only two ways, we can bump up the symfony requirements to 2.5 and doesn't support symfony 2.3 anymore.
Or create a new class Symfony27ValidatorStep and use the new interface.

Currently there are no hard requirement of any symfony packages, they are only development dependencies.

I know, this validator should be compatible with any symfony version. The problem is, the symfony/validator component changes a lot in version 2.5, so we generate a lot of deprecation notices.
Whats your suggestion?

As I said, I think the interface itself is not changed, only the implementation, so compatibility should not be an issue IMO. Symfony will trigger these warnings anyway. So as long as the interface is really compatible (and I think it is) we should just do nothing. :stuck_out_tongue_winking_eye:
What we can do is to test against the lowest possible version (which means there is no deprecation/change).

@sagikazarmark This is done already.

I meant the lowest version without deprecation

Okay, so only test against ~2.5?

2.5 or 2.7 where True constraint is replaced with IsTrue. See the symfony deprecation branch

@sagikazarmark When you open a branch, please also open a PR. Makes more sense to comment on PRs instead of issues when we’re working towards a solution.

Oh, didn't I open one? I wanted to...

Is it resolved then?

Yes. :)


Latest version not in pip!

FYI the latest version of this is not on pip. I saw your python3 print statements but they arent in the source for the pip version.

Hi, there's difference for me between master and the 0.4.2 archive on pip:
~/D/P/dynamodb_utils git:master 👾  ❯ diff bin/dynamodb-dumper ~/Downloads/dynamodb_utils-0.4.2/bin/dynamodb-dumper
~/D/P/dynamodb_utils git:master 👾  ❯ diff bin/dynamodb-loader ~/Downloads/dynamodb_utils-0.4.2/bin/dynamodb-loader
~/D/P/dynamodb_utils git:master 👾  ❯

I should clarify. The issue i'm seeing is not that the installed version from pip is different from master. The issue that i'm seeing is that, when I follow the instructions on your README I get the wrong version.
Your instructions.
pip install dynamodb_utils

My execution of your instructions.
➜  ~ pip install dynamodb_utils
Collecting dynamodb_utils
Requirement already satisfied (use --upgrade to upgrade): pynamodb in ./anaconda/lib/python3.5/site-packages (from dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): six in ./anaconda/lib/python3.5/site-packages (from pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): Delorean in ./anaconda/lib/python3.5/site-packages (from pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): botocore>=1.0.0 in ./anaconda/lib/python3.5/site-packages (from pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): humanize>=0.5.1 in ./anaconda/lib/python3.5/site-packages (from Delorean->pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil>=2.4.2 in ./anaconda/lib/python3.5/site-packages (from Delorean->pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): tzlocal>=1.2 in ./anaconda/lib/python3.5/site-packages (from Delorean->pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): babel>=2.1.1 in ./anaconda/lib/python3.5/site-packages (from Delorean->pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): pytz>=2015.7 in ./anaconda/lib/python3.5/site-packages (from Delorean->pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): jmespath<1.0.0,>=0.7.1 in ./anaconda/lib/python3.5/site-packages (from botocore>=1.0.0->pynamodb->dynamodb_utils)
Requirement already satisfied (use --upgrade to upgrade): docutils>=0.10 in ./anaconda/lib/python3.5/site-packages (from botocore>=1.0.0->pynamodb->dynamodb_utils)
Installing collected packages: dynamodb-utils
Successfully installed dynamodb-utils-0.22

So, as you can see, there is something wrong with the default version from pip for python 3.5.
If it helps debugging, my system is a 2014 MBP.

I've just realized the problem.. the versions I've uploaded to pip aren't increasing. I uploaded 0.22 then 0.4, ... 0.4.2. In version comparisons of course 0.22 > 0.4.2 because 22 > 4.
I'm fixing this by uploading a version 1.0.0.

Fixed. You can now install 1.0.0 from PyPI. Sorry about that, this is one of my earlier projects before I really knew my way around packaging.

Thanks Adam!

N.B. these tools are getting a bit out of date, and idk when I'll find time to work on them. If you want to help with #2 and #4 PR's are welcome!


BREAKING CHANGE: refactor enum types, remove static properties, remove Flow

This PR modifies FastImage so that it no longer has static properties attached.
e.g. It does not have the properties priority, cacheControl, resizeMode, and preload.
This PR also removes Flow support. It can be maintained somewhere else by interested parties.
The enum like properties (priority, cacheControl, and resizeMode) have been removed
in favor of using string union types, like React Native does.
preload has been added as a named export. So you can use "import { preload } from 'react-native-fast-image'.
Since this PR is already breaking I also removed the default export in favor of a named export.
You can now use "import { FastImage } from 'react-native-fast-image'".
There are lots of reasons to prefer named exports.

@DylanVann When will you be merging this?

This PR modifies FastImage so that it no longer has static properties attached.
e.g. It does not have the properties priority, cacheControl, resizeMode, and preload.
This PR also removes Flow support. It can be maintained somewhere else by interested parties.
The enum like properties (priority, cacheControl, and resizeMode) have been removed
in favor of using string union types, like React Native does.
preload has been added as a named export. So you can use "import { preload } from 'react-native-fast-image'.
Since this PR is already breaking I also removed the default export in favor of a named export.
You can now use "import { FastImage } from 'react-native-fast-image'".
There are lots of reasons to prefer named exports.

Would you mind first merging https://github.com/DylanVann/react-native-fast-image/pull/550.
It is used by many of your users. It's mature with more than a year behind it.
But your constant refactors makes it hard to re-re-base all the time.

This PR modifies FastImage so that it no longer has static properties attached.
e.g. It does not have the properties priority, cacheControl, resizeMode, and preload.
This PR also removes Flow support. It can be maintained somewhere else by interested parties.
The enum like properties (priority, cacheControl, and resizeMode) have been removed
in favor of using string union types, like React Native does.
preload has been added as a named export. So you can use "import { preload } from 'react-native-fast-image'.
Since this PR is already breaking I also removed the default export in favor of a named export.
You can now use "import { FastImage } from 'react-native-fast-image'".
There are lots of reasons to prefer named exports.

Would you mind first merging https://github.com/DylanVann/react-native-fast-image/pull/550.
It is used by many of your users. It's mature with more than a year behind it.
But your constant refactors makes it hard to re-re-base all the time.


feat: bun api support 🥟

Swaps jsonwebtoken for jose in bun runtime.
jose works in node.js runtime but to be safe, it will only be used in bun.
Installing Bun
https://blog.bitsrc.io/getting-started-with-bun-js-and-create-a-react-app-46bac6bdb947
https://bun.sh/docs/installation
# once you have bun installed
bun install
# build frontend
bun b:client
# run server
bun b:api

I may revert some of these changes when https://github.com/oven-sh/bun/pull/5940 is merged but no harm in merging for now.


Tal rasha's 2nd bonus

I don't believe the following:
T. per 100 Vitality
T. per Life Bonus
T. per 100 Armor
T. per 100 Resistances
is scaling with tal rasha's 2nd set bonus.

Uh yeah I believe it shows how much toughness you get by increasing your displayed resists by 100, should probably fix that.


chore(react-i18n): update peer dependencies for react and prop-types

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 94.872%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
131

Relevant Lines:
136

💛  - Coveralls


PARQUET-488: Add SSE cmake toggle, fix build on systems without SSE

I added an option to make SSE strictly opt-in for now. As a side effect of this, parquet-cpp now builds and the test suite passes out of the box on 32-bit ARMv7 (I tried it on my RaspberryPi Model B 2).

@asandryh @majetideepak can you take a look? Thank you

@asandryh I wasn't able to get a clear picture of what compiler arg makes the most sense. There is also https://gcc.gnu.org/wiki/FunctionMultiVersioning, but the downside of this approach is that it disables inlining. We should probably institute some microbenchmarks before going down that route

@asandryh is this OK to merge? thank you

Oops, didn't see this PR was updated. Yes, looks good.


dtype fixes for downsample and normalization

Addressing https://github.com/theislab/scanpy/issues/435#issuecomment-538776417
This PR does two things:

downsample_counts will convert the resulting downsampled matrix back to the initial dtype by default.
normalize_total will now work with integer matrices.

I think 2 should definitely be the case. 1 does have a performance cost, but it's close to @falexwolf's suggestion and removes a minor foot-gun.

I'm thinking about reverting the return dtype part, but just keeping having normalize_total to work with more dtypes. Thoughts @flying-sheep?

Arguments for and against converting values in downsample_counts:
If we don't convert dtypes back to what they originally were, there's a slight performance boost since we don't have to have two copies.
I we return an array of integers we run into trouble downstream with functions that aren't tested with integer arrays. Issues from this have been opened a few times, so when I wrote this I thought it might be worth just maintaining the input type. I'm not sure I agree with that now.

If we return an array of integers we run into trouble downstream with functions that aren't tested with integer arrays. Issues from this have been opened a few times, so when I wrote this I thought it might be worth just maintaining the input type. I'm not sure I agree with that now.

This is quite a compelling argument for me (as I was one of the people who reported an issue like this). If an integer matrix is generally returned, then one would have to ensure all other functions will work with this data type as intended (sc.pp.log1p for example). Otherwise this would be backward-breaking.

I would just like to add that the issue with normalize_total can arise not only from the downsample_counts function.
In my case, I am working on .loom files generated with velocyto - I want to be able to estimate RNA velocity in the end. That means I have 'spliced' and 'unspliced' layers in my anndata object. I wanted to use normalize_total on all the layers, which should be possible by setting parameter layers='all'. However, I was getting a TypeError, as in  #435
The workaround described at the end of that issue solved it for me. My point is just that fixing only downsample_counts is not enough and functions that work on layers should accept integer data. I think that my case is not that uncommon and will happen more often as people use scVelo with velocyto pipelines.
Alternatively, you should warn people about it in the tutorials and make them convert everything to float.

We should definitely maintain the type in layers, and that means maintaining the type in .X makes sense too.
We should also take care not to downcast more capable types: int32 can be expressed as float64, but not in float32. int64 has to stay int64.

Hah, I've gotten much better at numba since I wrote this function. I figured out I can just get the core part to work on floats and don't have to worry about casting between types. Makes this a much easier decision. Now floats aren't converted to integers in the first place.

We should also take care not to downcast more incompatible types: int32 can be expressed as float64, but not in float32. int64 has to stay int64.

I think we can be a little flexible on this, and just generally follow numpy promotion rules (except for when they're bad).

these ones. But you still convert ints to floats? And when are they bad?

But you still convert ints to floats?

downsample_counts now doesn't convert anything, or even copy if you don't want it to. It just modifies the passed matrix (or copy, if copy=True) whether it has integer or floating point values.

And when are they bad?

This one is pretty weird:
np.result_type(np.int64, np.uint64)
# dtype('float64')

But also numpy does promotion (or some other conversion, not quite sure for this one) when it probably shouldn't:
type(np.uint8(255) << 1)
# numpy.int64

This one is pretty weird:

```py
np.result_type(np.int64, np.uint64)
# dtype('float64')
```

That’s a bug, the following code changes the first integer (+=1) and completely destroys the second one:
>>> infos = [np.iinfo(dt).max for dt in [np.int64, np.uint64]]
[9223372036854775807,<PHONE_NUMBER>3709551615]
>>> np.array().astype(np.uint64)
array([9223372036854775808,                   0], dtype=uint64)


🐞 | Import error in speechbrain.pretrained

Describe the bug
Hello guys,
I wanted to import EndToEndSLU from speechbrain.pretrained, but it seems there is an error. Anyone who did resolve it earlier?
from speechbrain.pretrained import EndToEndSLU produces error
Expected behaviour
It should have imported easiily.
To Reproduce
Steps to reproduce : https://colab.research.google.com/drive/1XnCba8gDTN2n2Yknn7fjx3zsCI72NG0V?usp=sharing
Environment Details
No response
Output

Additional Context
No response

Hello,
SpeechBrain 1.0 is out and we moved our interfaces in the folder inference. Please see for instance: https://huggingface.co/speechbrain/slu-timers-and-such-direct-librispeech-asr
from speechbrain.inference.SLU import EndToEndSLU
slu = EndToEndSLU.from_hparams("speechbrain/slu-timers-and-such-direct-librispeech-asr")
slu.decode_file("speechbrain/slu-timers-and-such-direct-librispeech-asr/math.wav")

The docs were not updated, was confused there.
Thank you so much.

Please, update SpeechBrain to the latest version (SpeechBrain 1.0) that we
just released
On Wed, Feb 28, 2024 at 10:57 AM AbhinavSingh @.***>
wrote:

Describe the bug
Hello guys,
I wanted to import EndToEndSLU from speechbrain.pretrained, but it seems
there is an error. Anyone who did resolve it earlier?
from speechbrain.pretrained import EndToEndSLU produces error
Expected behaviour
It should have imported easiily.
To Reproduce
Steps to reproduce :
https://colab.research.google.com/drive/1XnCba8gDTN2n2Yknn7fjx3zsCI72NG0V?usp=sharing
Environment Details
No response
Relevant Log Output

Additional Context
No response
—
Reply to this email directly, view it on GitHub
https://github.com/speechbrain/speechbrain/issues/2436, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEA2ZVVPRVPQQWDTBF4QM2TYV5HVNAVCNFSM6AAAAABD6JHCGOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2TSMRYHE4TEMA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


dist directory? (add build instructions to README.md)

What is in it?
How come it is in the Dockerfile and then also excluded from the repo via .gitignore?
Is it just the xen-tools.iso files?
cheers

Look at the Makefile. Building this image is two-step. dist/ is generated by running assets/build.sh inside a container, which then gets included in the final docker image.
https://github.com/xenserver/xe-guest-utilities are what gets installed.

Right, totally missed the Makefile - cool ;)


Support ARM IntelliSenseModes for vscode-cpptools extension

The extension vscode-cpptools is adding ARM IntelliSenseModes https://github.com/microsoft/vscode-cpptools/issues/4271.
Support the new IntelliSenseModes when they are available.

CMake Tools 1.4.0 Beta is available on GitHub.
https://github.com/microsoft/vscode-cmake-tools/releases/tag/1.4.0-beta
Please try it out and let us know if you encounter any issues.

This fix is available in CMake Tools #1.4.0 which has been released.


Fix some of the e2e loops

Some of the e2e loops are a bit flakey, make them more robust

Retry on certain errors
Use Eventually() consistently (avoid wait.Poll())
Clarify logging
Reduce some logging
Change csvExists() to waitForCsvToDelete(), as that's how it's used
Change awaitCSV() to fetchCSV()

Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Bug fixes are accompanied by regression test(s)
[ ] e2e tests and flake fixes are accompanied evidence of flake testing, e.g. executing the test 100(0) times
[ ] tech debt/todo is accompanied by issue link(s) in comments in the surrounding code
[ ] Tests are comprehensible, e.g. Ginkgo DSL is being used appropriately
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive
[ ] Tests marked as [FLAKE] are truly flaky and have an issue
[ ] Code is properly formatted

/test all

Definitely seeing #3062 a lot, so I marked it a flake.

@stevekuznetsov I just updated because I did have one place where I checked for both!

@stevekuznetsov, needs LGTM?

/lgtm


support multiple hbase clusters and gofmt

I wonder if this pr would merge to the master. My company use Apache Ambari to manage hadoop. And as default, the location of ambari's hbase is "/hbase_unsecure" in zookeeper. But the origin gohbase use "/hbase" as default, and user can not change it without modify the source code.
So I think this pr is a good solution to applications under the Apache Ambari's HBase.

I'm not a maintainer of this repo (just a user), but GerritHub is used for contributions, not PRs. You'll also need to sign the CLA.

implemented in #32, closing this one


FIX PR #98 -- advanced node taint querying

PR #98 required:

Rebasing #98 branch on main and resolving numerous conflicts, especially in the capacity tests (please review)
Cleaning lint (no return value on splitTaint() and goformatting)
Testing new feature and adding instructions in README

resolves #91
closes #98

Hey @isaacnboyd, let me know if you think you'll have some time to work on this in the next week or so. Largely thanks to all your great improvements, I think it's probably close to time to cut another release (probably v0.8.0), but don't want this to miss the cut if you've got plans to work on it sometime soon.

Hey @isaacnboyd, let me know if you think you'll have some time to work on this in the next week or so. Largely thanks to all your great improvements, I think it's probably close to time to cut another release (probably v0.8.0), but don't want this to miss the cut if you've got plans to work on it sometime soon.

Hey howdy Rob, yes I'd like to get this one into the release. I should be able to find some time to work on it here in the next few days.

Thanks @isaacnboyd! Just let me know whenever it's ready for another round of review (or if it already is).

Thanks @isaacnboyd! Just let me know whenever it's ready for another round of review (or if it already is).

Hey @robscott this is ready for another review.

Thanks @isaacnboyd!


Management Server UI (VM statistics page) CPU Utilized value is incorrect.

VMware CPU Utilised  value is in Mhz , in MS value is displayed directly.
If CPU utilised is 500Mhz,  UI value is displayed as 500 %
Planned to restrict changes in resource layer VmwareResource.java, but cpu allocated to VM by VMware is not same as  allocated in the service offering.
If CPU limit flag is set to false in  service offerings  the Allocated CPU can go beyond what is assigned.
So picking actual user assigned Total CPU from database for calculating percentage.
It is expected that percentage would go beyond 100 percent.
so changes are made in UserVmJoinDaoImpl.java

@jayakarteek this problem is happening only for VMware, right?
@nvazquez could you confirm this problem here? I believe you have access to an ACS system that orchestrates VMware deployment.

Hi @jayakarteek @rafaelweingartner,
I confirm issue, I tested using an instance with 1 CPU 500Mhz. I'll add screenshots for cases when CPU utilization is low and high:
First, with little utilization, vSphere shows 51Mhz CPU Utilization, while on Management Server statistics shows 51% CPU utilization

Then, ran a loop to increase CPU utilization increasing it to ~1609Mhz and Management Server statistics shows 1609% CPU Utilization,

Hope this helps!

HI  raferweingartner, nvazquezhttps://github.com/nvazquez,
Yes as specified in mail,
The issue is specific to VMware.
--JayaKarteek
From: Nicolas Vazquez<EMAIL_ADDRESS>Sent: Tuesday, February 14, 2017 5:36 AM
To: apache/cloudstack<EMAIL_ADDRESS>Cc: Jayakarteek Vasana<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [apache/cloudstack] Management Server UI (VM statistics page) CPU Utilized value is incorrect. (#1918)
Hi @jayakarteekhttps://github.com/jayakarteek @rafaelweingartnerhttps://github.com/rafaelweingartner,
I confirm issue, I tested using an instance with 1 CPU 500Mhz. I'll add screenshots for cases when CPU utilization is low and high:
First, with little utilization, vSphere shows 51Mhz CPU Utilization, while on Management Server statistics shows 51% CPU utilization
[cpu51]https://cloud.githubusercontent.com/assets/5295080/22908776/1e437a10-f22f-11e6-87a5-6933c990f911.JPG
[cpu512]https://cloud.githubusercontent.com/assets/5295080/22908783/26db1ba6-f22f-11e6-9a83-8743d7abb0e8.JPG
Then, ran a loop to increase CPU utilization increasing it to ~1609Mhz and Management Server statistics shows 1609% CPU Utilization,
[cpu1600]https://cloud.githubusercontent.com/assets/5295080/22908949/fed18ad6-f22f-11e6-9635-23cd5da38cba.JPG
[cpu16002]https://cloud.githubusercontent.com/assets/5295080/22908951/01fb02fa-f230-11e6-8f72-739709c87984.JPG
Hope this helps!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/apache/cloudstack/pull/1918#issuecomment-279564806, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWddQthernP9VQSqZ9_-mWxvHl93t9MIks5rcPADgaJpZM4LxMFs.
DISCLAIMER
This e-mail may contain privileged and confidential information which is the property of Accelerite, a Persistent Systems business. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Accelerite, a Persistent Systems business does not accept any liability for virus infected mails.

@nvazquez, this helped.
I checked the “VmwareResource.java” at line 5113 is obtained the CPU usage of VM. From @jayakarteek explanations I understood that the usage does not come as %; VMware systems show the value as a continuous value of CPU used in MHz.  Does not the object “objProps” (created at line 5092) contain the configured CPU for the VM? So, the proper conversion could be applied on “VmwareResource.java” at line 5186, making the POJO (VmStatsEntry) consistent; otherwise, there is a variable called “cpuUtilization” that gives the idea of percentage/ratio of usage, but in reality, it is carrying the real used valued of CPU in MHz.
I also understood the issue regarding the CPU cap, but do not you think that if users select a service offering of 500MHz and their VMs are consuming 1GHz, it would be interesting to show that the VM is using more than they would expect? The cloud provider is being very generous in this case :)

@rafaelweingartner sorry for the last example, actually I think we've found a bug on change service offering, as I've been using that instance for changing its service offering when it had vm snapshots for PR #1727. Looking at /proc/cpuinfo I could see that CPU speed was 2.6Ghz, as vCenter shows, and not 500Mhz as listed on Management Server, so CPU speed was not properly set after changing service offering. I'll work on this.

@rafaelweingartner please ommit my last comment, service offering didn't use reserve CPU, so it didn't limit CPU speed to 500Mhz, it used all the available frecuency of the CPU instead.

@blueorangutan package

@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-487

@blueorangutan test

@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@nvazquez no problem. I think it is ok to use everything that is available because the service offering is not restricting the CPU usage.
@nvazquez would it be possible for you to check if the object “objProps” (created at line 5092) contains the configured CPU for the VM in “VmwareResource.java”? I think we should try to put the logic to fix that value there, instead of creating a POJO with inconsistent data.

 However, I think it can be easily retrieved by adding "summary.config.cpuReservation" on array at line 5089 (from Vmware docs: https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.Summary.ConfigSummary.html) for method getVmPropertiesOnHyperHost

That is a good idea @nvazquez, thanks for the help here ;)
What do you think guys (@nvazquez, @borisstoyanov, @jayakarteek)? if we use the "summary.config.cpuReservatio" as @nvazquez suggested we could remove the changes proposed on (UserVmJoinDaoImpl.java) and avoid having a POJO with inconsistent data. Moreover, we concentrate VMware related logic and operation in VMware classes.

Hi @nvazquez , @borisstoyanov , @rafaelweingartner ,
Pardon me for very late reply.
I tried with new property "summary.config.cpuReservation" , but it deals with the CPU reservation for the VM that is configured by VMWare.
It is different from the CPU speed, we define in CPU service offerings, as explained by below link
http://www.vfrank.org/2013/09/19/understanding-vmware-reservations-limits-and-shares/

@nvazquez , @borisstoyanov , @rafaelweingartner
Attached screen shots. where I set CPU Reservation as 500 Mhz using VSphere-Client , and same is obtained by the  API call.

@jayakarteek I did not understand your doubt.
I see by your SS that the reservation field contains the speed configured in your service offering. From what I understood so far, this is what you want right? Looking at your debug SS, I also see that you can get this property on the ACS side. It is just because of this property (the configured CPU speed for the service offering) that you moved the calculation/definition of cpuUtilization to another layer in ACS components for VMware VMs.  So, I am not seeing a problem to execute the calculations there (VmwareResource.java),  when you create the POJO with the VM usage information.
Could you elaborate it a bit more?

@rafaelweingartner
The CPU.Reservation value by default is 0, Also the value is set in VMware not from the ACS UI.
this gives ambiguity about the CPU allocated and Utilised.
Use case 1 :
CPU.Reservation is 0 by default, In this case we cannot calculate % as the value is always zero.
Use case 2:
CPU.Reservation is set by VMware admin say 500Mhz.
But while creating vm-instance  using ACS UI , admin selected service offering as Medium Instance which is 1Ghz CPU. so CPU utilisation will be wrong.
In case say cloud environment has 30 instances , then Vmware admin has to manually set the CPU.Reservation value for each of the VM Instance which  is cumbersome.

@jayakarteek thanks for the explanation
I thought that ACS would configure those parameters automatically. The way you described it feels like ACS is not limiting the use of CPU for VMs created in VMware systems.
I was checking the code, and there is this piece here: com.cloud.hypervisor.vmware.util.VmwareHelper.setBasicVmConfig(VirtualMachineConfigSpec, int, int, int, int, int, String, boolean). At line 634 ACS is setting the CPU limit if CPU cap is enabled. Isn't that information available to be retrieved later (when we get the stats of a VM)? I know, this will only work with CPU cap. However, we could retrieve that CPU limit configuration, if it is '-1', we could then retrieve the CPU speed of the host (and use it to calculate the percentage of usage), is it possible? Or do you think it brings much trouble for the code?
@nvazquez could you also provide some feedback here?

@jayakarteek @rafaelweingartner what about retrieving CPU performance metric for usage using PerfomanceManager? It is already used in VmwareResource.getVmStats lines 5134-5185 to retrieve vm network metrics. I think that similar as it is done for these metrics, we must query for available metrics and look for usage CPU counter which already comes as percentage for a given interval which would have to be low. This way we don't have to calculate depending on limit flag. What do you think about this approach?

This seems to be a great idea @nvazquez.
What do you think @jayakarteek ?

@rafaelweingartner
we can retrieve the CPU speed of the host but the utilisation will have mismatch.
create VM with  Medium Instance having 1000 Mhz , and VM is utilising 200Mhz of CPU then utilisation is 20%.
But if we consider host CPU capacity with  2400Mhz  then utilisation in 8.3%.
@nvazquez
I checked CPUCounter API doc, even in this case values will have some missmatch.
as per the below document with the usage formula they are using.
https://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/cpu_counters.html

@jayakarteek from what I understood so far, there will always be a mismatch.
For instance, the way it is implemented so far, if a VM uses a service offering that provides 1000 MHz; and if CPU cap is not used, it (the VM) can use up to the real CPU of the host. If real CPU on the host is 2000 MHz, then it would show 200% of usage. Unless we want this behavior, the use of CPUCounter seems a better approach to avoid having an inconsistent POJO in the code. You said it might not be ideal because the CPUCounter (per its documentation) does not seem to consider the amount of virtual CPU allocated in MHz while calculating usage, right?
I just started this discussion because of the POJO that has an attribute that sometimes is set using percentage values and some other as continuous values. My goal was to highlight this and maybe discuss some solution.
I was reading the documentation link you sent, what are the differences between “cpuentitlement” and “reservedCapacity”; I mean, I can read the description of the parameters

cpuentitlement is computed based on an ideal scenario in which all virtual machines are completely busy and the load is perfectly balanced across all hosts

but the description for me seems different from what I can understand from "entitlement" when I read "CPU entitlement" I think of CPU power that the CPU is entitled and may not be using or getting for one or other reason. However, the description may sound like something else (this value being based on the load of hosts/clusters).
Would not one of these two configurations have the CPU in MHz allocated for the VM?

@rafaelweingartner
Tried using both cpuentitlement cpu reservedCapacity but retrieved values from vmware are zero.
While going through docs , I saw summary.runtime.maxCpuUsage property which is max cpu that is allocated per vm, this looks accurate.
If I enable CPU cap in ACS UI , the cpu allocated returned by this property matches with the service offering.
If CPU cap is not enabled then cpu allocated value is determined by VMware.
So I am going with the above property using which I will calculate the CPU % and populate the POJO.

Awesome! This seems a good approach to deal with the issue.
@jayakarteek and @nvazquez thanks for the effort.
@jayakarteek sorry for all of the stubbornness ;)
You really listened and discussed, and I think we reached a better solution here.

@rafaelweingartner , @nvazquez
Review the code changes.

LGTM for testing. Tested on Vmware 6.0, I attach some screenshots for test scenarios, in which vm was deployed using service offering, infinite loop was executed to increase CPU utilization and then stopped

Test case 1: Service offering not limiting CPU speed

Test case 2: Service offering limiting CPU speed

@rafaelweingartner thanks for your effort in this PR
@jayakarteek can you please rebase master branch and squash your commits?

@nvazquez  @rafaelweingartner
Done.

tag:mergeready

In order to avoid exceptions can be use a default value (if applicable) when using NumberUtils.(string, default_value) (default_value can be 0 or 0.0)?

@kiwiflyer Thanks for the tag :)


Don't fetch poms outside of configured dir

When Dependabot needs some files to perform an update, but those files should not be updated, we normally use the #support_file dependency attribute. However, in this case, I think users normally configure directories for completely disjoint maven apps, so we can avoid fetching files outside of directory altogether.

Documenting this tries to fix the bug mentioned in https://github.com/dependabot/dependabot-core/pull/6491#issuecomment-1409276060.

Mmmm I think what fixes that bug is... this PR 😃.
We can add some docs for this, but I did also try the effect of configuring Dependabot to update directory /foo where some parent poms in /foo live in the root directory, and I got the expected behavior (no updates to root poms). So maybe it's ok without any extra docs.

Sorry, there's a misunderstanding here.
I didn't mean add docs, I meant my comment was simply noting/documenting this PR fixes that bug mentioned in the comments of that PR, since before the cross-link wasn't as obvious as a clear comment.
As per normal we are completely on the same page. 👍 😆

🤦 Sorry, totally misread your message 😆

Hi @deivid-rodriguez , @jeffwidman , just accidentally stumbled upon this PR, and i would propose to correct that fix a little. Even though i do agree this fixes the problem raised - it is not fully aligned now with the expected behavior on the Maven projects' side and the previous improvements made 😃 And once again - sorry for my long reads below 😃
Short version:
I would propose to revert this fix and instead add one more line in Dependabot::Maven::FileFetcher#parent_path_for_pom to check whether the XML path project->parent is present at all, and if not - stop the flow right away. And also stop the processing if project->parent-relativePath tag is present but empty.
What it currently does - it goes right away for the relativePath (with a valid fallback to ..), which is indeed incorrect when no parent has been specified. That should, basically, fix the issue raised in https://github.com/dependabot/dependabot-core/pull/6491#issuecomment-1409276060, while still preserving the previous functionality.
Long version:
Here is the spec that properly describes how maven works with the relativePath, understanding whether there is a parent there or not - https://maven.apache.org/ref/3.2.3/apidocs/org/apache/maven/model/Parent.html#getRelativePath(). Just citing it here to go through that:

Get the relative path of the parent pom.xml file within the check out. If not specified, it defaults to ../pom.xml. Maven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. relativePath allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories.

So it is pretty natural for Maven pom.xml file to have his parent specified like that, without the relevantPath
<parent>
    <groupId>org.example</groupId>
    <artifactId>maven-test-parent-present</artifactId>
    <version>1.0</version>
</parent>

Now what maven reads from there - probably there is a parent pom.xml file present in the path ../pom.xml, which it will try to look up. Now there are two cases possible:

Maven has found this file and it's groupId, artifactId and version fields correspond to the ones defined above - it is deemed as a valid pom.xml parent file, and all the data from it is used going forward in any maven tasks. In this case it would generally be expected that Dependabot checks for any dependencies within this file and creates the PR to update any of its dependencies.
Maven has found this file and it's groupId, artifactId and version don't match to the specified ones OR the file was not found at all - then this parent file is skipped and not used, and maven will try to lookup the parent in the maven central repository (or any other maven repos specified) instead. In this case it would be expected that Dependabot just checks if there is any newer version of this file in maven central (or other specified repositories) and creates the PR to bump this version if needed.

Now getting back to the example in this repo - the behavior demonstrated by Dependabot on https://github.com/jtgrohn/maven-dependabot-test repo before this PR was incorrect, but not because it tried to lookup and update the parent pom per se - that is generally fine, the Dependabot logic handling the case when the relevantPath is not specified in the "root" pom.xml was a correct one (within Dependabot::Maven::FileFetcher#parent_path_for_pom):

Check if relative path node is present, if not - default to ..:

relative_parent_path = doc.at_xpath("/project/parent/relativePath")&.content&.strip || "..

and then adds to it pom.xml, as the resulting path is a dir, not a file:

        name_parts = [
          File.dirname(pom.name),
          relative_parent_path,
          relative_parent_path.end_with?(".xml") ? nil : "pom.xml"
        ].compact.reject(&:empty?)

all that results in saying - let's check if there is a parent on the ../pom.xml path.

This logic above fine, and everything that followed it before in Dependabot::Maven::FileFetcher#recursively_fetch_relative_path_parents also seems to be good:

either we stop when we are trying to escape the repo boundaries (path.start_with?("..") part)
or we stop when the parent file is not found and the exception Dependabot::Maven::FileFetcher::Dependabot::DependencyFileNotFound is thrown, which also makes sense

What is really missing - before all that it is mandatory to check if the parent node is present in the file at all (and that the relativePath was not intentionally set to be empty), as otherwise it is trying to find the file which noone has instructed to look for 😃 And this, indeed, would cause the issue https://github.com/dependabot/dependabot-core/pull/6491#issuecomment-1409276060
Extra note:
In addition to all the above, when fetching the parent - it would be really nice to add a check that the fetched parent file's groupId, artifactId and version equal to those of it 'child' pom, from which the parent is searched - otherwise such a parent pom should be deemed invalid as well. But i believe it could be looked at with a lower priority, as such cases I bet would be pretty rare 😃

Wow @soulus13, thanks so much for explaining all that, really nice to have someone more familiar with Maven helping us out! I shoul've actually pinged you before merging this pR.
Would you be up for creating a PR with the revert + suggested fixup?

Wow @soulus13, thanks so much for explaining all that, really nice to have someone more familiar with Maven helping us out! I shoul've actually pinged you before merging this pR.
Would you be up for creating a PR with the revert + suggested fixup?

@deivid-rodriguez , for sure! Will fire it within the weekends :)


missing sequence ontology term

Is it expected that "tandem_duplication" is not available from new Variant Type field.
http://www.sequenceontology.org/miso/release_2.5/term/SO:1000173

Maybe the sequence_variant but not sequence_feature ontology has been loaded?

@obigriffith that's correct. In the original issue @malachig commented here that you guys wanted everything under sequence_variant imported. I can definitely import a bigger section or another branch if you guys want!

Would "copy_number_increase" be an appropriate option in this case? Obviously not totally ideal as some information is lost. We did decide to not bring in the entirety of the ontology at least in part because it seemed as if we could cover everything using only the sequence_variant section. There are apparent redundancies between these sections, for instance under sequence_feature there is "copy_number_gain" very similar to "copy_number_increase" described above that may only serve to further complicate assigning a variant type. Thus far, I believe all of the Ensembl/VEP SO mapping choices are encompassed by sequence_variant, although I haven't systematically confirmed this.

Hmm. I see the desire to keep it simple as possible. But "tandem_duplication" seems a much better fit for FLT3 ITD than "copy_number_increase". The latter definitely doesn't seem specific enough for such a variant. I think I prefer to have the additional options so that users can choose the term that fits best. We can try to harmonize redundant/equivalent choices through policy/documentation. Or, worst case, a downstream user must query for both "copy_number_increase" and "copy_number_gain". Still a big improvement over current situation where a CNV gain could be described in a hundred different ways without a structured ontology. That's my first instinct anyways. Maybe let's keep going with the SO curation and see how many other times the term we wish we had was only in sequence_feature.

I didn't realize you meant FLT3 ITD for some reason I was thinking tandem gene dulications. In that case I would say "inframe_insertion" would be most appropriate under sequence_variant.
I agree we should be open to other branches, perhaps we should document them here.

My other suggestions are "elongated_in_frame_polypeptide_C_terminal" and/or "polypeptide_gain_of_function_variant".

Another instance from Sequence_feature we might be missing in sequence_variant is "complex_substitution".

Another from Sequence_feature that would be nice is "SNP" I intended to add it to a variant (ABCB1 S893A/T) before I realized it was under the wrong tree. Not sure how else to tag common polymorphisms.

We decided to expand to all branches of the SO and see how that goes.

We are now importing all branches of the sequence ontology.


Correct economic system by scaling population etc

Changes
The following PR introduces the following changes:

Minor changes to production/ideals for some commodities.
Move to 64-bit over 32-bit values for economic calculations
Let population scale with potential economic growth
Basic market tab to view prices for a given system

Applicable Issues
N/A

Codecov Report

Merging #119 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #119   +/-   ##
=======================================
  Coverage   89.01%   89.01%
=======================================
  Files           4        4
  Lines         173      173
=======================================
  Hits          154      154
  Misses         19       19

Impacted Files
Coverage Δ

src/resources.rs
91.66% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add methods for modifying logging level of Root

Adds set_level methods to Root and Config objects. This provides
the ability to modify the logging level of Root even after Root and
Config have been built.
We are using this modification to change the logging level of a Config that is loaded from a .yaml file based on a verbosity flag that is passed in on the command line.
Signed-off-by: Logan Seeley<EMAIL_ADDRESS>

When can we expect this PR to be merged? Thank you!

@sfackler any idea when this can get merged?

@sfackler is there anything holding up this PR?

Hello, I would like this feature as well. If this is not going to be merged in, is there an alternative approach for changing the logging level of an existing config?

This seems like an easy win. @sfackler , @ltseeley , @creativcoder  are we ready to pull the trigger on this?

@estk ready when you are!

@ltseeley only thing blocking this is a rebase and a CI re-run.
Additionally, would you mind adding an example in the /examples dir?
A mention of this in the docs would be good too.
Thanks!

@ltseeley bump, lets get this merged! Did you see my last comment? Just need a rebase so that CI will rerun as there have been changes since last run.

@estk yes, I'll rebase today and try to find some time to update the examples and docs!

@Itseeley if you're looking to add examples, I have a PR open that should make it a lot easier to add new ones.

@ltseeley Looks good, I can merge as is if you cant find the time for examples and docs.
Just let me know.

@estk yeah, not sure I'll be able to get around to that. I'm okay with merging as-is.

@ltseeley roger, we all get busy, thanks for this.

@estk thanks for the merge! Any idea when a new release will be published to crates.io?

@ltseeley standby on that one, I think this change is worth a release and I'll try to make one here within the week.

Confused did this get released?

@teknopaul it has not been released yet


TransformImage2 (Proposal)

Here is a proposal for a new version of the "TransformImage" tool. I removed the mirror setting and added a TextureAddressMode" input parameter connected to "wrap" input of the _ImageFxShaderSetupStatic.
I duplicated the HLSL file and accordingly modified it.
I created an example symbol in order to describe the difference between both operators.
Descriptions have been updated as well.

Nice. Would it be possible to merge it with the existing [TransformImage] ? It would be awesome if we could keep the number of lib ops as small as possible (or necessary).

Sure I will do it ASAP

In fact I don't like that TextureAddressMode can't be animated like a normal enum. I'll update TransformImage's HLSL code in order to reproduce the different wrapping modes

Ready to merge

Thanks a lot ♥


Adds change directory to SignalRChat

Not adding "cd SignalRChat" causes the next command to copy files in wrong folder. The next command is this one: libman install @microsoft/signalr -p unpkg -d wwwroot/lib/signalr --files dist/browser/signalr.js --files dist/browser/signalr.min.js

Good :eye: @mialkin ... I thought that was the end-of-sentence period! :smile: lol

Well, simply running code . seems to be working fine as well. To be honest, I do not understand the meaning of -r flag in the code -r . command.
I can just close this pull request without bothering and modifying this trifle thing. Do you want me to close this PR?

Forces opening a file or folder in the last active window.

https://code.visualstudio.com/docs/editor/command-line#_core-cli-options

Do you want me to close this PR?

@BrennanConroy will let u know.

Thanks @mialkin! :rocket:

Thank you!


Ignores path parameters

Using this module for downloading private archive links on Github showed that this package drops the query portion of a url which might contain tokens or credentials for downloading the file.
https://github.com/wuchengwei/node-wget/blob/master/lib/wget.js#L27

Oops. Meant to submit to wget module, which this module relies on.


Add support for braille format files

This adds support for the Braille ASCII file format.
This is increasingly requested by clients in the public sector.
Possible caveat: It seems, there is disagreement on what mime type brf files should be: datatypes.net says it should be application/octet-stream (ref), but apache says it should be text/plain (ref). In custom configurations we typically add both.
In this case I believe the apache decision pre-dates datetypes.net (I only see May 2022 in the wayback machine) and makes more sense given the type of content within the file.

Regarding the chosen mimetype
I've downloaded a .brf file from https://covid19.govt.nz/languages-and-resources/alternate-formats/braille/ and run it through some checkers to see what mime type they think it should be, and everything comes back text/plain, so I agree that seems to be the appropriate mime type. No idea where datatypes.net are getting theirs from.
Is this what you wanted?
For context, when you say "adds support", this is adding support for the HTTPRequest::send_file() method (which is about the only thing which uses HTTP::get_mime_type() which is what consumes this config) and not much else.
Is this the place (and the only place) you are intending to add support?

Is this the place (and the only place) you are intending to add support?

Ahha...thanks for pointing that out, I will create another couple for File and MimeValidator, which should complete the trifecta 👍

Awesome. Can you please also create a new issue (probably against silverstripe/silverstripe-assets as the main "file" repo) to track all the related PRs? I'd like to review them all together.

Added silverstripe/silverstripe-assets#573