Kubescape errors when scanning with --use-artifacts-from

Description

Kubescape aborts with an error when scanning with the --use-artifacts-from flag.
Environment
OS: Ubuntu 22.04
Version: Your current version is: v2.0.183 [git enabled in build: true]
Steps To Reproduce
Steps to reproduce the behavior:

Install Kubescape
Download artifacts by running kubescape download artifacts
Launch a scan of a file / cluster / anything by running kubescape scan --use-artifacts-from="~/.kubescape"
Observe

Expected behavior
Kubescape scans the input with the provided artifacts.
Actual Behavior
Kubescape exits with the following error:
$ ./kubescape-ubuntu-latest scan --use-artifacts-from="$HOME/.kubescape"
[info] Kubescape scanner starting
[warning] Kubernetes cluster nodes scanning is disabled. This is required to collect valuable data for certain controls. You can enable it using the --enable-host-scan flag
[info] Downloading/Loading policy definitions
[fatal] missing required input framework name

@vladklokun @dwertent  I strongly suspect that this behavior was introduced by my PR #1013,
as the behavior is stricter.
I can try to fix this.
I believe that in the absence of a legit framework, some default value should be adopted. What do you think?

ok I've nailed it. I'll push a PR shortly. Just need to write up some additional unit test. cc: @vladklokun @dwertent

@fredbi thank you! You can assign me as a reviewer and I will follow the PR.

@vladklokun  yes sure. Apologies for having introducing this regression. Not an easy decision to introduce more strictness ...

@vladklokun I cannot assign reviewers, just cc-ed you in #1046

@fredbi It’s all good! Regressions are just a fact of life :man_shrugging:
And considering your great contribution when you refactored that code and provided commendable test coverage, I should rather thank you for making this difficult decision :)


Include generated CPEs for all non-os packages in the content GET operations

Since java packages (jars, ears, wars) may have several version fields used by different jar builders, Anchore uses heuristics to pick one based on the available set.
However, this specific choice is not indicated in the content listing output but is instead presented as a set of 3 different version fields which may have "N/A" values if not present.
For clarity, the API should return a "cpes" array of strings in the API response for GET /images/{digest}/content/java that includes all generated cpes used for vuln matching for the package.

This involves getting the generated CPEs from the policy engine component, since those are not available directly in the content-lookup path in the catalog. An alternate approach is to provide better package indentification data in the vulnerability matches themselves to support lookup of the package in the content side. Will investigate that approach to determine feasibility with lower performance impact.

Didn't make it for 0.8.0 release, will move to next release and investigate other options as indicated above.

Closed by 8d34e6933013fa7ee42c98954208174202f2ff53 which applies to newly analyzed images.


implement aiter

the caller is expected to make sure that the passed in object does in
fact supports the protocol
relates #3609

Will you add a simple test if it actually calls __aiter__ from the object?
When possible, we prefer to add tests from CPython's test, but if not possible.
Otherwise, adding a file to extra_tests/snipepts will be enough.
Then our CI will ensure their behavior is same in both CPython and RustPython.

Will you add a simple test if it actually calls __aiter__ from the object?
When possible, we prefer to add tests from CPython's test, but if not possible.
Otherwise, adding a file to extra_tests/snipepts will be enough.
Then our CI will ensure their behavior is same in both CPython and RustPython.

I think we can just update our copy of test_asyncgen.py to the version from CPython 3.10.

I think you already added tests from the CPython, but here is a guideline if you want to know the regular way: https://github.com/RustPython/RustPython/wiki/How-to-update-test-files

Because #3647 updated the test file, rebase will be enough

@sum12 If you want, converting it to use slots would be also an approachable task


cannot connect running VM

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
/kind enhancement

What happened:
as https://github.com/kubevirt/kubevirt/issues/4613 says, since the VMI in my cluster cannot even change Running when I run containerDisk, I pulled kubevirt/cirros-registry-disk-demo image and copy file /disk/cirros.img in it to my storage with new name disk.img (also it is  owned by the user-id 107  as suggesion here); then create a PVC and disk.img is placed in the root path of the filesystem.
see my vm definition as below
# kubectl get vm testvm -oyaml
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
  ...
  name: testvm
  namespace: default
spec:
  running: true
  template:
    metadata:
      creationTimestamp: null
      labels:
        kubevirt.io/domain: testvm
        kubevirt.io/size: small
    spec:
      domain:
        devices:
          disks:
          - disk:
              bus: virtio
            name: mypvcdisk
          interfaces:
          - masquerade: {}
            name: default
        machine:
          type: q35
        resources:
          requests:
            cpu: "2"
            memory: 2048M
      networks:
      - name: default
        pod: {}
      volumes:
      - ephemeral:
          persistentVolumeClaim:
            claimName: kubevirt-pvc
        name: mypvcdisk
...

the it seems the VM is running after a while,
# kubectl get vmi testvm
NAME     AGE   PHASE     IP            NODENAME
testvm   81m   Running   <IP_ADDRESS>   <IP_ADDRESS>

however the VM cannot be accessed
# ./virtctl-v0.34.2-linux-amd64 vnc testvm
{"component":"","level":"info","msg":"connection timeout: 1m0s","pos":"vnc.go:144","timestamp":"2020-12-02T15:54:06.986566Z"}
{"component":"","level":"error","msg":"vncviewer execution failed: exit status 1, output: \nTigerVNC Viewer 64-bit v1.8.0\nBuilt on: 2018-06-25 00:00\nCopyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)\nSee http://www.tigervnc.org for information on TigerVNC.\nCan't open display: \n","pos":"vnc.go:278","timestamp":"2020-12-02T15:54:06.994282Z"}

when I tried run virtctl console, it hangs and there is no any responding when I typing
#  ./virtctl-v0.34.2-linux-amd64 console testvm
Successfully connected to testvm console. The escape sequence is ^]

Also it seems the Pod IP cannot ping
# kubectl get vmi
NAME     AGE   PHASE     IP            NODENAME
testvm   86m   Running   <IP_ADDRESS>   <IP_ADDRESS>
# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=5 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=6 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=7 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=8 Destination Host Unreachable
^C

when I enter the vm pod and check domain xml, it looks as below:
[root@testvm /]# virsh list
 Id   Name             State
--------------------------------
 1    default_testvm   running

[root@testvm /]# virsh dumpxml 1
<domain type='qemu' id='1'>
  <name>default_testvm</name>
  <uuid>5a9fc181-957e-5c32-9e5a-2de5e9673531</uuid>
  <metadata>
    <kubevirt xmlns="http://kubevirt.io">
      <uid>3efffb6f-5f9b-47f4-ac10-d5cc07328787</uid>
      <graceperiod>
        <deletionGracePeriodSeconds>30</deletionGracePeriodSeconds>
      </graceperiod>
    </kubevirt>
  </metadata>
  <memory unit='KiB'>2000896</memory>
  <currentMemory unit='KiB'>2000896</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <iothreads>1</iothreads>
  <resource>
    <partition>/machine</partition>
  </resource>
  <sysinfo type='smbios'>
    <system>
      <entry name='manufacturer'>KubeVirt</entry>
      <entry name='product'>None</entry>
      <entry name='uuid'>5a9fc181-957e-5c32-9e5a-2de5e9673531</entry>
      <entry name='family'>KubeVirt</entry>
    </system>
  </sysinfo>
  <os>
    <type arch='x86_64' machine='pc-q35-rhel8.2.0'>hvm</type>
    <boot dev='hd'/>
    <smbios mode='sysinfo'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>EPYC</model>
    <vendor>AMD</vendor>
    <topology sockets='2' dies='1' cores='1' threads='1'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='erms'/>
    <feature policy='require' name='mpx'/>
    <feature policy='require' name='pcommit'/>
    <feature policy='require' name='clwb'/>
    <feature policy='require' name='pku'/>
    <feature policy='require' name='la57'/>
    <feature policy='require' name='3dnowext'/>
    <feature policy='require' name='3dnow'/>
    <feature policy='disable' name='vme'/>
    <feature policy='disable' name='fma'/>
    <feature policy='disable' name='avx'/>
    <feature policy='disable' name='f16c'/>
    <feature policy='disable' name='avx2'/>
    <feature policy='disable' name='rdseed'/>
    <feature policy='disable' name='sha-ni'/>
    <feature policy='disable' name='xsavec'/>
    <feature policy='disable' name='fxsr_opt'/>
    <feature policy='disable' name='misalignsse'/>
    <feature policy='disable' name='3dnowprefetch'/>
    <feature policy='disable' name='osvw'/>
    <feature policy='disable' name='topoext'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/run/kubevirt-ephemeral-disks/disk-data/mypvcdisk/disk.qcow2' index='1'/>
      <backingStore type='file' index='2'>
        <format type='raw'/>
        <source file='/var/run/kubevirt-private/vmi-disks/mypvcdisk/disk.img'/>
        <backingStore/>
      </backingStore>
      <target dev='vda' bus='virtio'/>
      <alias name='ua-mypvcdisk'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='none'>
      <alias name='usb'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <interface type='ethernet'>
      <mac address='02:00:00:00:7e:cb'/>
      <target dev='tap0' managed='no'/>
      <model type='virtio'/>
      <mtu size='1442'/>
      <alias name='ua-default'/>
      <rom enabled='no'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='unix'>
      <source mode='bind' path='/var/run/kubevirt-private/3efffb6f-5f9b-47f4-ac10-d5cc07328787/virt-serial0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='unix'>
      <source mode='bind' path='/var/run/kubevirt-private/3efffb6f-5f9b-47f4-ac10-d5cc07328787/virt-serial0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-default_testvm/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' socket='/var/run/kubevirt-private/3efffb6f-5f9b-47f4-ac10-d5cc07328787/virt-vnc'>
      <listen type='socket' socket='/var/run/kubevirt-private/3efffb6f-5f9b-47f4-ac10-d5cc07328787/virt-vnc'/>
    </graphics>
    <video>
      <model type='vga' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <stats period='10'/>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

[root@testvm /]# ip r
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/24 dev k6t-eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS> via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/16 dev eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/24 via <IP_ADDRESS> dev eth0
[root@testvm /]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
2: k6t-eth0-nic: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1442 qdisc noqueue master k6t-eth0 state UNKNOWN group default
    link/ether fe:a1:81:99:9a:78 brd ff:ff:ff:ff:ff:ff
3: k6t-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1442 qdisc noqueue state UP group default
    link/ether 9e:c2:19:f6:4f:52 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global k6t-eth0
       valid_lft forever preferred_lft forever
4: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1442 qdisc pfifo_fast master k6t-eth0 state UP group default qlen 1000
    link/ether 9e:c2:19:f6:4f:52 brd ff:ff:ff:ff:ff:ff
9816: eth0@if9815: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1442 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 02:55:ac:10:00:3f brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
[root@testvm /]# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
KUBEVIRT_PREINBOUND  all  --  anywhere             anywhere

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  <IP_ADDRESS>             anywhere
KUBEVIRT_POSTINBOUND  all  --  anywhere             anywhere

Chain KUBEVIRT_POSTINBOUND (1 references)
target     prot opt source               destination

Chain KUBEVIRT_PREINBOUND (1 references)
target     prot opt source               destination
DNAT       all  --  anywhere             anywhere             to:<IP_ADDRESS>

it seems the VM nic is not up
# nsenter -t 20934 --net ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
2: k6t-eth0-nic: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1442 qdisc noqueue master k6t-eth0 state UNKNOWN group default
    link/ether fe:a1:81:99:9a:78 brd ff:ff:ff:ff:ff:ff
3: k6t-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1442 qdisc noqueue state UP group default
    link/ether 9e:c2:19:f6:4f:52 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global k6t-eth0
       valid_lft forever preferred_lft forever
4: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1442 qdisc pfifo_fast master k6t-eth0 state UP group default qlen 1000
    link/ether 9e:c2:19:f6:4f:52 brd ff:ff:ff:ff:ff:ff
9816: eth0@if9815: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1442 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 02:55:ac:10:00:3f brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
# nsenter -t 20934 --net ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.035 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=64 time=0.042 ms
64 bytes from <IP_ADDRESS>: icmp_seq=5 ttl=64 time=0.035 ms
^C
--- <IP_ADDRESS> ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.031/0.035/0.042/0.006 ms
# nsenter -t 20934 --net ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.027 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.033 ms
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.027/0.031/0.033/0.003 ms
# nsenter -t 20934 --net ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4 Destination Host Unreachable
^C
--- <IP_ADDRESS> ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms
pipe 4

also see VM pod as below
# kubectl get pod virt-launcher-testvm-wsj6z -oyaml
apiVersion: v1
kind: Pod
metadata:
  annotations:
    kubevirt.io/domain: testvm
    traffic.sidecar.istio.io/kubevirtInterfaces: k6t-eth0
  creationTimestamp: "2020-12-02T06:31:59Z"
  generateName: virt-launcher-testvm-
  labels:
    kubevirt.io: virt-launcher
    kubevirt.io/created-by: 3efffb6f-5f9b-47f4-ac10-d5cc07328787
    kubevirt.io/domain: testvm
    kubevirt.io/size: small
  name: virt-launcher-testvm-wsj6z
  namespace: default
  ownerReferences:
  - apiVersion: kubevirt.io/v1alpha3
    blockOwnerDeletion: true
    controller: true
    kind: VirtualMachineInstance
    name: testvm
    uid: 3efffb6f-5f9b-47f4-ac10-d5cc07328787
  resourceVersion: "89651639"
  selfLink: /api/v1/namespaces/default/pods/virt-launcher-testvm-wsj6z
  uid: def90025-21c4-449d-be36-75706b11d9a6
spec:
  automountServiceAccountToken: false
  containers:
  - command:
    - /usr/bin/virt-launcher
    - --qemu-timeout
    - 5m
    - --name
    - testvm
    - --uid
    - 3efffb6f-5f9b-47f4-ac10-d5cc07328787
    - --namespace
    - default
    - --kubevirt-share-dir
    - /var/run/kubevirt
    - --ephemeral-disk-dir
    - /var/run/kubevirt-ephemeral-disks
    - --container-disk-dir
    - /var/run/kubevirt/container-disks
    - --grace-period-seconds
    - "45"
    - --hook-sidecars
    - "0"
    - --less-pvc-space-toleration
    - "10"
    - --ovmf-path
    - /usr/share/OVMF
    - --use-emulation
    image: kubevirt/virt-launcher:v0.34.2
    imagePullPolicy: IfNotPresent
    name: compute
    resources:
      limits:
        devices.kubevirt.io/tun: "1"
      requests:
        cpu: "2"
        devices.kubevirt.io/tun: "1"
        memory: "2238646528"
    securityContext:
      capabilities:
        add:
        - NET_ADMIN
        - NET_RAW
        - SYS_NICE
      privileged: false
      runAsUser: 0
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/kubevirt-ephemeral-disks
      name: ephemeral-disks
    - mountPath: /var/run/kubevirt/container-disks
      mountPropagation: HostToContainer
      name: container-disks
    - mountPath: /var/run/libvirt
      name: libvirt-runtime
    - mountPath: /var/run/kubevirt/sockets
      name: sockets
    - mountPath: /var/run/kubevirt-private/vmi-disks/mypvcdisk
      name: mypvcdisk
  dnsConfig:
    options:
    - name: single-request-reopen
      value: ""
    - name: timeout
      value: "2"
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  hostname: testvm
  initContainers:
  - command:
    - /usr/bin/cp
    - /usr/bin/container-disk
    - /init/usr/bin/container-disk
    image: kubevirt/virt-launcher:v0.34.2
    imagePullPolicy: IfNotPresent
    name: container-disk-binary
    resources:
      limits:
        cpu: 100m
        memory: 40M
      requests:
        cpu: 10m
        memory: 1M
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /init/usr/bin
      name: virt-bin-share-dir
  nodeName: <IP_ADDRESS>
  nodeSelector:
    kubevirt.io/schedulable: "true"
  priority: 0
  restartPolicy: Never
  schedulerName: default-scheduler
  securityContext:
    fsGroup: 107
    runAsUser: 0
    seLinuxOptions:
      type: virt_launcher.process
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 60
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - emptyDir: {}
    name: sockets
  - name: mypvcdisk
    persistentVolumeClaim:
      claimName: kubevirt-pvc
  - emptyDir: {}
    name: virt-bin-share-dir
  - emptyDir: {}
    name: libvirt-runtime
  - emptyDir: {}
    name: ephemeral-disks
  - emptyDir: {}
    name: container-disks
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2020-12-02T06:32:04Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2020-12-02T06:32:05Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2020-12-02T06:32:05Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2020-12-02T06:31:59Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://3058234cac8ae0ee716edaa95128d984725081e23e7e9b66cc3f8e5c1ba2bc9b
    image: kubevirt/virt-launcher:v0.34.2
    imageID: docker-pullable://kubevirt/virt-launcher@sha256:2bc23393524c199a3d905be4e275d9d1d26b63f1606c963055e6192028ea0eb8
    lastState: {}
    name: compute
    ready: true
    restartCount: 0
    state:
      running:
        startedAt: "2020-12-02T06:32:04Z"
  hostIP: <IP_ADDRESS>
  initContainerStatuses:
  - containerID: docker://67ab7ee5797e25ab09d910abf2e4034a8124379fc3e98a7e6e23b76f5e08146a
    image: kubevirt/virt-launcher:v0.34.2
    imageID: docker-pullable://kubevirt/virt-launcher@sha256:2bc23393524c199a3d905be4e275d9d1d26b63f1606c963055e6192028ea0eb8
    lastState: {}
    name: container-disk-binary
    ready: true
    restartCount: 0
    state:
      terminated:
        containerID: docker://67ab7ee5797e25ab09d910abf2e4034a8124379fc3e98a7e6e23b76f5e08146a
        exitCode: 0
        finishedAt: "2020-12-02T06:32:03Z"
        reason: Completed
        startedAt: "2020-12-02T06:32:03Z"
  phase: Running
  podIP: <IP_ADDRESS>
  podIPs:
  - ip: <IP_ADDRESS>
  qosClass: Burstable
  startTime: "2020-12-02T06:31:59Z"

# kubectl logs virt-launcher-testvm-wsj6z
{"component":"virt-launcher","level":"info","msg":"Collected all requested hook sidecar sockets","pos":"manager.go:68","timestamp":"2020-12-02T08:55:58.116330Z"}
{"component":"virt-launcher","level":"info","msg":"Sorted all collected sidecar sockets per hook point based on their priority and name: map[]","pos":"manager.go:71","timestamp":"2020-12-02T08:55:58.116410Z"}
{"component":"virt-launcher","level":"info","msg":"Connecting to libvirt daemon: qemu:///system","pos":"libvirt.go:380","timestamp":"2020-12-02T08:55:58.126302Z"}
{"component":"virt-launcher","level":"info","msg":"Connecting to libvirt daemon failed: virError(Code=38, Domain=7, Message='Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory')","pos":"libvirt.go:388","timestamp":"2020-12-02T08:55:58.162908Z"}
{"component":"virt-launcher","level":"info","msg":"libvirt version: 6.0.0, package: 16.fc31 (Unknown, 2020-04-07-15:55:55, )","subcomponent":"libvirt","thread":"51","timestamp":"2020-12-02T08:55:58.290000Z"}
{"component":"virt-launcher","level":"info","msg":"hostname: testvm","subcomponent":"libvirt","thread":"51","timestamp":"2020-12-02T08:55:58.290000Z"}
{"component":"virt-launcher","level":"error","msg":"internal error: Child process (/usr/sbin/dmidecode -q -t 0,1,2,3,4,17) unexpected exit status 1: /dev/mem: No such file or directory","pos":"virCommandWait:2709","subcomponent":"libvirt","thread":"51","timestamp":"2020-12-02T08:55:58.290000Z"}
{"component":"virt-launcher","level":"info","msg":"Connected to libvirt daemon","pos":"libvirt.go:396","timestamp":"2020-12-02T08:55:58.665137Z"}
{"component":"virt-launcher","level":"info","msg":"Registered libvirt event notify callback","pos":"client.go:394","timestamp":"2020-12-02T08:55:58.696303Z"}
{"component":"virt-launcher","level":"info","msg":"Marked as ready","pos":"virt-launcher.go:71","timestamp":"2020-12-02T08:55:58.696529Z"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T08:55:59.566737Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T08:55:59.568178Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Executing PreStartHook on VMI pod environment","name":"testvm","namespace":"default","pos":"manager.go:982","timestamp":"2020-12-02T08:55:59.590984Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Starting PreCloudInitIso hook","name":"testvm","namespace":"default","pos":"manager.go:1001","timestamp":"2020-12-02T08:55:59.591040Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"Found nameservers in /etc/resolv.conf: \n\ufffd\u0003\n","pos":"converter.go:1667","timestamp":"2020-12-02T08:55:59.592635Z"}
{"component":"virt-launcher","level":"info","msg":"Found search domains in /etc/resolv.conf: default.svc.cluster.local svc.cluster.local cluster.local","pos":"converter.go:1668","timestamp":"2020-12-02T08:55:59.593551Z"}
{"component":"virt-launcher","level":"info","msg":"Starting SingleClientDHCPServer","pos":"dhcp.go:64","timestamp":"2020-12-02T08:55:59.593655Z"}
{"component":"virt-launcher","level":"info","msg":"/var/run/kubevirt-private/vmi-disks/mypvcdisk/disk.img backing file system does not support direct I/O","pos":"converter.go:170","timestamp":"2020-12-02T08:55:59.782918Z"}
{"component":"virt-launcher","level":"info","msg":"Driver cache mode for /var/run/kubevirt-ephemeral-disks/disk-data/mypvcdisk/disk.qcow2 set to none","pos":"converter.go:189","timestamp":"2020-12-02T08:55:59.782975Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Domain XML generated. Base64 dump PGRvbWFpbiB0eXBlPSJxZW11IiB4bWxuczpxZW11PSJodHRwOi8vbGlidmlydC5vcmcvc2NoZW1hcy9kb21haW4vcWVtdS8xLjAiPgoJPG5hbWU+ZGVmYXVsdF90ZXN0dm08L25hbWU+Cgk8bWVtb3J5IHVuaXQ9ImIiPjIwNDgwMDAwMDA8L21lbW9yeT4KCTxvcz4KCQk8dHlwZSBhcmNoPSJ4ODZfNjQiIG1hY2hpbmU9InEzNSI+aHZtPC90eXBlPgoJCTxzbWJpb3MgbW9kZT0ic3lzaW5mbyI+PC9zbWJpb3M+Cgk8L29zPgoJPHN5c2luZm8gdHlwZT0ic21iaW9zIj4KCQk8c3lzdGVtPgoJCQk8ZW50cnkgbmFtZT0idXVpZCI+NWE5ZmMxODEtOTU3ZS01YzMyLTllNWEtMmRlNWU5NjczNTMxPC9lbnRyeT4KCQkJPGVudHJ5IG5hbWU9Im1hbnVmYWN0dXJlciI+S3ViZVZpcnQ8L2VudHJ5PgoJCQk8ZW50cnkgbmFtZT0iZmFtaWx5Ij5LdWJlVmlydDwvZW50cnk+CgkJCTxlbnRyeSBuYW1lPSJwcm9kdWN0Ij5Ob25lPC9lbnRyeT4KCQkJPGVudHJ5IG5hbWU9InNrdSI+PC9lbnRyeT4KCQkJPGVudHJ5IG5hbWU9InZlcnNpb24iPjwvZW50cnk+CgkJPC9zeXN0ZW0+CgkJPGJpb3M+PC9iaW9zPgoJCTxiYXNlQm9hcmQ+PC9iYXNlQm9hcmQ+CgkJPGNoYXNzaXM+PC9jaGFzc2lzPgoJPC9zeXNpbmZvPgoJPGRldmljZXM+CgkJPGludGVyZmFjZSB0eXBlPSJldGhlcm5ldCI+CgkJCTxzb3VyY2U+PC9zb3VyY2U+CgkJCTx0YXJnZXQgZGV2PSJ0YXAwIiBtYW5hZ2VkPSJubyI+PC90YXJnZXQ+CgkJCTxtb2RlbCB0eXBlPSJ2aXJ0aW8iPjwvbW9kZWw+CgkJCTxtYWMgYWRkcmVzcz0iMDI6MDA6MDA6NmM6OTY6ODIiPjwvbWFjPgoJCQk8bXR1IHNpemU9IjE0NDIiPjwvbXR1PgoJCQk8YWxpYXMgbmFtZT0idWEtZGVmYXVsdCI+PC9hbGlhcz4KCQkJPHJvbSBlbmFibGVkPSJubyI+PC9yb20+CgkJPC9pbnRlcmZhY2U+CgkJPGNoYW5uZWwgdHlwZT0idW5peCI+CgkJCTx0YXJnZXQgbmFtZT0ib3JnLnFlbXUuZ3Vlc3RfYWdlbnQuMCIgdHlwZT0idmlydGlvIj48L3RhcmdldD4KCQk8L2NoYW5uZWw+CgkJPGNvbnRyb2xsZXIgdHlwZT0idXNiIiBpbmRleD0iMCIgbW9kZWw9Im5vbmUiPjwvY29udHJvbGxlcj4KCQk8Y29udHJvbGxlciB0eXBlPSJ2aXJ0aW8tc2VyaWFsIiBpbmRleD0iMCI+PC9jb250cm9sbGVyPgoJCTx2aWRlbz4KCQkJPG1vZGVsIHR5cGU9InZnYSIgaGVhZHM9IjEiIHZyYW09IjE2Mzg0Ij48L21vZGVsPgoJCTwvdmlkZW8+CgkJPGdyYXBoaWNzIHR5cGU9InZuYyI+CgkJCTxsaXN0ZW4gdHlwZT0ic29ja2V0IiBzb2NrZXQ9Ii92YXIvcnVuL2t1YmV2aXJ0LXByaXZhdGUvYzUzOWEwODQtZjFiOS00NTdhLWE3MzktYjdhNWIzMzY5ZjNkL3ZpcnQtdm5jIj48L2xpc3Rlbj4KCQk8L2dyYXBoaWNzPgoJCTxtZW1iYWxsb29uIG1vZGVsPSJ2aXJ0aW8iPgoJCQk8c3RhdHMgcGVyaW9kPSIxMCI+PC9zdGF0cz4KCQk8L21lbWJhbGxvb24+CgkJPGRpc2sgZGV2aWNlPSJkaXNrIiB0eXBlPSJmaWxlIj4KCQkJPHNvdXJjZSBmaWxlPSIvdmFyL3J1bi9rdWJldmlydC1lcGhlbWVyYWwtZGlza3MvZGlzay1kYXRhL215cHZjZGlzay9kaXNrLnFjb3cyIj48L3NvdXJjZT4KCQkJPHRhcmdldCBidXM9InZpcnRpbyIgZGV2PSJ2ZGEiPjwvdGFyZ2V0PgoJCQk8ZHJpdmVyIGNhY2hlPSJub25lIiBuYW1lPSJxZW11IiB0eXBlPSJxY293MiI+PC9kcml2ZXI+CgkJCTxhbGlhcyBuYW1lPSJ1YS1teXB2Y2Rpc2siPjwvYWxpYXM+CgkJCTxiYWNraW5nU3RvcmUgdHlwZT0iZmlsZSI+CgkJCQk8Zm9ybWF0IHR5cGU9InJhdyI+PC9mb3JtYXQ+CgkJCQk8c291cmNlIGZpbGU9Ii92YXIvcnVuL2t1YmV2aXJ0LXByaXZhdGUvdm1pLWRpc2tzL215cHZjZGlzay9kaXNrLmltZyI+PC9zb3VyY2U+CgkJCTwvYmFja2luZ1N0b3JlPgoJCTwvZGlzaz4KCQk8c2VyaWFsIHR5cGU9InVuaXgiPgoJCQk8dGFyZ2V0IHBvcnQ9IjAiPjwvdGFyZ2V0PgoJCQk8c291cmNlIG1vZGU9ImJpbmQiIHBhdGg9Ii92YXIvcnVuL2t1YmV2aXJ0LXByaXZhdGUvYzUzOWEwODQtZjFiOS00NTdhLWE3MzktYjdhNWIzMzY5ZjNkL3ZpcnQtc2VyaWFsMCI+PC9zb3VyY2U+CgkJPC9zZXJpYWw+CgkJPGNvbnNvbGUgdHlwZT0icHR5Ij4KCQkJPHRhcmdldCB0eXBlPSJzZXJpYWwiIHBvcnQ9IjAiPjwvdGFyZ2V0PgoJCTwvY29uc29sZT4KCTwvZGV2aWNlcz4KCTxtZXRhZGF0YT4KCQk8a3ViZXZpcnQgeG1sbnM9Imh0dHA6Ly9rdWJldmlydC5pbyI+CgkJCTx1aWQ+YzUzOWEwODQtZjFiOS00NTdhLWE3MzktYjdhNWIzMzY5ZjNkPC91aWQ+CgkJCTxncmFjZXBlcmlvZD4KCQkJCTxkZWxldGlvbkdyYWNlUGVyaW9kU2Vjb25kcz4zMDwvZGVsZXRpb25HcmFjZVBlcmlvZFNlY29uZHM+CgkJCTwvZ3JhY2VwZXJpb2Q+CgkJPC9rdWJldmlydD4KCTwvbWV0YWRhdGE+Cgk8ZmVhdHVyZXM+CgkJPGFjcGk+PC9hY3BpPgoJPC9mZWF0dXJlcz4KCTxjcHUgbW9kZT0iaG9zdC1tb2RlbCI+CgkJPHRvcG9sb2d5IHNvY2tldHM9IjIiIGNvcmVzPSIxIiB0aHJlYWRzPSIxIj48L3RvcG9sb2d5PgoJPC9jcHU+Cgk8dmNwdSBwbGFjZW1lbnQ9InN0YXRpYyI+MjwvdmNwdT4KCTxpb3RocmVhZHM+MTwvaW90aHJlYWRzPgo8L2RvbWFpbj4=","name":"testvm","namespace":"default","pos":"libvirt_helper.go:97","timestamp":"2020-12-02T08:55:59.783451Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"error","msg":"Unable to open /dev/kvm: No such file or directory","pos":"virHostCPUGetMSRFromKVM:1287","subcomponent":"libvirt","thread":"39","timestamp":"2020-12-02T08:56:00.876000Z"}
{"component":"virt-launcher","level":"error","msg":"Unable to open /dev/kvm: No such file or directory","pos":"virHostCPUGetTscInfo:1359","subcomponent":"libvirt","thread":"39","timestamp":"2020-12-02T08:56:00.877000Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Domain defined.","name":"testvm","namespace":"default","pos":"manager.go:1265","timestamp":"2020-12-02T08:56:00.918574Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"DomainLifecycle event 0 with reason 0 received","pos":"client.go:358","timestamp":"2020-12-02T08:56:00.920561Z"}
{"component":"virt-launcher","level":"error","msg":"At least one cgroup controller is required: No such device or address","pos":"virCgroupDetect:416","subcomponent":"libvirt","thread":"40","timestamp":"2020-12-02T08:56:00.985000Z"}
{"component":"virt-launcher","level":"info","msg":"kubevirt domain status: Shutoff(5):Unknown(0)","pos":"client.go:241","timestamp":"2020-12-02T08:56:00.990325Z"}
{"component":"virt-launcher","level":"info","msg":"Successfully connected to domain notify socket at /var/run/kubevirt/domain-notify-pipe.sock","pos":"client.go:136","timestamp":"2020-12-02T08:56:00.991120Z"}
{"component":"virt-launcher","level":"info","msg":"Detected domain with UUID 5a9fc181-957e-5c32-9e5a-2de5e9673531","pos":"virt-launcher.go:212","timestamp":"2020-12-02T08:56:00.992993Z"}
{"component":"virt-launcher","level":"info","msg":"Monitoring loop: rate 1s start timeout 5m0s","pos":"monitor.go:164","timestamp":"2020-12-02T08:56:00.993053Z"}
{"component":"virt-launcher","level":"info","msg":"Domain name event: default_testvm","pos":"client.go:334","timestamp":"2020-12-02T08:56:00.993597Z"}
{"component":"virt-launcher","level":"info","msg":"2020-12-02 08:56:00.980+0000: starting up libvirt version: 6.0.0, package: 16.fc31 (Unknown, 2020-04-07-15:55:55, ), qemu version: 4.2.0qemu-kvm-4.2.0-27.fc31, kernel: 3.10.0-8<IP_ADDRESS>.h328.eulerosv2r7.x86_64, hostname: testvm","subcomponent":"qemu","timestamp":"2020-12-02T08:56:01.132381Z"}
{"component":"virt-launcher","level":"info","msg":"LC_ALL=C \\PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \\HOME=/var/lib/libvirt/qemu/domain-1-default_testvm \\XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-1-default_testvm/.local/share \\XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-1-default_testvm/.cache \\XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-1-default_testvm/.config \\QEMU_AUDIO_DRV=none \\/usr/libexec/qemu-kvm \\-name guest=default_testvm,debug-threads=on \\-S \\-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-default_testvm/master-key.aes \\-machine pc-q35-rhel8.2.0,accel=tcg,usb=off,dump-guest-core=off \\-cpu EPYC,acpi=on,ss=on,hypervisor=on,erms=on,mpx=on,pcommit=on,clwb=on,pku=on,la57=on,3dnowext=on,3dnow=on,vme=off,fma=off,avx=off,f16c=off,avx2=off,rdseed=off,sha-ni=off,xsavec=off,fxsr-opt=off,misalignsse=off,3dnowprefetch=off,osvw=off,topoext=off \\-m 1954 \\-overcommit mem-lock=off \\-smp 2,sockets=2,dies=1,cores=1,threads=1 \\-object iothread,id=iothread1 \\-uuid 5a9fc181-957e-5c32-9e5a-2de5e9673531 \\-smbios type=1,manufacturer=KubeVirt,product=None,uuid=5a9fc181-957e-5c32-9e5a-2de5e9673531,family=KubeVirt \\-no-user-config \\-nodefaults \\-chardev socket,id=charmonitor,fd=20,server,nowait \\-mon chardev=charmonitor,id=monitor,mode=control \\-rtc base=utc \\-no-shutdown \\-boot strict=on \\-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \\-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \\-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \\-device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \\-device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \\-device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \\-blockdev '{\"driver\":\"file\",\"filename\":\"/var/run/kubevirt-private/vmi-disks/mypvcdisk/disk.img\",\"node-name\":\"libvirt-2-storage\",\"cache\":{\"direct\":true,\"no-flush\":false},\"auto-read-only\":true,\"discard\":\"unmap\"}' \\-blockdev '{\"node-name\":\"libvirt-2-format\",\"read-only\":true,\"cache\":{\"direct\":true,\"no-flush\":false},\"driver\":\"raw\",\"file\":\"libvirt-2-storage\"}' \\-blockdev '{\"driver\":\"file\",\"filename\":\"/var/run/kubevirt-ephemeral-disks/disk-data/mypvcdisk/disk.qcow2\",\"node-name\":\"libvirt-1-storage\",\"cache\":{\"direct\":true,\"no-flush\":false},\"auto-read-only\":true,\"discard\":\"unmap\"}' \\-blockdev '{\"node-name\":\"libvirt-1-format\",\"read-only\":false,\"cache\":{\"direct\":true,\"no-flush\":false},\"driver\":\"qcow2\",\"file\":\"libvirt-1-storage\",\"backing\":\"libvirt-2-format\"}' \\-device virtio-blk-pci,scsi=off,bus=pci.3,addr=0x0,drive=libvirt-1-format,id=ua-mypvcdisk,bootindex=1,write-cache=on \\-netdev tap,fd=22,id=hostua-default \\-device virtio-net-pci,host_mtu=1442,netdev=hostua-default,id=ua-default,mac=02:00:00:6c:96:82,bus=pci.1,addr=0x0,romfile= \\-chardev socket,id=charserial0,fd=23,server,nowait \\-device isa-serial,chardev=charserial0,id=serial0 \\-chardev socket,id=charchannel0,fd=24,server,nowait \\-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \\-vnc vnc=unix:/var/run/kubevirt-private/c539a084-f1b9-457a-a739-b7a5b3369f3d/virt-vnc \\-device VGA,id=video0,vgamem_mb=16,bus=pcie.0,addr=0x1 \\-device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x0 \\-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \\-msg timestamp=on","subcomponent":"qemu","timestamp":"2020-12-02T08:56:01.132539Z"}
{"component":"virt-launcher","level":"info","msg":"2020-12-02T08:56:01.058012Z qemu-kvm: warning: TCG doesn't support requested feature: CPUID.8000000AH:EDX.nrip-save [bit 3]","subcomponent":"qemu","timestamp":"2020-12-02T08:56:01.132594Z"}
{"component":"virt-launcher","level":"info","msg":"2020-12-02T08:56:01.058844Z qemu-kvm: warning: TCG doesn't support requested feature: CPUID.8000000AH:EDX.nrip-save [bit 3]","subcomponent":"qemu","timestamp":"2020-12-02T08:56:01.132602Z"}
{"component":"virt-launcher","level":"info","msg":"GuestAgentLifecycle event state 2 with reason 1 received","pos":"client.go:377","timestamp":"2020-12-02T08:56:01.151629Z"}
{"component":"virt-launcher","level":"info","msg":"kubevirt domain status: Paused(3):StartingUp(11)","pos":"client.go:241","timestamp":"2020-12-02T08:56:01.153167Z"}
{"component":"virt-launcher","level":"info","msg":"Domain name event: default_testvm","pos":"client.go:334","timestamp":"2020-12-02T08:56:01.155299Z"}
{"component":"virt-launcher","level":"info","msg":"DomainLifecycle event 4 with reason 0 received","pos":"client.go:358","timestamp":"2020-12-02T08:56:01.413917Z"}
{"component":"virt-launcher","level":"info","msg":"DomainLifecycle event 2 with reason 0 received","pos":"client.go:358","timestamp":"2020-12-02T08:56:01.415997Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Domain started.","name":"testvm","namespace":"default","pos":"manager.go:1300","timestamp":"2020-12-02T08:56:01.418336Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T08:56:01.419314Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"kubevirt domain status: Running(1):Unknown(1)","pos":"client.go:241","timestamp":"2020-12-02T08:56:01.419467Z"}
{"component":"virt-launcher","level":"info","msg":"Domain name event: default_testvm","pos":"client.go:334","timestamp":"2020-12-02T08:56:01.420310Z"}
{"component":"virt-launcher","level":"info","msg":"kubevirt domain status: Running(1):Unknown(1)","pos":"client.go:241","timestamp":"2020-12-02T08:56:01.421398Z"}
{"component":"virt-launcher","level":"info","msg":"Domain name event: default_testvm","pos":"client.go:334","timestamp":"2020-12-02T08:56:01.422180Z"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T08:56:01.427262Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T08:56:01.427292Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T08:56:01.428351Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T08:56:01.433563Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T08:56:01.433588Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T08:56:01.434641Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"Found PID for 5a9fc181-957e-5c32-9e5a-2de5e9673531: 68","pos":"monitor.go:133","timestamp":"2020-12-02T08:56:01.994163Z"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T08:58:08.083258Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T08:58:08.083298Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T08:58:08.084287Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T09:03:08.082968Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T09:03:08.083007Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T09:03:08.084050Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T09:08:08.083165Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T09:08:08.083205Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T09:08:08.084251Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}
{"component":"virt-launcher","level":"info","msg":"Hardware emulation device '/dev/kvm' not present. Using software emulation.","pos":"converter.go:687","timestamp":"2020-12-02T09:13:08.083101Z"}
{"component":"virt-launcher","level":"info","msg":"In-kernel virtio-net device emulation '/dev/vhost-net' not present. Falling back to QEMU userland emulation.","pos":"converter.go:700","timestamp":"2020-12-02T09:13:08.083145Z"}
{"component":"virt-launcher","kind":"","level":"info","msg":"Synced vmi","name":"testvm","namespace":"default","pos":"server.go:167","timestamp":"2020-12-02T09:13:08.084227Z","uid":"c539a084-f1b9-457a-a739-b7a5b3369f3d"}

What you expected to happen:
any solution to help me check if the VM runs well and its network is active?
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version): 0.34.2
Kubernetes version (use kubectl version): 1.15.6
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

I have no idea why this happens:

the VM doesn't run, for example, guest os cannot work
or 2) the VM works well, but we cannot just visit its network

How can I verify which reason caused this problem？

Maybe you can try the cirros container image kubevirt/cirros-container-disk-demo:latest or fedora container image kubevirt/fedora-cloud-container-disk-demo:latest instead of kubevirt/cirros-registry-disk-demo.

Ok, I can take a try. thanks

Maybe you can try the cirros container image kubevirt/cirros-container-disk-demo:latest or fedora container image kubevirt/fedora-cloud-container-disk-demo:latest instead of kubevirt/cirros-registry-disk-demo.

Maybe you can try the cirros container image kubevirt/cirros-container-disk-demo:latest or fedora container image kubevirt/fedora-cloud-container-disk-demo:latest instead of kubevirt/cirros-registry-disk-demo.

I had tried, it has same error

Are you running this on a cluster where the nodes are virtual machines? The logs seem to indicate you don't have /dev/kvm available. So either turn on nested virtualization or use the emulation mode.

I used  the emulation mode. I wonder what it means for a VMI if it is "Running". IMP, if its network cannot be accessed, its state should not be "Running" at least
# kubectl get configmap -n kubevirt kubevirt-config -oyaml
apiVersion: v1
data:
  debug.useEmulation: "true"
  feature-gates: HostDisk,LiveMigration
kind: ConfigMap
metadata:
  creationTimestamp: "2020-11-27T08:44:18Z"
  name: kubevirt-config
  namespace: kubevirt
  resourceVersion: "89260367"
  selfLink: /api/v1/namespaces/kubevirt/configmaps/kubevirt-config
  uid: 1b4b06da-d56a-4ab7-b2df-a9669cbdd309

I used the emulation mode. I wonder what it means for a VMI if it is "Running". IMP, if its network cannot be accessed, its state should not be "Running" at least

Running means that the machine is on, like if your office PC is on. It is not related to network connectivity. If you want more fine-grained control of liveness and readiness, you can for instance  use liveness and readiness probes: https://kubevirt.io/user-guide/#/creation/probes?id=configure-liveness-and-readiness-probes, further if the guest agent is installed, you will see a guest agent condition on the VMI appearing once the guest agent connects.
Finally, you can use VNC virtctl vnc <myvml> to see if the OS or the bios is stuck somewhere.
I hope that helps.

@rmohr thanks, I think liveness and readiness probes is what I want


⚠ DCATD has degraded performance

In 9826c67, DCATD ($SITE_URL_DCATD) experienced degraded performance:

HTTP code: 200
Response time: 5792 ms

Resolved: DCATD performance has improved in e6f0b61 after 8 minutes.


Document which operations need a lot of RAM in the new architecture

In the new architecture (4.0 branch), some operations or importers have been optimized so that they do not require a lot of RAM even if the dataset is large. However as a user it is not necessarily clear which operations can safely be used in pipelines meant to run on large datasets. In some cases it might be possible for the user to find another way to carry out a transformation (or even do it externally). For this to be doable, they must be able to understand which operations should be avoided.
This applies to operations, but also importers and exporters.
A given operation / importer / exporter can be efficient in some settings, an inefficient in others. For instance the CSV importer is efficient if the multiLine option is set to true but inefficient if multiLine is set to false and escaping is enabled.
Proposed solution

Document scalability of each of these components in the official manual
Consider adding some warnings to the UI before triggering an operation which might require a lot of RAM (perhaps not so easy?)

Alternatives considered
Not sure?

The UI warning might be easy enough depending on how we choose to display things.
When trying a few options in the CSV, Line, and Fixed importers, I could definitely see the effects of some options I chose.
Perhaps we add a footnote element?  Like (!) next to any option that might have impact? And then towards the bottom a small description to say "(!) This option might require more RAM. You might consider handling outside OpenRefine or visit our Wiki page here for more tips" ?


Update zxc-e2e-test.yaml and flow-update-readme.yaml to use node version specified in README.md

Our README.md states that we can use Node(>=18.19.0) (*lts/hydrogen*).  Since many of us are running on newer versions, we should update our CICD to work on this older version to ensure we are still compliant.  If it needs to change, we should keep them in sync.
The following should match:

zxc-e2e-test.yaml > `inputs.node-version.default'
flow-deploy-release-artifact.yaml > prepare-release > Setup Node with Retry > with.node-version
flow-deploy-release-artifact.yaml > create-github-release > Setup Node with Retry > with.node-version
flow-hugo-publish.yaml > Setup Node with Retry > with.node-version
flow-update-readme.yaml > Setup Node with Retry > with.node-version
README.md > ## Requirements
package.json > engines.node

:tada: This issue has been resolved in version 0.28.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Allow secrets to be set via environment variables

Currently the settings.yml file is baked into the docker image and contains secrets (slack token, github token, AD bind password).  Allowing these to be set from environment variables would allow us to pass secrets into the container at runtime, which makes the image more secure and portable.

Closing, merged #27


Using XAML Compilation gives error "Enum value not found for street"

Hi,
When Xaml compilation is enabled, the above error is thrown.

Can you post your XAML? MapType is Xamarin.Forms.Maps default.


Build fixes

Hi! Thank you for helping out with Embedded Graphics development! Please:

[x] Check that you've added passing tests and documentation
[x] Add a simulator example(s) where applicable
[x] Add a CHANGELOG.md entry in the Unreleased section under the appropriate heading (Added, Fixed, etc) and appropriate crate (embedded-graphics, simulator, tinytga, tinybmp) if your changes affect the public API
[x] Run rustfmt on the project
[x] Run ./build.sh (Linux/macOS only) and make sure it passes. If you use Windows, check that CI passes once you've opened the PR.

PR description
Optimises the build a bit. The old home dir cache path is incorrect. The new absolute path works in another project I use at work so I'm copying that change here. Builds should speed up by a bit now.
The cache key removal is explained in the commit itself :)

Cached builds currently run between 7 and 11 minutes. This branch reduces that to ~5m 30s. Still quite long but a decent improvement nonetheless.


What about Typescript? How I can get typed action in component?

How can I get typed action in component?
When I try call .then() for action I get TS error Property 'then' does not exist on type  but code worked.

Hi
Personally, I use AnyAction from redux as a workaround
I hope a real type will be created for the actions but it's quite tricky as it must be an object and a promise at the same time
Not sure if it's even possible

Any updates on this? Currently struggling with the same issue.

Same issue.


How do I get hello world to display in the debugger? What fires the driver off?

I was successful going through this tutorial and have my driver deployed and installed and WinDBG breaking into the target machine. lm shows the KdmfHelloWorld.sys module exist but it does not appear to be loaded. What's the next step in actually seeing the KdPrintEx message in WinDBG? How do I get the kernel to create my "device?"?

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

ID: 81568a12-c39e-a18f-8f33-c54545f14bac
Version Independent ID: 73217b22-1795-b5d0-65cb-1984f38dc661
Content: Write a Hello World Windows Driver (KMDF) - Windows drivers
Content Source: windows-driver-docs-pr/gettingstarted/writing-a-very-small-kmdf--driver.md
Product: windows-hardware
Technology: gettingstarted
GitHub Login: @aviviano
Microsoft Alias: amvivian

@squintz - This particular channel is monitored by the men and women who write the driver documentation posted on docs.microsoft.com/drivers. Though we'd like to, we don’t have the resources to provide support for specific scenarios.
Your best bet is to use one of the forums where other driver developers and Microsoft engineers can be found. For example, the Hardware and Application Developers on Q&A. You can post your question there, and the community of developers usually give feedback pretty quickly.
As far as displaying information in the debugger, you will need to configure symbols to be able to traverse the driver stack. More detail is in this lab: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debug-universal-drivers---step-by-step-lab--echo-kernel-mode-  Getting the kernel debugger to connect to the remote PC is often the most difficult step, and it sounds like that is done. In section 6 of the lab, "Displaying Plug and Play device tree information" shows the use of the !devnode command that will provide some information about the devices and PDOs, etc. It also shows how to enable / disable the driver in the UI to force driver events.
Developing drivers is pretty major effort, so you may also want to consider one of the books such as Developing Drivers with the Windows Driver Foundation, Inside Windows Debugging, and of course Windows Internals.
Good luck with your driver development work.


dartdevk should not use patch_sdk in its build

The front end supports patch files directly, so we can avoid this step in dartdevk's build.

https://dart-review.googlesource.com/c/sdk/+/53682 will fix. Unfortunately I suspect as-is it will break dartdevc's patching (duplicate imports). Will see if there's a way around that.

if this is fixed we can close out https://github.com/dart-lang/sdk/issues/33012


Should we remove the C extension?

It turns out that Python 3.12 is way faster at string operations than when MarkupSafe and its speedups were written. After running some benchmarks on short and long strings with and without HTML, between Python 3.8, Python 3.12, with and without speedups, the results show that the speedups only offer a fractional speedup, or are in some cases slower than native. Removing the speedups would make maintenance, release, and install much simpler, at some performance cost mitigated by general Python speedup.
Benchmark script
# bench.py
import subprocess
import sys

for name, s in (
    ("short escape", '"Hello, World!"'),
    ("long escape", '"Hello, World!" * 1000'),
    ("short plain", '"Hello, World!"'),
    ("long plain", '"Hello, World!" * 1000'),
    ("long suffix", '"Hello, World!" + "x" * 100_000')
):
    for mod in "native", "speedups":
        subprocess.run(
            [
                sys.executable,
                "-m",
                "pyperf",
                "timeit",
                "--compare-to",
                ".venv38/bin/python3.8",
                "--name",
                f"{name} {mod}",
                "-s",
                f"from markupsafe._{mod} import escape\ns = {s}",
                "escape(s)",
            ]
        )

Benchmark output
$ .venv38/bin/python3.8 bench.py
.....................
short escape native: Mean +- std dev: 678 ns +- 7 ns
.....................
short escape speedups: Mean +- std dev: 487 ns +- 12 ns
.....................
long escape native: Mean +- std dev: 22.9 us +- 0.2 us
.....................
long escape speedups: Mean +- std dev: 16.1 us +- 0.2 us
.....................
short plain native: Mean +- std dev: 538 ns +- 10 ns
.....................
short plain speedups: Mean +- std dev: 414 ns +- 1 ns
.....................
long plain native: Mean +- std dev: 22.8 us +- 0.4 us
.....................
long plain speedups: Mean +- std dev: 16.1 us +- 0.4 us
.....................
long suffix native: Mean +- std dev: 176 us +- 2 us
.....................
long suffix speedups: Mean +- std dev: 180 us +- 1 us

$ .venv312/bin/python3.12 bench.py
.....................
short escape native: Mean +- std dev: 425 ns +- 4 ns
.....................
short escape speedups: Mean +- std dev: 472 ns +- 2 ns
.....................
long escape native: Mean +- std dev: 19.8 us +- 0.1 us
.....................
long escape speedups: Mean +- std dev: 15.6 us +- 0.0 us
.....................
short plain native: Mean +- std dev: 314 ns +- 1 ns
.....................
short plain speedups: Mean +- std dev: 405 ns +- 10 ns
.....................
long plain native: Mean +- std dev: 20.5 us +- 0.6 us
.....................
long plain speedups: Mean +- std dev: 15.9 us +- 0.9 us
.....................
long suffix native: Mean +- std dev: 154 us +- 2 us
.....................
long suffix speedups: Mean +- std dev: 178 us +- 3 us

name
3.8 native
3.8 speedups
3.12 native
3.12 speedups

short escape
678ns
487ns
425ns
472ns

long escape
22.9us
16.1us
19.8us
15.6us

short plain
538ns
414ns
314ns
405ns

long plain
22.8us
16.1us
20.5us
15.9us

long suffix
176us
180us
154us
178us

I couldn't go back further than 3.8 on my machine, but I vaguely remember the benchmarks being much more significantly in favor of the C extension on even older versions. On the order of 5x rather than 1.25x.
If the speedups had never existed, users today compared to 5 years ago would see a significant speedup from Python improvements alone. The speedups are now only faster when many thousands of characters throughout a long string need to be escaped. For short strings or long strings with only minor escaping needed, the speedups are now slower than the Python implementation. Python continues to make performance improvements, such as adding a JIT compiler in 3.13, which may improve MarkupSafe native performance even more.
I have a feeling that most "real" data falls into either short strings like usernames, or medium strings of mostly non-HTML, like blog comments. In which case the speedups are not actually faster. In many cases of longer data, like blog comments, they're probably being preprocessed with Markdown, in which case they're not being escaped by MarkupSafe anyway.
I vaguely understand how the C extension works, but would have trouble maintaining it if something was needed. It also makes the build and publishing much more complicated, requiring 20+ minutes to build 50+ wheels. While the C extension is fairly straightforward, and it's unlikely there's a memory issue, it does deal directly with the internal bits of Python's unicode representation (which is also why it can't be a single abi3 wheel). Removing it would simplify the code, the build/install, and perhaps the perceived security.

Somebody's gotta say it: pure Python is easier to integrate with PyPy, for even bigger speedups. If you really want to adopt Rust, consider ensuring that your crate can bind via cffi so that PyPy compatibility is still possible.

Puppy already gets a build with only the native implementation.

If I run the native extension's escape() function 1 million times with debug symbols, ~40% of the time running it is spend checking whether the input has a __html__ attribute (if the input is a string, we should shortcut that, PyUnicode_CheckExact is a very fast call). Then another 40% is spent running Python code.
In short, only 4% of the execution time is in the compiled C code.

Submitted a PR with an optimisation that might help these figures.

Great catch, that greatly improved the performance of short escape and short plain on both Python 3.8 and 3.12. long suffix is still slow. I wonder what happened starting in 3.10 that made the speedups slower in those cases.
Benchmark
$ python3.12 bench.py
.....................
short escape native: Mean +- std dev: 426 ns +- 2 ns
.....................
short escape speedups: Mean +- std dev: 265 ns +- 2 ns
.....................
long escape native: Mean +- std dev: 20.2 us +- 0.1 us
.....................
long escape speedups: Mean +- std dev: 15.5 us +- 0.0 us
.....................
short plain native: Mean +- std dev: 316 ns +- 2 ns
.....................
short plain speedups: Mean +- std dev: 192 ns +- 1 ns
.....................
long plain native: Mean +- std dev: 20.4 us +- 0.2 us
.....................
long plain speedups: Mean +- std dev: 15.5 us +- 0.2 us
.....................
long suffix native: Mean +- std dev: 156 us +- 1 us
.....................
long suffix speedups: Mean +- std dev: 179 us +- 1 us

$ python3.8 bench.py
.....................
short escape native: Mean +- std dev: 696 ns +- 6 ns
.....................
short escape speedups: Mean +- std dev: 366 ns +- 5 ns
.....................
long escape native: Mean +- std dev: 23.3 us +- 0.1 us
.....................
long escape speedups: Mean +- std dev: 16.2 us +- 0.3 us
.....................
short plain native: Mean +- std dev: 540 ns +- 8 ns
.....................
short plain speedups: Mean +- std dev: 287 ns +- 6 ns
.....................
long plain native: Mean +- std dev: 23.4 us +- 0.1 us
.....................
long plain speedups: Mean +- std dev: 16.2 us +- 0.2 us
.....................
long suffix native: Mean +- std dev: 180 us +- 1 us
.....................
long suffix speedups: Mean +- std dev: 184 us +- 3 us

While it would make maintenance and releases easier, the speedups have now been sped up and are clearly still useful. The good news is that I have the release automated, so I at least can kick it off and come back rather than monitoring it. I'm still interested in a Rust implementation that has close to the same performance, or perhaps exploring mypyc or cython, if anyone's looking for an interesting exploratory task.


Error while setting up telenet_telemeter platform for sensor - AssertionError

Logger: homeassistant.components.sensor
Source: custom_components/telenet_telemeter/utils.py:81
Integration: Sensor (documentation, issues)
First occurred: 12:45:12 AM (1 occurrences)
Last logged: 12:45:12 AM

Error while setting up telenet_telemeter platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 293, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/telenet_telemeter/sensor.py", line 110, in async_setup_entry
    await dry_setup(hass, config, async_add_devices)
  File "/config/custom_components/telenet_telemeter/sensor.py", line 51, in dry_setup
    await data_internet._forced_update()
  File "/config/custom_components/telenet_telemeter/sensor.py", line 144, in _forced_update
    await self._hass.async_add_executor_job(lambda: self._session.login(self._username, self._password))
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/telenet_telemeter/sensor.py", line 144, in <lambda>
    await self._hass.async_add_executor_job(lambda: self._session.login(self._username, self._password))
  File "/config/custom_components/telenet_telemeter/utils.py", line 81, in login
    assert response.status_code == 200
AssertionError

Just tested again myself and login is still working fine for me.
Looking at your error, it might be a wrong username/password is provided. Make sure to use an email address as username, the old username login is no longer supported by Telenet. You can try to login on the website of telenet itself 'Mijn Telenet' to validate your credentials are correct.
But some Telenet backend changes are ongoing these days too, so it might be your account is already migrated to their new backend. This integration is not yet made compatible with the new Telenet backend. As soon as migration is completed at their side, I'll take a look into it...

Now I'm getting similar exception. Probably Telenet backend migrations are progressing.
Will validate in coming days and try to make the integration compatibel with Telenet backend again.

hmm, just wanted to start in depth investigation, but I do notice it works again without any changes. Not sure if Telenet has restored their backend and if any changes are still to be expected. But for now, a simple reload or HA restart solved it for me.
@arszagi: sorry, I have no view on Telenet Business account differences vs std. Feel free to open another ticket If you would see any specific exception in the logs related to business account.

Just tried it again but still getting the assertion error:
Logger: homeassistant.components.sensor
Source: custom_components/telenet_telemeter/utils.py:81
Integration: Sensor (documentation, issues)
First occurred: 06:24:46 (2 occurrences)
Last logged: 06:27:08

Error while setting up telenet_telemeter platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 293, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/telenet_telemeter/sensor.py", line 113, in async_setup_entry
    await dry_setup(hass, config, async_add_devices)
  File "/config/custom_components/telenet_telemeter/sensor.py", line 52, in dry_setup
    await data_internet._forced_update()
  File "/config/custom_components/telenet_telemeter/sensor.py", line 147, in _forced_update
    await self._hass.async_add_executor_job(lambda: self._session.login(self._username, self._password))
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/telenet_telemeter/sensor.py", line 147, in <lambda>
    await self._hass.async_add_executor_job(lambda: self._session.login(self._username, self._password))
  File "/config/custom_components/telenet_telemeter/utils.py", line 81, in login
    assert response.status_code == 200
AssertionError

I'll check again in couple of days, it seems Telenet is planning backend changes again:

Mijn Telenet tijdelijk niet beschikbaar
Van zaterdag 11/3 22u tot zondag 12/3 20u verbeteren we onze diensten. Tijdens de werken kan je Mijn Telenet niet gebruiken.

are you sure you are using the correct username and password?
Since some time Telenet doesn't support the old usernames any longer, only email address is supported.
Please confirm your credentials by logging out and in on the Telenet website itself.

@myTselection , i have Telenet business account, but the error is the same. Any idea?
Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 293, in _async_setup_platform     await asyncio.shield(task)   File "/config/custom_components/telenet_telemeter/sensor.py", line 113, in async_setup_entry     await dry_setup(hass, config, async_add_devices)   File "/config/custom_components/telenet_telemeter/sensor.py", line 52, in dry_setup     await data_internet._forced_update()   File "/config/custom_components/telenet_telemeter/sensor.py", line 147, in _forced_update     await self._hass.async_add_executor_job(lambda: self._session.login(self._username, self._password))   File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run     result = self.fn(*self.args, **self.kwargs)   File "/config/custom_components/telenet_telemeter/sensor.py", line 147, in <lambda>     await self._hass.async_add_executor_job(lambda: self._session.login(self._username, self._password))   File "/config/custom_components/telenet_telemeter/utils.py", line 81, in login     assert response.status_code == 200 AssertionError

Yes, I can access this information with the same credentials:

Strange, can't explain. Could you try to change your Telenet password? Maybe some special character in your password is not handled correctly...

dear, was this issue resolved for you? Any idea what was the root cause? I see similar issue reported by another user...

expected this is no longer an issue


Please add file compression function

Problem description
When downloading many files, I need to download them one by one. It would be great if I could compress them into files and download them again
Proposal
Please add file compression function
Additional context
No response

++++

Duplicate of https://github.com/quasar/Quasar/issues/262 ("Download folders")


Authentication error if issuing multiple tasks at once

Environment details

OS:
Node.js version: 10
npm version: 6.10
@google-cloud/tasks version: 1.4 (using v2beta3)

Steps to reproduce

Make a cloud function that issues a working httpRequest task with an oidcToken
Make a cloud function that issues a different working httpRequest task with an oidcToken
Make a cloud function that combines the two, observe that the first task will create successfully and the second will produce an error similar to this: "Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information. at GoogleAuth.getApplicationDefaultAsync (/srv/functions/node_modules/google-auth-library/build/src/auth/googleauth.js:161:19) at process._tickCallback (internal/process/next_tick.js:68:7)"

Note that I instantiate CloudTasksClient only once, I haven't tried doing it multiple times for each task, but my understanding is that this shouldn't matter.

Instantiating a new CloudTasksClient for each task fixed the issue.

@asktree are you share a snippet of the code that was failing? You shouldn't need to create multiple clients, unless each client has different credentials.

I'm having the same problem, but I'm not trying to send multiple tasks, just a single one.  I'm running this inside cloud functions and listening for a bucket onFinalize event and sending a single http task to a cloud tasks queue with the payload.
It seems that my function works fine when its first deployed.  Then after some time, I think after it scales to zero and then is re-triggered it always fails until I redeploy it.

Does it make sense (in this context) to initialize the client on each invocation of cloud functions?
Here is my code.
const { v2beta3 } = require('@google-cloud/tasks')
const client = new v2beta3.CloudTasksClient()

const queue = body => {
  return client.createTask({
    parent: process.env.QUEUE_URL,
    task: {
      httpRequest: {
        httpMethod: 'POST',
        url: process.env.TASK_URL,
        headers: { 'Content-Type': 'application/json' },
        body: Buffer.from(JSON.stringify(body)),
        oidcToken: { serviceAccountEmail: process.env.SERVICE_ACCOUNT_EMAIL }
      }
    }
  })
}

exports.default = async file => {
  await queue(file)
  console.info(`DONE: ${file.name} queued`)
}

Perhaps related https://github.com/googleapis/google-auth-library-nodejs/issues/798

@dusty I believe you're correct that this would have been related to #798.
It should now be addressed in the underlying library (see: comments here.
It also might be worth rewriting code to lazy instantiate the client, like so:
const { v2beta3 } = require('@google-cloud/tasks')
let client;
const queue = body => {
  if (!client) {
    client = new v2beta3.CloudTasksClient()
  }
  return client.createTask({
    parent: process.env.QUEUE_URL,
    task: {
      httpRequest: {
        httpMethod: 'POST',
        url: process.env.TASK_URL,
        headers: { 'Content-Type': 'application/json' },
        body: Buffer.from(JSON.stringify(body)),
        oidcToken: { serviceAccountEmail: process.env.SERVICE_ACCOUNT_EMAIL }
      }
    }
  })
}

exports.default = async file => {
  await queue(file)
  console.info(`DONE: ${file.name} queued`)
}

This will help ensure that no aync work is happening outside of the execution of your function.


python311Packages.dask-awkward: 2024.6.0 -> 2024.7.0

Description of changes
Changelog: https://github.com/dask-contrib/dask-awkward/releases/tag/2024.7.0
cc @veprbl

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

8 packages built:

python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist

Result of nixpkgs-review pr 329656 run on x86_64-darwin 1

8 packages built:

python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist

Result of nixpkgs-review pr 329656 run on aarch64-linux 1

8 packages built:

python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist

Result of nixpkgs-review pr 329656 run on aarch64-darwin 1

2 packages failed to build:

python311Packages.coffea
python311Packages.coffea.dist

6 packages built:

python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist

Result of nixpkgs-review pr 329656 run on aarch64-darwin 1

8 packages built:

python311Packages.coffea
python311Packages.coffea.dist
python311Packages.dask-awkward
python311Packages.dask-awkward.dist
python312Packages.coffea
python312Packages.coffea.dist
python312Packages.dask-awkward
python312Packages.dask-awkward.dist


remove the fluid?

looks really bad, the navbar fluid on big screens
with the fluid, on my screen-- http://i.imgur.com/N4n2Rst.png
without -- http://i.imgur.com/1O3HEeI.png

Thanks again. Haven't tested this layout on larger screens, so didn't notice this.


Add exercise: difference-of-squares

Tests coincide with:
https://github.com/exercism/x-common/blob/1bd8529776f97780a3b201aa3ee27926118b2efd/exercises/difference-of-squares/canonical-data.json
Additional tests for input == 0.
🐶

I like it!

Additional tests for input == 0.

Do you think this would be a valuable test to add to the canonical ones? (There may have been a discussion about this somewhere, I've not kept up with the history of this exercise).

Do you think this would be a valuable test to add to the canonical ones?

Honestly, I don't see any way where someone would come up with a solution for this exercise that works for all cases but the 0 one.
But I think when testing units that do arithmetic, 0 as input is a special case that surprisingly often is forgotten about. And in more complicated code this could matter.
Not sure if it counts as a best practice, but it's a good habit for sure. :-)

But I think when testing units that do arithmetic, 0 as input is a special case that surprisingly often is forgotten about. And in more complicated code this could matter.

Yeah, that's a good point.
I'd recommend opening an issue in https://github.com/exercism/x-common/issues to suggest it (or a PR with a change to canonical-data.json to suggest it, since it might be just as easy).


Implements letter spacing

Inside Character (or inside typography. We should discuss if we want to merge these two)

Implemented in 66998c0754d7ed0a681eb31d9d270187f6207095


close input stream before entity to circumvent draining

This change closes the input stream from the HTTP entity upfront, so that the call to close on the HttpResponseEntity can't drain it.

Needs a more general fix, see also issues #17 and #83


fix https://skyline.ms/issues/home/issues/details.view?issueId=985 Target tree's Find function results window says "Peptide" where it should say "Molecule"

The contents of the "Type" column in the Find Results window would not get translated from "Protein" and "Peptide" as appropriate

If you wanted, you could look at the IdentityPath in the Bookmark in order to decide whether to display "Molecule" or "Peptide" in a mixed document, but that would probably be weird.

Yeah, there are plenty of places in the Mixed UI where we just say "molecule" even if it is actually a peptide.


Uncaught (in promise) TypeError: Cannot read property 'mentionableUsers' of null

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Github tab is unable to access the remote repositories.  From the git command line in a terminal, I can access the remote repositories without issue (using the ssh connection).
I am actually able to use atom to clone the remote git repo via atom's command palette, but it seems to be incomplete as I don't see anything other than the master branch (no other branches) and I still see the error messages described below.
The following message appears in the GitHub tab:
Repository not found for the remote origin
Do you need to update your remote URL
The following error appears in the console every time I click Fetch:
Uncaught (in promise) TypeError: Cannot read property 'mentionableUsers' of null
at UserStore.loadMentionableUsers (/usr/share/atom/resources/app/static/:14:3820509)
at
Steps to Reproduce

Open a project that is connected to a remote repo
Click the Fetch icon

Expected behavior: [What you expect to happen]
Fetch to proceed without error
Actual behavior: [What actually happens]
Errors in the Console and the Github tab.
Reproduces how often: [What percentage of the time does it reproduce?]
Always
Versions
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Atom    : 1.32.1
Electron: 2.0.9
Chrome  : 61.0.3163.100
Node    : 8.9.3
Ubuntu 16.04
Additional Information
Let me know if I can try anything else to help diagnose.

I just downloaded and installed Atom on another machine/OS (Windows 10).
I am seeing the exact same problem.
Perhaps it is something to do with how our repos are setup?  They are private to our company so unfortunately I cannot share.

/move to atom/github


Replace arrow function with ES5 syntax to allow to work in IE

Javascript written within script tags in templates is not run through babel therefore isn't transpiled to ES5.
Resolves #124

I think there is another issue

@jonnyshaw89 I've added a UUID generator that will work in IE which should resolve this 👍

@bameyrick 	Squishy Squash

Commits make sense on their own as they are separate changes


enhancement add OrToIn rule && fix expr clone problems

Proposed changes
Issue Number: close #12871
Problem summary

support Or to In rewrite rule
fix Expr clone problems. It should create a new object, or it will always be shallow-copy.

Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

tested locally.

fe unit-tests passed locally.
compiled and manually tested function passed

test results:

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.37 seconds
load time: 433 seconds
storage size:<PHONE_NUMBER>5 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221212101237_clickbench_pr_62009.html

It seems this PR introduced unstable test, please see http://<IP_ADDRESS>:8111/viewLog.html?buildId=69682&buildTypeId=Doris_Doris_FeUt
cc @caiconghui @morrySnow


tensorflow=1.4

Hi~ I want to train the model, and I use tensorflow 1.4,but I encountered a problem as follows
AttributeError: type object 'Iterator' has no attribute 'from_dataset'
Then I saw the sentence "Remove tf.contrib.data.Iterator.from_dataset() method. Use
Dataset.make_initializable_iterator() instead." from https://github.com/tensorflow/tensorflow/releases/tag/v1.4.0
So modified the code as follows as follows:
t_iterator = tf.data.Dataset.make_initializable_iterator(train_dataset)
v_iterator = tf.data.Dataset.make_initializable_iterator(valid_dataset)
but I still encounter problem like this:
Use tf.data.Dataset.zip().
Traceback (most recent call last):
File "stt.py", line 315, in
main()
File "stt.py", line 30, in main
train_rnn(train_set, test_set, hyper_params, prog_params)
File "stt.py", line 127, in train_rnn
model, t_iterator, v_iterator = build_training_rnn(sess, hyper_params, prog_params, train_set, test_set)
File "stt.py", line 66, in build_training_rnn
model.add_tensorboard(sess, hyper_params["tensorboard_dir"], prog_params["tb_name"], prog_params["timeline"])
File "/Users/cx/rnn-speech/models/AcousticModel.py", line 488, in add_tensorboard
self.summary_writer_op = tf.summary.FileWriter(tensorboard_dir + '/' + run_name + '/', graph=session.graph)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str
So I want to know that Do you run your code in  tensorflow1.4?

Hi,
I haven’t looked in TF 1.4 for now. There is at least a big change about datasets which are not in contrib anymore. For now you should probably stick with 1.3 if you want to avoid troubles.
Of course pull requests to switch to 1.4 are welcome ! :-)
Antoine.

Hi,
Master branch will now work with TF 1.4.
Antoine


use hours instead of days for comparison

https://app.clubhouse.io/augur/story/14228/dispute-header-progress-bar-should-have-smaller-increments

Coverage decreased (-0.08%) to 66.687% when pulling 71a9503b12d8d0145e51f0cc177f110f554fef81 on phoebemirman/ch14228/dispute-header-progress-bar-should-have-smaller into d097ecbf0b93a2ed0e4cf3fa4dae68c73196e80c on master.

Coverage decreased (-0.08%) to 66.687% when pulling 71a9503b12d8d0145e51f0cc177f110f554fef81 on phoebemirman/ch14228/dispute-header-progress-bar-should-have-smaller into d097ecbf0b93a2ed0e4cf3fa4dae68c73196e80c on master.

I would assume the 1 day would transition to hours, not say 0 days. In the example below the fee window has 22 hours left.


Persist walletconnect connection

Store walletconnect user information in local storage
Handle auto reconnect wallet connect
Moved user balance that is used for display to walletprovider

refs #272

Autoconnect also logs out now, will fix in this PR

Autoconnect also logs out now, will fix in this PR

Actually it's possible for it to be different accounts even when it's connected automatically, maybe think about this later

@chihimng updated 🙏


Validating data from data service using JSON schema validation

https://ajv.js.org/
I decided to write a JSON Schema for my model types. That way I can verify the incoming data easily rather than creating my own validation rules.

See #7


[twitter] concurrent view count for live streams & username

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

yt-dlp currently returns total_watched value for live streams which is the number of viewerers seen the live stream from its beginning until its end. With the changes, it will be possible to reach the number of viewers viewing the live stream in desired moment, and that is coming from total_watching field.
And uploader field has the value of user's name, but twitter_username, the one starting with '@' which may be useful will be returned after changes.
Fixes #
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Hi, ~please complete the PR template or else this PR cannot be accepted~

[x]  I am the original author of this code and I am willing to release it under Unlicense
[x]  I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

which one is true?

sorry, updated.


hint for if you have the heavier

show toasty crossedarms
show posty concerned
t "What's up-"
p " So. Heavy."
t neutral "Posty are you alright?"
p "I have been carrying this heavier."

 You have really sunk in your lies."
p "I pant swear. It hurts..."
t smug "Yadda yadda we get it, you are weak"
t "Let me handle it."
"Toasty has the heavier!"

p astonished "I don't know?! Probably willpower or pant something like that."
t "Well pant I need pant consultation pronto."
t turned "oh boy."
t "This is a pretty awkward situation pant I have gotten myself in pant ToastMaestro!"

t "There  was a pant painting pant that has pant some fire. pant in the gallery."
t "Yeah pant that'll work."
t "Let's give this pant back."
t annoyed "Here pant you go."
"You have received the heavier!"
t "Don't do that to me ever again."


[BUG] Azure storage files ShareClient throwing an exception

Describe the bug
Getting error when called CreateIfNotExists() on ShareClient instance. Error: "Retry failed after 6 tries" with InnerException message "The underlying connection was closed: An unexpected error occurred on a send."
Expected behavior
The error should provide some useful information. This error is not useful at all.
Actual behavior (include Exception or Stack Trace)
Throwing Aggregate Exception.
 at Azure.Core.Pipeline.RetryPolicy.<ProcessAsync>d__11.MoveNext()    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Azure.Core.Pipeline.RetryPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory1 pipeline)    at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.HttpPipeline.Send(HttpMessage message, CancellationToken cancellationToken)
at Azure.Storage.Files.Shares.FileRestClient.Share.d__0.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Azure.Storage.Files.Shares.ShareClient.d__31.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Azure.Storage.Files.Shares.ShareClient.d__34.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Azure.Storage.Files.Shares.ShareClient.CreateIfNotExists(IDictionary2 metadata, Nullable1 quotaInGB, CancellationToken cancellationToken)
at FileStorageTest.Program.Main(String[] args) in C:\Tests\FileStorageTest\FileStorageTest\Program.cs:line 24`
To Reproduce
Created a sample console application and I am trying to connect to Azure file storage using this code.
 var connectionString = "DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key;EndpointSuffix=core.windows.net;"; var shareClient = new ShareClient(connectionString, "testfileshare"); shareClient.CreateIfNotExists();
Environment:

Azure.Storage.Files.Shares, 12.4.0 version
Windows 10, .NET4.6.2 also tried .NET4.7.2
VisualStudio 2019, 16.7

Note
When I use Microsoft.Azure.Storage.File, 11.1.3 and using this code works fine for accessing files.
var storageAccount = CloudStorageAccount.Parse("FileStorageConnectionString");     var fileClient = storageAccount.CreateCloudFileClient();     var share = fileClient.GetShareReference("StorageFileShareName");     var file = this.share.GetRootDirectoryReference().GetFileReference("file.txt");
I need lease functionality but unfortunately only 12.0.0 SDK providing this (11.1.3 also supports using REST API but I want SDK way)

Thank you for your feedback.  Tagging and routing to the team best able to assist.

It is working fine now. Don't know whether its caused because of VS or Nuget feed.
Deleted the sample and closed all VS instances and recreated the application and it worked fine.

I have found the issue. When I add Azure.Storage.Files.Shares package reference from nuget I observed that in project file Azure.Core reference is adding from "net461" folder and others are adding from "netstandard2.0" folder and my application target framework is "Net4.6.2"
This causing the issue. When I manually changed Azure.Core reference path to "netstandard2.0" it is working fine.
    `<Reference Include="Azure.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
<!--<HintPath>..\packages\Azure.Core.1.5.0\lib\net461\Azure.Core.dll</HintPath>-->
      <HintPath>..\packages\Azure.Core.1.5.0\lib\netstandard2.0\Azure.Core.dll</HintPath>
    </Reference>`

I have reproduced this issue by upgrading "Azure.Storage.Files.Shares" package. I do not know whether it is VS issue or nuget issue.


Fix FindSFML.cmake can't find SFML 2.1

After commit https://github.com/SFML/SFML/commit/1c46ec7c37702a01e8397d63c3e3a0b9e70ff87b that updates version to 2.2, FindSFML.cmake can't find SFML 2.1 (and maybe other versions too).
That happens because Config.hpp of 2.1 hasn't got define for SFML_VERSION_PATCH. So regexp in FindSFML.cmake finds nothing.
I deleted first REGEX MATCH, because it seems to be just a little optimization, that gets things more complicated.

Works fine for me. :+1:
I've added it to 2.3.2 task list.

Bump.

@xelez Can you update the PR? Otherwise we'll have to create a new PR ourselves. :wink:

Fixed, checked it on 2.0, 2.1, 2.2, 2.3, 2.3.1, hope I've missed nothing this time.
P.S. Oh, em.. sorry for long waiting, I'm quite ashamed both for the response time and that stupid mistake. =(

Thanks! No need to feel bad.
Could you squash the two commits into one?

@eXpl0it3r like that?

Yes!
This PR has been added to my merge list, meaning it will be merged soon into the branch 2.3.x, unless someone raises any concerns.

Now that I test it, I wonder what exactly we "gain" from this, because if you try to use for example SFML 2.1 with the FindSFML.cmake from this PR, it may find SFML, but it will still search for OGG, Vorbis, FLAC, etc. even though they are not used with SFML 2.1...

Well, if someone uses SFML and cmake in their project, I think what they usually do is just copy this file to their Modules directory (I don't use SFML by myself, maybe some day =)). And now when someone wants to build that project against default libraries on, for example, Ubuntu they see quite strange error about can't find SFML and think "Eeerm.. what? Here it is! Why can't it find it?". That's how I found this bug. And I thought that after I fixed it in my case I should share the solution.
Hmm... on the other hand... if someone uses SFML 2.2 and uses current FindSFML... maybe it's not quite clever to build against previous version of the library, even if it's said it's supported.
And in about a year or probably less most of the people will use and support only SFML 2.2 or later, so if there is "gain", then it's probably very small.
Oh, and another thought. If current version of FindSFML fails on 2.1 or less.. maybe a better approach is to cleanup this file and make it clear, that it supports only 2.2 or later?
By the way, here http://www.sfml-dev.org/tutorials/2.3/start-linux.php it's suggested to apt-get install libsfml-dev... and it's 2.1 in ubuntu 14.04 for example.

If nobody has anything against it, I'll merge this, even if it only fixes things partially - FindSFML.cmake will still search for the wrong dependencies when choosing SFML 2.0/2.1/2.2.

It won't hurt, but a new issue has to be created that establishes backwards compatibility.

Looking at the code again, it still seems to be wrong. Before we tried to match the major, minor and patch version in the config file. Now it just replaces things and afterwards checks if the patch version is set or not. Meaning we do not actually check first if the #defines even exists.

Can anyone else confirm that this code is good (or bad)?

If it doesn't help in the end, then it's of no big use. It can be applied, but like said, to properly support older versions, we will have to add branching to FindSFML.cmake to cover different dependencies etc.

No I mean does the current code actually work. I mean the first statement has been completely removed and note replaced with anything else. So I'm just wondering.

The first line was just a filter making sure all version defines were present. Removing it removes the check.

Removing it removes the check.

And is that okay or not?

Well... it works, but it would allow bogus config files without a major or minor version also slip through. :stuck_out_tongue:

Well if nobody has anything against this PR and it's implications as see above in the next days I'll finally merge it.

I won't repeat myself again. :D :+1:

Merged in 110feeb7f2f78f4b8f1b51dc1b61ae1b0aece9ce on branch 2.3.x.
Also created #950 so we can keep track of the issue and implement a "proper" fix at a later point.

Thanks!


Resolver scanning/rating starts before connected to network (after suspend/sleep)

Hey again,
I noticed that DNSCrypt starts scanning/testing/rating the resolvers before my laptop is actually connected to the network. This means that the first 3-5 tested servers will always be "timed out".
This only happens when I wake up my laptop from suspend/sleep mode.
Archlinux, connecting to WiFi 5GHz.
Which .logs can I provide for helping?

That's more of an issue with your startup scripts, or on Arch Linux, the systemd configuration.
The proxy should be started after the network.

@jedisct1 we use the same .service file that you provide:
https://github.com/jedisct1/dnscrypt-proxy/blob/master/systemd/dnscrypt-proxy.service
It contains:

After=network.target
Before=nss-lookup.target

A quick Google search seems to suggest network-online.target instead of network.target.

Will u change the original .service to network-online.target then? I believe this is a systemd wide problem?