toml can't parse large u64 numbers

There seems to be a bug with parsing large u64 values, reproducible in Playground.
Code:
use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, Serialize)]
struct U64Test {
    pub value: u64,
}

fn main() {
    let text = toml::to_string(&U64Test { value:<PHONE_NUMBER>6341154300 }).unwrap();
    println!("{text}");
    let new: U64Test = toml::from_str(&text).unwrap();
    println!("value = {0}", new.value);
}

Error:
Compiling playground v0.0.1 (/playground)
    Finished release [optimized] target(s) in 3.88s
     Running `target/release/playground`

value =<PHONE_NUMBER>6341154300

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { inner: ErrorInner { kind: NumberInvalid, line: Some(0), col: 8, at: Some(8), message: "", key: [] } }', src/main.rs:11:46
stack backtrace:
   0: rust_begin_unwind
             at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:575:5
   1: core::panicking::panic_fmt
             at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:64:14
   2: core::result::unwrap_failed
             at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/result.rs:1791:5
   3: playground::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

I was also able to reproduce this bug locally on macOS.
Note: I suspect this is a different bug from #511. Feel free to close if you feel like it's a duplicate.

This is expected behavior.  Integers are parsed as i64, disallowing u64::MAX from being parsed.
We could possibly allow the parser to parse i128 instead but

That should only be opt-in
The i64 type is exposed in the parser's (toml_edit) API in a way that enabling this with a feature flag would be a breaking change
Making toml_edit::Value / toml_edit::Item / toml_edit::Document generic over this would negatively impact the usability of the API.

Without a path forward for this, I'm inclined to mark this as not-planned.  Feel free to continue discussion and maybe we find a way to re-open and resolve this one day.

Thanks for the extra detail!
I expect an encoding library to be able to properly encode/decode the values I give it, and in particular, be able to decode the values it can encode. Breaking this contract leads to data loss.
In order of preference, I'd rather:

If it builds, toml supports it (aka: support u64).
If it builds, and toml doesn't fully support a type, throw an error when Encoding and Decoding. If u64::MAX can't be stored, raise the error promptly.
~Store u64 as string?~ Please no :)
Having to opt into u64 support, with a warning that not all values can be encoded.

The current behavior feels wrong today, so in my opinion this is worth a breaking change

serde does not let us do compile-time errors for unsupported types.
And we are erroring when parsing the unsupported values as demonstrated in this Issue and I just fixed your other Issue so we now error when writing unsupported values.
I had considered dropping support for u64 as value-dependent errors are more likely to cause people problems but decided not to for now as (1) I didn't think it was worth a breaking change and (2) u64s can generally be useful still.  We can always revisit that later.


release: v1.9.0

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Testing
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_cpu[keras.test.Dockerfile-required_packages0] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_cpu[scipy.test.Dockerfile-required_packages4] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_cpu[pandas.test.Dockerfile-required_packages7] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_cpu[sm-python-sdk.test.Dockerfile-required_packages8] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_cpu[pytorch.examples.Dockerfile-required_packages9] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[keras.test.Dockerfile-required_packages0] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[scipy.test.Dockerfile-required_packages4] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[sm-python-sdk.test.Dockerfile-required_packages8] - assert 1 == 0
FAILED test/test_dockerfile_based_harness.py::test_dockerfiles_for_gpu[pytorch.examples.Dockerfile-required_packages9] - assert 1 == 0

keras: Documented here. we pin to an old commit in test which works with 2.12, but not with 2.14;  ran test locally without pin and it succeeds. Will fix in followup to dynamically get correct tests.

scipy: Documented here: Tests fail with E   TypeError: 'dia_matrix' object is not subscriptable or E   TypeError: 'coo_matrix' object is not subscriptable

pytorch: Several failures all related to file not found, running locally found that we're missing sudo apt install libsdl2-dev libsdl2-2.0-0 -y which is now needed for tests. After adding this tests succeed.

pandas: Documented here:

sm-python-sdk`: Documented here: Each test failed with either

FileNotFoundError: [Errno 2] No such file or directory: 'docker' - expected; we don't have docker client in testing environment
botocore.exceptions.NoCredentialsError: Unable to locate credentials - also expected; we don't have creds in testing environment

GPU and CPU variants have different versions of tensorflow. We can keep them consistent at 2.14.0

We calculate the closure separately so we can get the highest versions, given the constraints. GPU has additional constraint but I don't think we need to dock CPU because of that. Customers are used to 2.15 and we should keep it wherever possible.


Add character clearing when connection is closed

Disconnected characters should be put onto a backlog until their db sync process is fullfilled or some configuration based timer is filled.


[Tables] Migrate recordings

Packages impacted by this PR
@azure/data-tables
Issues associated with this PR
N/A
Describe the problem that is addressed by this PR
Migrating recordings to test-assets

API change check
API changes are not detected in this pull request.


CLI: Fix paths for v2+ packages

Codecov Report

Merging #50 (16de1ed) into master (c145957) will increase coverage by 4.23%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
+ Coverage   95.11%   99.35%   +4.23%
==========================================
  Files          18        6      -12
  Lines        1352      616     -736
==========================================
- Hits         1286      612     -674
+ Misses         47        3      -44
+ Partials       19        1      -18

Flag
Coverage Δ

cli
?

package
99.35% <ø> (ø)

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

Impacted Files
Coverage Δ

cmd/ensure/internal/cmd/mocks.go

cmd/ensure/internal/mockwrite/mock_destination.go

cmd/ensure/internal/mockwrite/mockwrite.go

cmd/ensure/internal/mockwrite/tidy_mocks.go

cmd/ensure/internal/mockgen/mockgen.go

cmd/ensure/internal/ifacereader/ifacereader.go

cmd/ensure/internal/ensurefile/ensurefile.go

cmd/ensure/internal/fswrite/fswrite.go

cmd/ensure/internal/uniqpkg/uniqpkg.go

cmd/ensure/internal/ensurefile/validation.go

... and 2 more

Continue to review full report at Codecov.

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


getting bitmap value null for decodePath

Hi Team,
Getting bmp value null for below implementation.
String filePath = "file:///data/user/0/com.app.doctor/cache/com.ciscowebex.sdk.downloads/thumb-c0d0e7e6-0e90-43e6-b36a-2ad684b0f5fd-file_example_TIFF_1MB1402900616ORIGINAL_Aircraft_Rescue_Firefighting_training.tiff";

Bitmap bmp = TiffBitmapFactory.decodePath(filePath);
imageView.setImageBitmap(bmp);

kindly help me with this.

Sorry for long replay) could you provide some logs?
Also why path to file is so strange? do you use content provider to get file?


Hide footer when collapsed mode is on

Assigning to @simong for review

The event title can probably be a bit smaller in favor of giving the organisers and location a bit more space

The columns don't align with the batch edit fields:


Failed to initiate a USSD on phone

After making a payload as a dictionary and passing it into charge
res = rave.UGMobile.charge(payload)
I get a dic with status of success nad chargemessage as pending Payment validation but no USSD notification to enter password

hi, @ssekuwanda  are u on live or test mode. also, can u share your payload here

This is a telco issue, the number was not enabled for STK push.


ubuntu: error: couldn't read version from server:

I just follow the guide https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/ubuntu.md. All the thing I do is just copy the guide. But it comes to something wrong. It says that error: couldn't read version from server: the server could not find the requested resource
The whole output is as follows
weicheng@ubuntu:~/kubernetes/cluster$ KUBERNETES_PROVIDER=ubuntu ./kube-up.sh
...
Deploying minion on machine <IP_ADDRESS>

config-default.sh                                                                                100% 2951     2.9KB/s   00:00
util.sh                                                                                100%   14KB  13.9KB/s   00:00
reconfDocker.sh                                                                                100% 1493     1.5KB/s   00:00
etcd.conf                                                                                100%  576     0.6KB/s   00:00
kubelet.conf                                                                                100%  634     0.6KB/s   00:00
kube-proxy.conf                                                                                100%  648     0.6KB/s   00:00
flanneld.conf                                                                                100%  569     0.6KB/s   00:00
kube-proxy                                                                                100% 2230     2.2KB/s   00:00
flanneld                                                                                100% 2159     2.1KB/s   00:00
kubelet                                                                                100% 2162     2.1KB/s   00:00
etcd                                                                                100% 2073     2.0KB/s   00:00
kube-proxy                                                                                100%   17MB  16.9MB/s   00:00
flanneld                                                                                100% 8695KB   8.5MB/s   00:00
etcdctl                                                                                100% 6041KB   5.9MB/s   00:01
kubelet                                                                                100%   34MB  34.0MB/s   00:00
etcd                                                                                100% 6494KB   6.3MB/s   00:00
[sudo] password to copy files and start minion:
etcd start/running, process 7169
Connection to <IP_ADDRESS> closed.
Deploying minion on machine <IP_ADDRESS>

config-default.sh                                                                                100% 2951     2.9KB/s   00:00
util.sh                                                                                100%   14KB  13.9KB/s   00:00
reconfDocker.sh                                                                                100% 1493     1.5KB/s   00:00
etcd.conf                                                                                100%  576     0.6KB/s   00:00
kubelet.conf                                                                                100%  634     0.6KB/s   00:00
kube-proxy.conf                                                                                100%  648     0.6KB/s   00:00
flanneld.conf                                                                                100%  569     0.6KB/s   00:00
kube-proxy                                                                                100% 2230     2.2KB/s   00:00
flanneld                                                                                100% 2159     2.1KB/s   00:00
kubelet                                                                                100% 2162     2.1KB/s   00:00
etcd                                                                                100% 2073     2.0KB/s   00:00
kube-proxy                                                                                100%   17MB  16.9MB/s   00:00
flanneld                                                                                100% 8695KB   8.5MB/s   00:00
etcdctl                                                                                100% 6041KB   5.9MB/s   00:00
kubelet                                                                                100%   34MB  34.0MB/s   00:01
etcd                                                                                100% 6494KB   6.3MB/s   00:00
[sudo] password to copy files and start minion:
etcd start/running, process 7206
Connection to <IP_ADDRESS> closed.
Validating master
Validating<EMAIL_ADDRESS>Validating<EMAIL_ADDRESS>Validating<EMAIL_ADDRESS>
Kubernetes cluster is running.  The master is running at:

  http://<IP_ADDRESS>:8080

Using master <IP_ADDRESS>
Wrote config for ubuntu to /home/weicheng/.kube/config
... calling validate-cluster.sh
error: couldn't read version from server: the server could not find the requested resource

Waiting for 3 ready nodes. 0 ready nodes, 0 registered. Retrying.
error: couldn't read version from server: the server could not find the requested resour

Hmm...Did all of the components function well?
Seems that the nodes are not quite ready according to the logs.

@dalanlan How can I check those components? I am a new one to kubenetes :)

maybe ps -ef | grep kube?
Just try to figure out whether kube-apiserver, kubelet, kube-proxy, controller, scheduler all properly run on master node and also kube-proxy & kubelet for minion node.

@dalanlan I just ps -ef | grep kube and find that
 34057 pts/2    00:00:00 kube-up.sh
 34318 ?        00:00:05 kubelet
 34319 ?        00:00:00 kube-scheduler
 34322 ?        00:00:04 kube-controller
 34323 ?        00:00:01 kube-proxy

in my master node, and
 22202 ?        00:00:04 kubelet
 22204 ?        00:00:00 kube-proxy

in my both minion nodes

They R not running indeed, I assume. Could u provide ur env plz? platform, docker version, sort of.

@dalanlan My env is as follows(a little mess)
XDG_SESSION_ID=2
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=<IP_ADDRESS> 19534 22
SSH_TTY=/dev/pts/0
USER=weicheng
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
ETCDROOT=/home/weicheng/etcd
MAIL=/var/mail/weicheng
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/weicheng/go/bin:/home/weicheng/etcd
PWD=/home/weicheng
LANG=en_HK.UTF-8
SHLVL=1
HOME=/home/weicheng
GOROOT=/home/weicheng/go
LANGUAGE=en_HK:en
LOGNAME=weicheng
SSH_CONNECTION=<IP_ADDRESS> 19534 <IP_ADDRESS> 22
GOPATH=/home/weicheng/BitTorrent Sync/MIT6.824
LESSOPEN=| /usr/bin/lesspipe %s
XDG_RUNTIME_DIR=/run/user/1000
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/env

All my nodes' platform is ubuntu 14.04LTS, and docker version is
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64

And the others is etcd-2.0.12, flannel-0.4.0

Check /var/log/upstart/kube-apiserver.log plz.

@dalanlan  The log is like this
E0728 19:40:15.187668   34321 reflector.go:136] Failed to list *api.Secret: the server could not find the requested resource (get secrets)
E0728 19:40:16.187002   34321 reflector.go:136] Failed to list *api.LimitRange: the server could not find the requested resource (get limitRanges)
E0728 19:40:16.187381   34321 reflector.go:136] Failed to list *api.ServiceAccount: the server could not find the requested resource (get serviceAccounts)
E0728 19:40:16.187525   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:16.187733   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:16.188044   34321 reflector.go:136] Failed to list *api.ResourceQuota: the server could not find the requested resource (get resourceQuotas)
E0728 19:40:16.188145   34321 reflector.go:136] Failed to list *api.Secret: the server could not find the requested resource (get secrets)
E0728 19:40:17.188126   34321 reflector.go:136] Failed to list *api.LimitRange: the server could not find the requested resource (get limitRanges)
E0728 19:40:17.188442   34321 reflector.go:136] Failed to list *api.ResourceQuota: the server could not find the requested resource (get resourceQuotas)
E0728 19:40:17.188533   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:17.193032   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:17.193121   34321 reflector.go:136] Failed to list *api.ServiceAccount: the server could not find the requested resource (get serviceAccounts)
E0728 19:40:17.193542   34321 reflector.go:136] Failed to list *api.Secret: the server could not find the requested resource (get secrets)
E0728 19:40:18.189068   34321 reflector.go:136] Failed to list *api.ResourceQuota: the server could not find the requested resource (get resourceQuotas)
E0728 19:40:18.189199   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:18.189931   34321 reflector.go:136] Failed to list *api.LimitRange: the server could not find the requested resource (get limitRanges)
E0728 19:40:18.193957   34321 reflector.go:136] Failed to list *api.ServiceAccount: the server could not find the requested resource (get serviceAccounts)
E0728 19:40:18.194012   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:18.194324   34321 reflector.go:136] Failed to list *api.Secret: the server could not find the requested resource (get secrets)
E0728 19:40:19.190410   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:19.192499   34321 reflector.go:136] Failed to list *api.LimitRange: the server could not find the requested resource (get limitRanges)
E0728 19:40:19.192718   34321 reflector.go:136] Failed to list *api.ResourceQuota: the server could not find the requested resource (get resourceQuotas)
E0728 19:40:19.194754   34321 reflector.go:136] Failed to list *api.ServiceAccount: the server could not find the requested resource (get serviceAccounts)
E0728 19:40:19.195168   34321 reflector.go:136] Failed to list *api.Namespace: the server could not find the requested resource (get namespaces)
E0728 19:40:19.195281   34321 reflector.go:136] Failed to list *api.Secret: the server could not find the requested resource (get secrets)
I0728 19:40:19.905929   34321 server.go:441] Serving securely on <IP_ADDRESS>:6443
I0728 19:40:19.905946   34321 server.go:483] Serving insecurely on <IP_ADDRESS>:8080
F0728 19:40:19.905980   34321 server.go:484] listen tcp <IP_ADDRESS>:8080: bind: address already in use

8080 port is already in use so you cannot start api-server properly.
Kill that devil and restart your service or change your api-server --insecure-portparam to listen to another port.

@dalanlan Thanks a lot! I fix the problem!
Do make sure all the binaries are distributed properly and flush the etcd data (you can use kube-down.sh simply). Then restart sudo service etcd start.

@dalanlan I try to do the thing U said. But it gave the same thing.
E0728 21:34:36.304507   46708 reflector.go:136] Failed to list *api.ServiceAccount: Get http://<IP_ADDRESS>:8080/api/v1/serviceaccounts: dial tcp <IP_ADDRESS>:8080: connection refused
E0728 21:34:36.504343   46708 reflector.go:136] Failed to list *api.LimitRange: Get http://<IP_ADDRESS>:8080/api/v1/limitranges: dial tcp <IP_ADDRESS>:8080: connection refused
E0728 21:34:36.704493   46708 reflector.go:136] Failed to list *api.Secret: Get http://<IP_ADDRESS>:8080/api/v1/secrets?fieldSelector=type%3Dkubernetes.io%2Fservice-account-token: dial tcp <IP_ADDRESS>:8080: connection refused
F0728 21:34:36.781823   46708 controller.go:80] Unable to perform initial IP allocation check: unable to persist the updated service IP allocations: 501: All the given peers are not reachable (failed to propose on members [http://<IP_ADDRESS>:4001] twice [last error: Unexpected HTTP status code]) [0]

Make sure you do all those stuff on masters & minions.
I believe you have some issues with etcd, or you can confirm that via /var/log/upstart/etcd.log

@dalanlan OK! finally I fix the problem..though I do not the the reason...Anyway, thx for your kindly help!

HI @SunWeicheng0001 , @dalanlan
I am following
http://containertutorials.com/get_started_kubernetes/index.html#installation
I got stuck at same problem as @SunWeicheng0001  was facing.
But However, i am not seeing any thing running
                                                                                100% 6494KB   6.3MB/s   00:00

kube-proxy                                                                                100%   17MB  16.8MB/s   00:01
flanneld                                                                                100% 8695KB   8.5MB/s   00:00
etcdctl                                                                                100% 6041KB   5.9MB/s   00:01
Warning: etcd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Connection to <IP_ADDRESS> closed.
Validating master
Validating<EMAIL_ADDRESS>Kubernetes cluster is running.  The master is running at:
http://<IP_ADDRESS>
FLANNEL_NET
<IP_ADDRESS>/16
Using master <IP_ADDRESS>
Wrote config for ubuntu to /root/.kube/config
... calling validate-cluster
error: couldn't read version from server: Get http://<IP_ADDRESS>:8080/api: dial tcp <IP_ADDRESS>:8080: connection refused
It seems etcd not running and closed server.
however i tried this
systemctl daemon-reload
My Env:
Ubuntu 14.04 - On VM

Docker version 1.5.0
etcd Version: 2.0.12

IIUC, you're using the same tricks as this guide, which acts as an official one.
Warning: etcd.service changed on disk. Run 'systemctl daemon-reload' to reload units.

My guess is that you already have another existing etcd binary or service, which may conflict with a new one. A full record of /var/log/upstart/etcd.log would help more.
OTOH this method is not fit for a systemctl manage init system, i'm afraid. Feel free to turn to calico.
/cc @smileynewbie123

@dalanlan  sorry to bother you : )
when I tried to install k8s on ubuntu 14.04 ,I met similar problem with @SunWeicheng0001 ,
when executing kube-up.sh, everything seems ok
Prepare flannel 0.5.5 release ...
Prepare etcd 2.2.1 release ...
Prepare kubernetes 1.1.4 release ...
Done!

Deploying node on machine <IP_ADDRESS>
config-default.sh                                                                                100% 5304     5.2KB/s   00:00
util.sh                                                                                100%   28KB  28.2KB/s   00:00
reconfDocker.sh                                                                                100% 2074     2.0KB/s   00:00
kubelet.conf                                                                                100%  644     0.6KB/s   00:00
kube-proxy.conf                                                                                100%  684     0.7KB/s   00:00
kube-proxy                                                                                100% 2233     2.2KB/s   00:00
kubelet                                                                                100% 2158     2.1KB/s   00:00
flanneld                                                                                100%   16MB  15.8MB/s   00:00
kube-proxy                                                                                100%   19MB  19.0MB/s   00:01
kubelet                                                                                100%   39MB  38.9MB/s   00:00
flanneld.conf                                                                                100%  577     0.6KB/s   00:00
flanneld                                                                                100% 2121     2.1KB/s   00:00
flanneld start/running, process 6963
docker stop/waiting
docker start/running, process 7066
Connection to <IP_ADDRESS> closed.
Validating master
Validating<EMAIL_ADDRESS>Validating<EMAIL_ADDRESS>Validating<EMAIL_ADDRESS>Using master <IP_ADDRESS>
cluster "ubuntu" set.
user "ubuntu" set.
context "ubuntu" set.
switched to context "ubuntu".
Wrote config for ubuntu to /home/ubuntu/.kube/config
... calling validate-cluster
error: couldn't read version from server: an error on the server has prevented the request from succeeding
Waiting for 3 ready nodes. 0 ready nodes, 0 registered. Retrying.
error: couldn't read version from server: an error on the server has prevented the request from succeeding
Waiting for 3 ready nodes. 0 ready nodes, 0 registered. Retrying.

and there are some error info in kube-controller-manager.log
I0302 18:56:32.579646   14624 plugins.go:71] No cloud provider specified.
I0302 18:56:32.584475   14624 nodecontroller.go:133] Sending events to api server.
E0302 18:56:32.584591   14624 controllermanager.go:290] Failed to start service controller: ServiceController should not be run without a cloudprovider.

I0302 18:56:33.593649   14624 controllermanager.go:346] Starting job controller
W0302 18:56:37.588515   14624 nodecontroller.go:576] Missing timestamp for Node <IP_ADDRESS>. Assuming now as a timestamp.
W0302 18:56:37.588540   14624 nodecontroller.go:576] Missing timestamp for Node <IP_ADDRESS>. Assuming now as a timestamp.
W0302 18:56:37.588547   14624 nodecontroller.go:576] Missing timestamp for Node <IP_ADDRESS>. Assuming now as a timestamp.
I0302 18:56:37.588571   14624 event.go:206] Event(api.ObjectReference{Kind:"Node", Namespace:"", Name:"<IP_ADDRESS>", UID:"<IP_ADDRESS>", APIVersion:"", ResourceVersion:"", FieldPath:""}): reason: 'RegisteredNode' Node <IP_ADDRESS> event: Registered Node <IP_ADDRESS> in NodeController
I0302 18:56:37.588615   14624 event.go:206] Event(api.ObjectReference{Kind:"Node", Namespace:"", Name:"<IP_ADDRESS>", UID:"<IP_ADDRESS>", APIVersion:"", ResourceVersion:"", FieldPath:""}): reason: 'RegisteredNode' Node <IP_ADDRESS> event: Registered Node <IP_ADDRESS> in NodeController
I0302 18:56:37.588627   14624 event.go:206] Event(api.ObjectReference{Kind:"Node", Namespace:"", Name:"<IP_ADDRESS>", UID:"<IP_ADDRESS>", APIVersion:"", ResourceVersion:"", FieldPath:""}): reason: 'RegisteredNode' Node <IP_ADDRESS> event: Registered Node <IP_ADDRESS> in NodeController

in kube-proxy.log, there are following errors , and the <IP_ADDRESS> is the address of master node
E0302 18:56:32.598520   14648 server.go:357] Not trying iptables proxy: can't get Node "<IP_ADDRESS>": Get http://<IP_ADDRESS>:8080/api/v1/nodes/<IP_ADDRESS>: dial tcp <IP_ADDRESS>:8080: connection refused
E0302 18:56:32.613726   14648 proxier.go:193] Error removing pure-iptables proxy rule: error checking rule: exit status 2: iptables v1.4.21: Couldn't load target `KUBE-SERVICES':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
E0302 18:56:32.614531   14648 proxier.go:197] Error removing pure-iptables proxy rule: error checking rule: exit status 2: iptables v1.4.21: Couldn't load target `KUBE-SERVICES':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
E0302 18:56:32.615948   14648 event.go:197] Unable to write event: 'Post http://<IP_ADDRESS>:8080/api/v1/namespaces/default/events: dial tcp <IP_ADDRESS>:8080: connection refused' (may retry after sleeping)

and other logs seems ok,
could you give me some advice how to fix it ?

@wangkirin Please check out whether the components are functioning well or not. The log for kube-controller-manager is fine though.

@dalanlan
the output of  ps -ef | grep kube in master node is
root      3290     1  0 09:27 ?        00:00:00 /opt/bin/kube-scheduler --logtostderr=true --master=<IP_ADDRESS>:8080
root      3297     1  0 09:27 ?        00:00:01 /opt/bin/kube-controller-manager --master=<IP_ADDRESS>:8080 --root-ca-file=/srv/kubernetes/ca.crt --service-account-private-key-file=/srv/kubernetes/server.key --logtostderr=true
root      3314     1  1 09:27 ?        00:00:06 /opt/bin/kubelet --hostname-override=<IP_ADDRESS> --api-servers=http://<IP_ADDRESS>:8080 --logtostderr=true --cluster-dns=<IP_ADDRESS> --cluster-domain=cluster.local --config=
root      3324     1  0 09:27 ?        00:00:00 /opt/bin/kube-proxy --hostname-override=<IP_ADDRESS> --master=http://<IP_ADDRESS>:8080 --logtostderr=true
root      3375     1  0 09:27 ?        00:00:03 /opt/bin/kube-apiserver --insecure-bind-address=<IP_ADDRESS> --insecure-port=8080 --etcd-servers=http://<IP_ADDRESS>:4001 --logtostderr=true --service-cluster-ip-range=<IP_ADDRESS>/24 --admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,SecurityContextDeny --service-node-port-range=30000-32767 --advertise-address=<IP_ADDRESS> --client-ca-file=/srv/kubernetes/ca.crt --tls-cert-file=/srv/kubernetes/server.cert --tls-private-key-file=/srv/kubernetes/server.key

and kubectl get nodes is
NAME            LABELS                                 STATUS    AGE
<IP_ADDRESS>   kubernetes.io/hostname=<IP_ADDRESS>   Ready     16h
<IP_ADDRESS>   kubernetes.io/hostname=<IP_ADDRESS>   Ready     16h
<IP_ADDRESS>   kubernetes.io/hostname=<IP_ADDRESS>   Ready     16h

seems the cluster is running well? but why it cannot pass the cluster validation : (

@wangkirin Odd indeed. I'll dig it up once i'm available.
Feel free to create several pods to test it out before you can make sure the cluster is running properly.

@dalanlan
I'm having exactly the same issue.  The server failed to response.  port 8080 is not blocked.   Could you help?  There are tons of http sessions on this server.  This prevent installation from complete due to validation failure.  etcd and apiserver logs seem to be ok.  Any ideas?
root@vz-fdc-op-mon2-vm:/var/log# /root/kubernetes/cluster/ubuntu/binaries/kubectl --server=http://<IP_ADDRESS>:8080 get nodes
Error from server: an error on the server has prevented the request from succeeding
root@vz-fdc-op-mon2-vm:/var/log# telnet <IP_ADDRESS> 8080
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.
root@vz-fdc-op-mon2-vm:/var/log/upstart# cat etcd.log
2016-05-11 21:01:42.572053 I | etcdmain: etcd Version: 2.2.0
2016-05-11 21:01:42.572158 I | etcdmain: Git SHA: e4561dd
2016-05-11 21:01:42.572255 I | etcdmain: Go Version: go1.5
2016-05-11 21:01:42.572287 I | etcdmain: Go OS/Arch: linux/amd64
2016-05-11 21:01:42.572309 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2
2016-05-11 21:01:42.572326 W | etcdmain: no data-dir provided, using default data-dir ./infra.etcd
2016-05-11 21:01:42.573964 I | etcdmain: listening for peers on http://localhost:2380
2016-05-11 21:01:42.574122 I | etcdmain: listening for peers on http://localhost:7001
2016-05-11 21:01:42.574216 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2016-05-11 21:01:42.574268 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2016-05-11 21:01:42.575581 I | etcdserver: name = infra
2016-05-11 21:01:42.575604 I | etcdserver: data dir = infra.etcd
2016-05-11 21:01:42.575613 I | etcdserver: member dir = infra.etcd/member
2016-05-11 21:01:42.575626 I | etcdserver: heartbeat = 100ms
2016-05-11 21:01:42.575634 I | etcdserver: election = 1000ms
2016-05-11 21:01:42.575641 I | etcdserver: snapshot count = 10000
2016-05-11 21:01:42.575655 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2016-05-11 21:01:42.575665 I | etcdserver: initial advertise peer URLs = http://localhost:2380,http://localhost:7001
2016-05-11 21:01:42.575680 I | etcdserver: initial cluster = infra=http://localhost:2380,infra=http://localhost:7001
2016-05-11 21:01:42.823842 I | etcdserver: starting member ce2a822cea30bfca in cluster 7e27652122e8b2ae
2016-05-11 21:01:42.823915 I | raft: ce2a822cea30bfca became follower at term 0
2016-05-11 21:01:42.823940 I | raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-05-11 21:01:42.823958 I | raft: ce2a822cea30bfca became follower at term 1
2016-05-11 21:01:42.824120 I | etcdserver: starting server... [version: 2.2.0, cluster version: to_be_decided]
2016-05-11 21:01:42.824687 N | etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
2016-05-11 21:01:43.224210 I | raft: ce2a822cea30bfca is starting a new election at term 1
2016-05-11 21:01:43.224321 I | raft: ce2a822cea30bfca became candidate at term 2
2016-05-11 21:01:43.224334 I | raft: ce2a822cea30bfca received vote from ce2a822cea30bfca at term 2
2016-05-11 21:01:43.224357 I | raft: ce2a822cea30bfca became leader at term 2
2016-05-11 21:01:43.224371 I | raft: raft.node: ce2a822cea30bfca elected leader ce2a822cea30bfca at term 2
2016-05-11 21:01:43.224815 I | etcdserver: setting up the initial cluster version to 2.2
2016-05-11 21:01:43.226145 N | etcdserver: set the initial cluster version to 2.2
2016-05-11 21:01:43.226510 I | etcdserver: published {Name:infra ClientURLs:[http://<IP_ADDRESS>:4001]} to cluster 7e27652122e8b2ae
2016-05-11 21:15:34.727195 N | osutil: received terminated signal, shutting down...
2016-05-11 21:21:29.577228 I | etcdmain: etcd Version: 2.2.0
2016-05-11 21:21:29.577297 I | etcdmain: Git SHA: e4561dd
2016-05-11 21:21:29.577306 I | etcdmain: Go Version: go1.5
2016-05-11 21:21:29.577314 I | etcdmain: Go OS/Arch: linux/amd64
2016-05-11 21:21:29.577327 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2
2016-05-11 21:21:29.577337 W | etcdmain: no data-dir provided, using default data-dir ./infra.etcd
2016-05-11 21:21:29.577578 I | etcdmain: listening for peers on http://localhost:2380
2016-05-11 21:21:29.577652 I | etcdmain: listening for peers on http://localhost:7001
2016-05-11 21:21:29.577693 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2016-05-11 21:21:29.577724 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2016-05-11 21:21:29.577883 I | etcdserver: name = infra
2016-05-11 21:21:29.577906 I | etcdserver: data dir = infra.etcd
2016-05-11 21:21:29.577924 I | etcdserver: member dir = infra.etcd/member
2016-05-11 21:21:29.577932 I | etcdserver: heartbeat = 100ms
2016-05-11 21:21:29.577939 I | etcdserver: election = 1000ms
2016-05-11 21:21:29.577955 I | etcdserver: snapshot count = 10000
2016-05-11 21:21:29.577966 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2016-05-11 21:21:29.577989 I | etcdserver: initial advertise peer URLs = http://localhost:2380,http://localhost:7001
2016-05-11 21:21:29.578003 I | etcdserver: initial cluster = infra=http://localhost:2380,infra=http://localhost:7001
2016-05-11 21:21:30.185187 I | etcdserver: starting member ce2a822cea30bfca in cluster 7e27652122e8b2ae
2016-05-11 21:21:30.185249 I | raft: ce2a822cea30bfca became follower at term 0
2016-05-11 21:21:30.185264 I | raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-05-11 21:21:30.185269 I | raft: ce2a822cea30bfca became follower at term 1
2016-05-11 21:21:30.185428 I | etcdserver: starting server... [version: 2.2.0, cluster version: to_be_decided]
2016-05-11 21:21:30.186261 N | etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
2016-05-11 21:21:30.585587 I | raft: ce2a822cea30bfca is starting a new election at term 1
2016-05-11 21:21:30.585716 I | raft: ce2a822cea30bfca became candidate at term 2
2016-05-11 21:21:30.585743 I | raft: ce2a822cea30bfca received vote from ce2a822cea30bfca at term 2
2016-05-11 21:21:30.585777 I | raft: ce2a822cea30bfca became leader at term 2
2016-05-11 21:21:30.585788 I | raft: raft.node: ce2a822cea30bfca elected leader ce2a822cea30bfca at term 2
2016-05-11 21:21:30.586588 I | etcdserver: setting up the initial cluster version to 2.2
2016-05-11 21:21:30.586890 I | etcdserver: published {Name:infra ClientURLs:[http://<IP_ADDRESS>:4001]} to cluster 7e27652122e8b2ae
2016-05-11 21:21:30.589198 N | etcdserver: set the initial cluster version to 2.2
root@vz-fdc-op-mon2-vm:/var/log/upstart# cat /var/log/upstart/kube-apiserver.log
I0511 21:01:42.644970   10965 plugins.go:71] No cloud provider specified.
[restful] 2016/05/11 21:01:43 log.go:30: [restful/swagger] listing is available at https://<IP_ADDRESS>:6443/swaggerapi/
[restful] 2016/05/11 21:01:43 log.go:30: [restful/swagger] https://<IP_ADDRESS>:6443/swaggerui/ is mapped to folder /swagger-ui/
W0511 21:01:43.238069   10965 controller.go:212] Resetting endpoints for master service "kubernetes" to &{{ } {kubernetes  default    0 0001-01-01 00:00:00 +0000 UTC   map[] map[]} [{[{<IP_ADDRESS> }] [] [{ 6443 TCP}]}]}
I0511 21:01:43.242477   10965 server.go:609] Serving securely on <IP_ADDRESS>:6443
I0511 21:01:43.242688   10965 server.go:651] Serving insecurely on <IP_ADDRESS>:8080
I0511 21:21:29.649408   12591 server.go:188] Will report <IP_ADDRESS> as public IP address.
I0511 21:21:29.649502   12591 plugins.go:71] No cloud provider specified.
I0511 21:21:29.649587   12591 server.go:112] constructing etcd storage interface.
sv: v1
mv: __internal
I0511 21:21:29.649681   12591 genericapiserver.go:82] Adding storage destination for group
I0511 21:21:29.649702   12591 server.go:296] Configuring extensions/v1beta1 storage destination
I0511 21:21:29.649722   12591 server.go:112] constructing etcd storage interface.
sv: extensions/v1beta1
mv: extensions/__internal
I0511 21:21:29.649776   12591 genericapiserver.go:82] Adding storage destination for group extensions
I0511 21:21:29.649790   12591 genericapiserver.go:82] Adding storage destination for group autoscaling
I0511 21:21:29.649801   12591 genericapiserver.go:82] Adding storage destination for group batch
I0511 21:21:29.649815   12591 server.go:325] Configuring autoscaling/v1 storage destination
I0511 21:21:29.649828   12591 server.go:339] Using autoscaling/v1 for autoscaling group storage version
I0511 21:21:29.649966   12591 server.go:112] constructing etcd storage interface.
sv: autoscaling/v1
mv: extensions/__internal
I0511 21:21:29.650090   12591 genericapiserver.go:82] Adding storage destination for group autoscaling
I0511 21:21:29.650110   12591 server.go:352] Configuring batch/v1 storage destination
I0511 21:21:29.650122   12591 server.go:366] Using batch/v1 for batch group storage version
I0511 21:21:29.650308   12591 server.go:112] constructing etcd storage interface.
sv: batch/v1
mv: extensions/__internal
I0511 21:21:29.650403   12591 genericapiserver.go:82] Adding storage destination for group batch
[restful] 2016/05/11 21:21:30 log.go:30: [restful/swagger] listing is available at https://<IP_ADDRESS>:443/swaggerapi/
[restful] 2016/05/11 21:21:30 log.go:30: [restful/swagger] https://<IP_ADDRESS>:443/swaggerui/ is mapped to folder /swagger-ui/
W0511 21:21:30.609705   12591 controller.go:262] Resetting endpoints for master service "kubernetes" to &{{ } {kubernetes  default    0 0001-01-01 00:00:00 +0000 UTC   map[] map[]} [{[{<IP_ADDRESS> }] [] [{https 6443 TCP}]}]}
I0511 21:21:30.612418   12591 genericapiserver.go:692] Serving securely on <IP_ADDRESS>:6443
I0511 21:21:30.612627   12591 genericapiserver.go:734] Serving insecurely on <IP_ADDRESS>:8080


Add check for semver with head substring

Add check for semver with head substring. The IsRelease function needs to
be able to discern a v2.X-head branch from a release.
Related issue: #29362

Spoke to Darren about using IsValid from the official semver library. That may be an option for the future, but this fix is non-intrusive. Added unit test.

Unit test...

Unit test output...
[nickgerace at rancherbook in ~/git/nickgerace/rancher-root/rancher/src/github.com/rancher/rancher/pkg/settings] (0) (issue-29362)
% go test -v -run TestIsRelease
=== RUN   TestIsRelease
--- PASS: TestIsRelease (0.00s)
PASS
ok  	github.com/rancher/rancher/pkg/settings	0.263s

Merging after successful build after talking to Dan.


[Flaky test] UploadAsync_WithUnreliableConnection

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=484399&view=ms.vss-test-web.build-test-results-tab&runId=12427772&resultId=108838&paneView=debug

Error message
System.IndexOutOfRangeException : Index was outside the bounds of the array.

Stack trace
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at System.Linq.Enumerable.LastOrDefault[TSource](IEnumerable`1 source)
   at Azure.Storage.Test.Shared.StorageTestBase.<WaitForProgressAsync>d__37.MoveNext() in D:\a\1\s\sdk\storage\Azure.Storage.Common\tests\Shared\StorageTestBase.cs:line 342
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Azure.Storage.Blobs.Test.BlockBlobClientTests.<UploadAsync_WithUnreliableConnection>d__66.MoveNext() in D:\a\1\s\sdk\storage\Azure.Storage.Blobs\tests\BlockBlobClientTests.cs:line 1992
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Azure.Storage.Blobs.Test.BlockBlobClientTests.<UploadAsync_WithUnreliableConnection>d__66.MoveNext() in D:\a\1\s\sdk\storage\Azure.Storage.Blobs\tests\BlockBlobClientTests.cs:line 2011
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.GetResult()
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

cc @kasobol-msft
this test often fails in core nightly runs. Can it be disabled?

@seanmcc-msft  @jaschrep-msft

https://github.com/Azure/azure-sdk-for-net/pull/14213


Feature 1309 - adding the secret for idam

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link
Change description
Does this PR introduce a breaking change? (check one with "x")
[x] Yes
[ ] No

Merging this with console logs for now. The code should be refactored with logger later.


[BUG]: Powerstore Multiple iSCSI network support for CSI driver

Bug Description
Customer needs to be able to address multiple iSCSI networks with the driver. As it stands, the driver is only able to address one iSCSI network.
Following is referenced:
Container Storage Modules | Dell Technologies
Dell PowerStore CSI Driver 1.3 for Kubernetes and RedHat OpenShift – What’s New? - Itzikr's Blog (volumes.blog)
Dell Container Storage Modules (CSM) v1.3, Are now available - Itzikr's Blog (volumes.blog)
Customers Environment:
Our architecture looks like this:

As you can see, there are different network connections for accessing the PowerStore appliances depending on the "consumer". The networks are completely separated from each other.
Our Kubernetes nodes easily reach the IP addresses from the network <IP_ADDRESS>/26.
The installation of the CSI driver was carried out according to https://dell.github.io/csm-docs/docs/csidriver/installation/helm/powerstore/ [dell.github.io] controllers, and node pods were launched. All Kubernetes nodes are registered on the PowerStore system.
But that was it. It is not possible to define volumes by PVC, the PVC remain in the "Pending" state.
If you take a closer look at this, you will see that none of the Kubernetes nodes can establish an iSCSI connection to the storage system.
In the Node-Driver Logs (see below) there are indications that the driver only tries to establish an iSCSI connection to one address per storage system – and for the first one. The cause lies in https://github.com/dell/csi-powerstore/blob/72b2d20fa739cb5ea9176fe0faaeab122d3d485d/pkg/node/node.go#L1104 [github.com]
There, the FIRST of all available portal IP addresses is simply used to perform a discovery – the driver tacitly assumes that he can reach this address.
However, this does not work for us due to the network separation outlined above. The 10.21.0.x addresses are not reachable (and this is intentional). And even if you were reachable – what if this is not the best possible path? Why can't you just specify the iSCSI addresses to be used for discovery when defining the "Conenction Information" to the PowerStore array?
And something else – the support for "Kubernetes Topology Support" is also rather sparse.
„This Topology support does not include customer-defined topology, users cannot create their own labels for nodes, they must use whatever labels are returned by the driver and applied automatically by Kubernetes on its nodes.“
Unfortunately, it is not possible for us to distribute workloads to storage systems in different zones/regions. This is easily implemented by other providers (e.g. PureStorage, NetApp, etc.).
Logs
{"level":"debug","msg":"REQUEST: GET /api/rest/ip_pool_address?order=id\u0026purposes=cs.%7BStorage_Iscsi_Target%7D\u0026select=address%2Cappliance_id%2Cid%2Cip_port_id%2Cip_port%28target_iqn%2C+id%29%2Cnetwork_id%2Cnode_id%2Cpurposes HTTP/1.1 Host: <IP_ADDRESS> Application-Type: CSI Driver for Dell EMC PowerStore/2.4.0 Authorization: ******  ","time":"2022-12-12T08:54:07.858570747Z"}
{"level":"debug","msg":"RESPONSE: HTTP/1.1 200 OK Content-Length: 1116 Cache-Control: no-cache Cache-Control: no-store Cache-Control: must-revalidate Cache-Control: max-age=0 Content-Language: en-US Content-Type: application/json Dell-Emc-Token: ****** Expires: -1 Set-Cookie: auth_cookie=; Path=/; Secure; HTTPOnly X-Content-Type-Options: nosniff  [{"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP18","ip_port_id":"IP_PORT8","network_id":"NW6","node_id":"N2","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-b-526000c7","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP19","ip_port_id":"IP_PORT4","network_id":"NW6","node_id":"N1","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-a-212fa3f1","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP27","ip_port_id":"IP_PORT4","network_id":"NW9","node_id":"N1","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-a-212fa3f1","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP28","ip_port_id":"IP_PORT8","network_id":"NW9","node_id":"N2","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-b-526000c7","id":"IP_PORT8"}}]\n","time":"2022-12-12T08:54:07.871344367Z"}
{"level":"debug","msg":"release a lock","time":"2022-12-12T08:54:07.871501772Z"}
{"level":"error","msg":"couldn't discover targets","time":"2022-12-12T08:55:42.889865867Z"}
{"level":"debug","msg":"REQUEST: GET /api/rest/ip_pool_address?order=id\u0026purposes=cs.%7BStorage_Iscsi_Target%7D\u0026select=address%2Cappliance_id%2Cid%2Cip_port_id%2Cip_port%28target_iqn%2C+id%29%2Cnetwork_id%2Cnode_id%2Cpurposes HTTP/1.1 Host: <IP_ADDRESS> Application-Type: CSI Driver for Dell EMC PowerStore/2.4.0 Authorization: ******  ","time":"2022-12-12T08:55:42.890253514Z"}
{"level":"debug","msg":"acquire a lock","time":"2022-12-12T08:55:42.890281898Z"}
{"level":"debug","msg":"RESPONSE: HTTP/1.1 200 OK Content-Length: 1118 Cache-Control: no-cache Cache-Control: no-store Cache-Control: must-revalidate Cache-Control: max-age=0 Content-Language: en-US Content-Type: application/json Dell-Emc-Token: ****** Expires: -1 Set-Cookie: auth_cookie=; Path=/; Secure; HTTPOnly X-Content-Type-Options: nosniff  [{"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP18","ip_port_id":"IP_PORT4","network_id":"NW6","node_id":"N1","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-a-441a8e01","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP19","ip_port_id":"IP_PORT8","network_id":"NW6","node_id":"N2","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-b-173a1ac4","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP21","ip_port_id":"IP_PORT8","network_id":"NW7","node_id":"N2","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-b-173a1ac4","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP22","ip_port_id":"IP_PORT4","network_id":"NW7","node_id":"N1","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-a-441a8e01","id":"IP_PORT4"}}]\n","time":"2022-12-12T08:55:42.909870839Z"}
{"level":"debug","msg":"release a lock","time":"2022-12-12T08:55:42.90994131Z"}
{"level":"info","msg":"/csi.v1.Identity/GetPluginInfo: REQ 0003: XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:56:09.54592005Z"}
{"level":"info","msg":"/csi.v1.Identity/GetPluginInfo: REP 0003: Name=csi-powerstore.dellemc.com, VendorVersion=2.4.0, Manifest=map[commit:bdb868e360b2a72ab58a0c766e7760031cc75721 formed:Wed, 21 Sep 2022 09:21:25 UTC semver:2.4.0 url:https://github.com/dell/csi-powerstore [github.com]], XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:56:09.546021677Z"}
{"level":"info","msg":"/csi.v1.Node/NodeGetInfo: REQ 0004: XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:56:10.93849792Z"}
{"level":"debug","msg":"REQUEST: GET /api/rest/ip_pool_address?order=id\u0026purposes=cs.%7BStorage_Iscsi_Target%7D\u0026select=address%2Cappliance_id%2Cid%2Cip_port_id%2Cip_port%28target_iqn%2C+id%29%2Cnetwork_id%2Cnode_id%2Cpurposes HTTP/1.1 Host: <IP_ADDRESS> Application-Type: CSI Driver for Dell EMC PowerStore/2.4.0 Authorization: ******  ","time":"2022-12-12T08:56:10.939137008Z"}
{"level":"debug","msg":"acquire a lock","time":"2022-12-12T08:56:10.939205016Z"}
{"level":"debug","msg":"RESPONSE: HTTP/1.1 200 OK Content-Length: 1116 Cache-Control: no-cache Cache-Control: no-store Cache-Control: must-revalidate Cache-Control: max-age=0 Content-Language: en-US Content-Type: application/json Dell-Emc-Token: ****** Expires: -1 Set-Cookie: auth_cookie=; Path=/; Secure; HTTPOnly X-Content-Type-Options: nosniff  [{"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP18","ip_port_id":"IP_PORT8","network_id":"NW6","node_id":"N2","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-b-526000c7","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP19","ip_port_id":"IP_PORT4","network_id":"NW6","node_id":"N1","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-a-212fa3f1","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP27","ip_port_id":"IP_PORT4","network_id":"NW9","node_id":"N1","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-a-212fa3f1","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP28","ip_port_id":"IP_PORT8","network_id":"NW9","node_id":"N2","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-b-526000c7","id":"IP_PORT8"}}]\n","time":"2022-12-12T08:56:10.958444176Z"}
{"level":"debug","msg":"release a lock","time":"2022-12-12T08:56:10.958643968Z"}
Error discovering <IP_ADDRESS>:3260: exit status 4
{"level":"error","msg":"couldn't discover targets","time":"2022-12-12T08:57:17.927256833Z"}
{"level":"info","msg":"/csi.v1.Node/NodeGetInfo: REP 0002: NodeId=k8s01-csi-node-29817fed32084f169eef5ff1c423189a-<IP_ADDRESS>, MaxVolumesPerNode=0, AccessibleTopology=segments:\u003ckey:"csi-powerstore.dellemc.com/<IP_ADDRESS>-nfs" value:"true" \u003e segments:\u003ckey:"csi-powerstore.dellemc.com/<IP_ADDRESS>-nfs" value:"true" \u003e , XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:57:17.927425096Z"}
{"level":"error","msg":"couldn't discover targets","time":"2022-12-12T08:57:45.974360928Z"}
Error discovering <IP_ADDRESS>:3260: exit status 4
{"level":"debug","msg":"REQUEST: GET /api/rest/ip_pool_address?order=id\u0026purposes=cs.%7BStorage_Iscsi_Target%7D\u0026select=address%2Cappliance_id%2Cid%2Cip_port_id%2Cip_port%28target_iqn%2C+id%29%2Cnetwork_id%2Cnode_id%2Cpurposes HTTP/1.1 Host: <IP_ADDRESS> Application-Type: CSI Driver for Dell EMC PowerStore/2.4.0 Authorization: ******  ","time":"2022-12-12T08:57:45.974699415Z"}
{"level":"debug","msg":"acquire a lock","time":"2022-12-12T08:57:45.974738096Z"}
{"level":"debug","msg":"RESPONSE: HTTP/1.1 200 OK Content-Length: 1118 Cache-Control: no-cache Cache-Control: no-store Cache-Control: must-revalidate Cache-Control: max-age=0 Content-Language: en-US Content-Type: application/json Dell-Emc-Token: ****** Expires: -1 Set-Cookie: auth_cookie=; Path=/; Secure; HTTPOnly X-Content-Type-Options: nosniff  [{"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP18","ip_port_id":"IP_PORT4","network_id":"NW6","node_id":"N1","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-a-441a8e01","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP19","ip_port_id":"IP_PORT8","network_id":"NW6","node_id":"N2","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-b-173a1ac4","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP21","ip_port_id":"IP_PORT8","network_id":"NW7","node_id":"N2","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-b-173a1ac4","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP22","ip_port_id":"IP_PORT4","network_id":"NW7","node_id":"N1","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214119-a-441a8e01","id":"IP_PORT4"}}]\n","time":"2022-12-12T08:57:45.989144089Z"}
{"level":"debug","msg":"release a lock","time":"2022-12-12T08:57:45.989330716Z"}
{"level":"info","msg":"/csi.v1.Identity/GetPluginInfo: REQ 0005: XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:58:24.044202533Z"}
{"level":"info","msg":"/csi.v1.Identity/GetPluginInfo: REP 0005: Name=csi-powerstore.dellemc.com, VendorVersion=2.4.0, Manifest=map[commit:bdb868e360b2a72ab58a0c766e7760031cc75721 formed:Wed, 21 Sep 2022 09:21:25 UTC semver:2.4.0 url:https://github.com/dell/csi-powerstore [github.com]], XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:58:24.044396166Z"}
{"level":"info","msg":"/csi.v1.Node/NodeGetInfo: REQ 0006: XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:58:26.022487322Z"}
{"level":"debug","msg":"REQUEST: GET /api/rest/ip_pool_address?order=id\u0026purposes=cs.%7BStorage_Iscsi_Target%7D\u0026select=address%2Cappliance_id%2Cid%2Cip_port_id%2Cip_port%28target_iqn%2C+id%29%2Cnetwork_id%2Cnode_id%2Cpurposes HTTP/1.1 Host: <IP_ADDRESS> Application-Type: CSI Driver for Dell EMC PowerStore/2.4.0 Authorization: ******  ","time":"2022-12-12T08:58:26.022928301Z"}
{"level":"debug","msg":"acquire a lock","time":"2022-12-12T08:58:26.022977766Z"}
{"level":"debug","msg":"RESPONSE: HTTP/1.1 200 OK Content-Length: 1116 Cache-Control: no-cache Cache-Control: no-store Cache-Control: must-revalidate Cache-Control: max-age=0 Content-Language: en-US Content-Type: application/json Dell-Emc-Token: ****** Expires: -1 Set-Cookie: auth_cookie=******; Path=/; Secure; HTTPOnly X-Content-Type-Options: nosniff  [{"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP18","ip_port_id":"IP_PORT8","network_id":"NW6","node_id":"N2","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-b-526000c7","id":"IP_PORT8"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP19","ip_port_id":"IP_PORT4","network_id":"NW6","node_id":"N1","purposes":["Storage_Iscsi_Target","External_Replication_Iscsi"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-a-212fa3f1","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP27","ip_port_id":"IP_PORT4","network_id":"NW9","node_id":"N1","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-a-212fa3f1","id":"IP_PORT4"}},   {"address":"<IP_ADDRESS>","appliance_id":"A1","id":"IP28","ip_port_id":"IP_PORT8","network_id":"NW9","node_id":"N2","purposes":["Storage_Iscsi_Target"],"ip_port":{"target_iqn":"iqn.2015-10.com.dell:dellemc-powerstore-crk00224214120-b-526000c7","id":"IP_PORT8"}}]\n","time":"2022-12-12T08:58:26.03736463Z"}
{"level":"debug","msg":"release a lock","time":"2022-12-12T08:58:26.037508509Z"}
{"level":"error","msg":"couldn't discover targets","time":"2022-12-12T08:59:21.010931295Z"}
{"level":"info","msg":"/csi.v1.Node/NodeGetInfo: REP 0004: NodeId=k8s01-csi-node-29817fed32084f169eef5ff1c423189a-<IP_ADDRESS>, MaxVolumesPerNode=0, AccessibleTopology=segments:\u003ckey:"csi-powerstore.dellemc.com/<IP_ADDRESS>-nfs" value:"true" \u003e segments:\u003ckey:"csi-powerstore.dellemc.com/<IP_ADDRESS>-nfs" value:"true" \u003e , XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2022-12-12T08:59:21.011059326Z"}
Error discovering <IP_ADDRESS>:3260: exit status 4
Error discovering <IP_ADDRESS>:3260: exit status 4
Screenshots
No response
Additional Environment Information
No response
Steps to Reproduce
Configure multiple iSCSI networks on the array and install the driver.
Expected Behavior
Driver should address multiple iSCSI networks.
CSM Driver(s)
CSI Driver for PowerStore v2.5
Installation Type
No response
Container Storage Modules Enabled
No response
Container Orchestrator
Kubernetes 1.25
Operating System
CentOS

The issue has been fixed and will be released in CSM 1.6.


Select field not working with keyboard

What RMWC Version are you using [major.minor.patch]:
4.0.0, but isn't working in the demo's either (4.0.3)
https://jamesmfriedman.github.io/rmwc/select-menus
Name your build system [Webpack, Rollup...]:
Webpack
Describe the bug with as much detail as possible:
When trying to select an option in a select menu with a keyboard, the default behavior is disabled.
Expected behavior:
When focused on the select menu, I can select the options with up and down arrows.
What really happens:
Pressing up and down arrows does nothing. I can switch with left and right arrows though, but even as a seeing user this took me a long time to figure out (as this is not default behavior). For accessibility, this is a major issue.

Select menus now have an enhanced Variant that uses a non native menu. Is this issue using the enhanced or native version of the select?

I am aware that the enhanced version does work with keyboard, however that control is nonstandard. For accessibility it is important that the native control works as expected. The native version of the select doesn't work with up and down key arrows.

Just noticed this as well. Navigating between the inputs works fine, but I can't change the option.
Try to navigate between the selects only using the keyboard and try to select options in in this demo:
https://jamesmfriedman.github.io/rmwc/select-menus
And then try this, here it works:
https://material-components.github.io/material-components-web-catalog/#/component/select

Fixed with the release of V5


Low Prediction Metrics

Dear Organizers,
I have encountered an unusual issue with my prediction metrics. When testing locally and using the Grand Challenge Algorithm platform, the outputs for Oral-pharyngeal segmentation files closely match the results I obtain. However, after submitting my results to the Preliminary Phase, the metrics are extremely low.
To investigate further, I used the evaluation script provided at evaluation.py to calculate Dice and Hausdorff Distance (HD) locally. The results were significantly different from those shown on the Grand Challenge platform. For example, for ToothFairy2F_065_0000.mha (where the prediction appears consistent with the ground truth in ITK-SNAP 3D visualization), the average Dice coefficient I calculated locally is 0.914. However, the platform displays a Dice coefficient of 0.091 (as seen here).

This discrepancy is not only limited to Dice coefficients but also affects HD and other cases. I would like to inquire if the input images and ground truth labels you use internally are the same as those in  imagesTr and labelsTr. Have you performed similar tests to validate the consistency of the evaluation script? Could this issue be related to discrepancies in the evaluation script or the Grand Challenge platform itself?
Thank you for your assistance in resolving this matter.
Best,
Pengcheng

Dear PengchengShi1220,
I'm sorry for not getting back to you sooner. We have thoroughly investigated the issue you're experiencing with the evaluation Docker.

The results were significantly different from those shown on the Grand Challenge platform. For example, for ToothFairy2F_065_0000.mha (where the prediction appears consistent with the ground truth in ITK-SNAP 3D visualization), the average Dice coefficient I calculated locally is 0.914. However, the platform displays a Dice coefficient of 0.091

Upon reviewing your algorithm output on the Grand Challenge platform, it appears significantly different from the screenshot you provided. This discrepancy aligns with the lower Dice score you observed on the Grand Challenge platform. You can view and download both the input images and your algorithm's output directly from the platform.

I would like to inquire if the input images and ground truth labels you use internally are the same as those in imagesTr and labelsTr

We have verified that the input images and ground truth labels used internally are indeed identical to those in imagesTr and labelsTr. We checked the SHA1 hashes of each image and label to ensure consistency.

Have you performed similar tests to validate the consistency of the evaluation script? Could this issue be related to discrepancies in the evaluation script or the Grand Challenge platform itself?

We have tested the evaluation script both locally and on the Grand Challenge platform using our example algorithm. The results were consistent across both environments, confirming that the evaluation script is functioning correctly.
So I think that the problem may be hidden in your algorithm code. If you have any further questions or need additional assistance, please let us know.
Best regards,
Luca Lumetti

Dear Luca Lumetti,
Thank you for your thorough investigation and detailed response.
Yes, I have downloaded and reviewed the file 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha. As shown in my screenshot, the prediction on the right side is exactly the same as the one in 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha.

Could you please help resolve the issue?
Best regards,
Pengcheng Shi

Dear @PengchengShi1220,
I can see that the names of your files do not correspond with the names I can see from the platform. On your algorithm results page, which are actually the values employed by the Docker evaluation algorithm and are generated upon submission of the algorithm, I see the following:

Oral-pharyngeal segmentation: 007fecaa-228a-439a-af7f-93ddfc5... (.mha)
Oral-pharyngeal segmentation: 695618c7-2ec5-4f10-acd5-0dcb52c... (.mha)
Oral-pharyngeal segmentation: 26611819-d5a8-43bd-bfd6-7612295... (.mha)
Oral-pharyngeal segmentation: 052ce942-40dd-4a15-95a5-cc632c4... (.mha)

Upon downloading, the four different files are named, respectively:

e139ac8b-3a1d-457a-9208-04f6ce2a72bc.mha
22af04a6-f6e9-4732-a3ca-b2c02b3040c3.mha
e735b680-afe6-4f11-98ba-76f75c687e2d.mha
2fc4fee9-696e-45dc-9937-75ea811610cc.mha

I cannot find any file named 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha. Could you please specify where you downloaded this file from?
Thank you,
Luca

Dear Luca,
Thank you for your detailed message. The file 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha was generated during the Algorithm phase using the same Docker setup. My input file was imagesTr/ToothFairy2F_065_0000.mha, and the output was the file 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha. I'm not sure if you can see this file, but it should correspond to the input mentioned above.

I downloaded:

Oral-pharyngeal segmentation: 989476a7-eea5-41c5-a8fa-bb34801... (.mha) which resulted in 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha
Oral-pharyngeal segmentation: 3cfee360-92af-4e38-8aca-a15c399... (.mha) which resulted in 4a1374e5-09e3-4604-b364-9a5f0f9d78c1.mha

Yes, the four files you referred to are indeed my submission results. Among them, e139ac8b-3a1d-457a-9208-04f6ce2a72bc.mha is the output corresponding to ToothFairy2F_065_0000.mha. There is a significant difference between 69780988-6d7e-4bb9-8dbe-6865c9132a26.mha and e139ac8b-3a1d-457a-9208-04f6ce2a72bc.mha, with Dice scores of 0.914 and 0.091 respectively, which indicates a potential issue.
I hope this clarifies the situation.
Best,
Pengcheng

Dear Pengcheng,
My guess is that you are doing the submission in a wrong way.
Once you update your algorithm, you can test it through the algorithm page but every test of this kind has nothing to do with the challenge itself.
This is visible because the creator is your account instead of Unknown (which means that our challenge created it during your submission).
Please, be sure that the algorithm docker image (or github repository) is update and perform again the resubmission from our challenge page: https://toothfairy2.grand-challenge.org/evaluation/preliminary-phase-release-of-training-data/submissions/create/
It would require some minutes, then we will see if the metrics have changed.
Best regards,
Luca Lumetti

Dear Luca,
Thank you for your feedback and guidance.
I want to clarify that my algorithm was indeed the last one uploaded and activated, as shown in the images provided. The Algorithm ID and Algorithm version are both cb7450ed-e992-4b14-b1bc-61e177626003.

Best regards,
Pengcheng

Hi Luca,
I have noticed a significant discrepancy between my input data ToothFairy2F_065_0000.mha (989476a7-eea5-41c5-a8fa-bb348016807c.mha) and the test data ToothFairy2F_065_0000.mha (007fecaa-228a-439a-af7f-93ddfc53b0b2.mha), including differences in file size and grayscale range. I will re-download the latest version of the data and conduct further checks.

Best,
Pengcheng

Hi @PengchengShi1220,
On 2024-06-13, we updated the F volumes. You can review the changes in the changelog on ditto. The new values have been projected into the HU scale through a simple linear transformation. This means you should be able to correct your data without needing to retrain your model.
If you missed this update, there might be other changes you're not aware of. Therefore, I recommend re-downloading the latest version of the dataset to ensure you have the most current information (and in this case, suggest a model retraining). Please note that the dataset will not undergo any further updates until the end of the challenge.
Luca

Hi Luca,
Thank you for your clarification and suggestions. I will download the latest version of the dataset and retrain the model before submitting another attempt.
Best,
Pengcheng

Hi Luca,
Thank you for your help. After downloading the latest version of the dataset and retraining the model, the issue has been resolved.
Best,
Pengcheng


Generic components require generic types to be PartialEq

#[derive] is not perfect (funnily enough, I wrote this before I found the Rust blog quotation, where they mention it being "Perfect derive"), and Rust generates impls with that derived trait also present for generic parameters (e.g. derive(Clone) does impl<T: Clone> Clone for ...). This would happen even for instances when the requirement for the generic parameter is not required (e.g. an Rc<T> field means the struct does not actually require Clone on T).
yew-autoprops does #[derive(PartialEq)], which means when generating impls Rust will place such a requirement on the generic parameters as well. This means following example will not be valid:
#[autoprops_component]
pub fn Example<T>(something: Rc<T>) {
    html! {}
}

As it comes up with the following error:
can't compare `T` with `T`
no implementation for `T == T`
- required for `ExampleProps<T>` to implement `PartialEq`
- required by a bound in `Properties`
- consider further restricting type parameter `T`: `, T: std::cmp::PartialEq`

As all props fields are probably expected to be PartialEq (which isn't always the case with derive), I suggest manually implementing PartialEq for the props struct, containing comparisons for all the fields:
impl<T> PartialEq for ExampleProps<T> {
    fn eq(&self, other: &Self) -> bool {
        #pats_modified_1 = self; // adds _1 to each field, you also have to check that no name ends with _1/_2, otherwise add more underscores i guess
        #pats_modified_2 = other; // adds _2 to each field
        #comparisons // prop_1 == prop_2 && another_prop_1 == another_prop_2 && ...
    }
}

For generic parameters that are to be used directly as a type of a prop field, the user will have to declare them as PartialEq, which is the case for both derive and manual impl solutions.
This is a breaking problem (you cannot implement a custom PartialEq, unlike with non-autoprops props), and fixing it would improve experience of using generics by a lot compared to non-autoprops components.

Fixed in my port of yew-autoprops


docs(migrating-from-react-use.story.mdx): Add mention about not imple…

What is the problem?
useBeforeUnload will not be migrated from react-use since we already have implemented useEventListener.
What changes does this PR make to fix the problem?
Add a mention about this to the migration guide.
Checklist

[X] Is there an existing issue for this PR?

#33

@xobotyi Sorry, had a little trouble with the damn formatting there and wanted to remove a line where there were some unnecessary white space changes.

:tada: This PR is included in version 17.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Turn safety_checker=None into functioning Boolean

Hi there! First of all, awesome repo!! Thanks to you I am able to run it locally on a GPU!
Is your feature request related to a problem? Please describe.
In the pipeline step the safety_checker is set to None. But it does not act like a toggle. Looking in the stable diffusion pipelines code, it looks like the filter is completely disabled.
Describe the solution you'd like
For a project I am working on in a public space, I would like to be able to enable/disable the switch by setting the parameter in the pipeline to True or False, instead of None.
Describe alternatives you've considered
I reversed the nsfw related lines in commits
0c931ada2601f889c8af924452e8c77ae086b271
and
1067ed862d5839f9888bb78672f9bfb1e07e6fac
But it does not seem to be able to reactivate the nsfw checker, so I cannot turn it into a Boolean that can be toggled myself right now.

Hi, I can't change it to boolean as I plan to keep this fork as close to the main branch. I have completely disabled nsfw checker. To use it you can use the main branch https://github.com/huggingface/diffusers
The main branch also has the optimizations as in my fork now.


Library

Please add a function that allows you to "swipe" from category to another one the the library and not necessarily "click" on the title

Very possible to do however wont be a high priority.


generics events

Hi,
when registering method event listeners for different generics, event dispatcher calls both
eg:
@EventBusListenerMethod
public void a(EditEntity<Bean1> e){
	System.out.println("a");
}
@EventBusListenerMethod
public void b(EditEntity<Bean2> e){
	System.out.println("b");
}

if i send a new EditEntity < Bean1> () message both methods are called

I was going to report a bug about not able to use payload types with generics e.g. Event<Optional>, but I think this bug is just about the same issue I had. If not, I can report a separate issue


feat: CHIN-1547 - add new prop showOnlyDiscountedPrice

https://byebuyglobaloperations.atlassian.net/browse/CHIN-1547
add new prop showOnlyDiscountedPrice to control widget prices

:tada: This PR is included in version 2.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


CosmWasm v2

Seems Confio just stopped pushing security patches for v1. So we have to migrate to v2 now.
Original: https://github.com/rollchains/spawn/pull/100

ref: Will need to bump heighliner for building docker images in the ci
    uses<EMAIL_ADDRESS>    with:
      # v0.0.1
      heighliner-tag: v1.7.0


Implement support for "Follow Me" feature

Adds support for the "follow me" feature which allows the AC unit to receive temperature readings from the remote control.
From Midea's technology page

For this function to work

The remote control must be in range, and in line of sight of the AC unit
The remote control must manually be put in "follow me" mode so it sends temperature readings. It may be possible to leave this remote continuously in this mode, although battery life will likely decrease.

Close #89
Other references may refer to this function as "feel own",  "personal feeling", "body sense" or "remote sense".

2 users have tested this function with mixed results. One was able to active this function on their device, the other was only able to turn the function off.
This might be a feature that is very device dependent.

Another approach for this feature.
The ESPHome midea component supports "follow me" via IR and can transmit any temperature sensor to the device.
In the example linked below, ESPHome can get any temperatures sensor from HA and transmit it to the AC unit.
https://esphome.io/components/climate/midea#additional-control-options-using-ir-commands


Jwt issuer is not configured

Bug Description
When only JWT is configured without authorizationpolicy. When the header is "authorization", I keep getting "JWT issuer is not configuration". When the header is any other name is OK,I was use “jwt. io” has verified that JWT and jwks are OK。
Because I need to use JWT with authorization, and the authorization policy uses "authorization" to verify JWT, the name "authorization" must be used here.
I want to know why this. Can anyone answer my question?
Would really appreciate
This is my profile
apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
  name: authentication-jwt-token
  namespace: aaa
spec:
  jwtRules:
    -
      forwardOriginalToken: true
      fromHeaders:
        -
          name: x-jwt-assertion
          prefix: "Bearer "
      issuer:  test
      jwksUri: "http://test/jwks"
  selector:
    matchLabels:
      gateways: test-service

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: authorization-peer
  namespace: test
spec:
  action: DENY
  rules:
    -
      from:
        -
          source:
            notRequestPrincipals:
              - "*"
        -
          source:
            namespaces:
              - test
      to:
        -
          operation:
            methods:
              - GET
              - POST
              - PUT
              - DELETE
            notPaths:
              - /admin/login
            paths:
              - /admin
  selector:
    matchLabels:
      app: test-service

Version
client version: 1.13.3
control plane version:1.13.3
data plane version: 1.13.3
Client Version: v1.19.10
Server Version: v1.19.10-r0-CCE22.3.1.B012

Additional Information
No response

In addition to the authorizationpolicy, any header configured can be verified successfully

I solved this problem because JWT is not configured on the ingressgateway .
must configure JWT in both the ingressGateway and the service
Correct configuration:
---
apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
  name: authentication-jwt-token
  namespace: spaceA
spec:
  jwtRules:
    -
      forwardOriginalToken: true
      fromHeaders:
        -
          name: Authorization
          prefix: "Bearer "
      issuer<EMAIL_ADDRESS>      jwksUri: "http://test/jwks"
	  selector:
    matchLabels:
      app: serviceA
---
apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
  name: authentication-jwt-token
  namespace: istio-system
spec:
  jwtRules:
    -
      issuer<EMAIL_ADDRESS>      jwksUri: "http://test/jwks"
      forwardOriginalToken: true
  selector:
    matchLabels:
      istio: ingressgateway

@foreachlife - I'm experiencing a similar issue with the same error. Docs say this:
“A policy in the root namespace (“istio-system” by default) applies to workloads in all namespaces in a mesh”

First, make sure that your JWk is generated correctly and that the prefix is "Bearer ", because istio cannot be recognized when the prefix is other.
Second, you need to configure requestauthentication in istio system and your custom namespace. Refer to the configuration I wrote above.
you can show your configuration.

Does this mean that istio will try to authenticate all traffic coming through the gateway? Is there no way to configure this to only apply to a specific namespace / service?

@karlschriek did you found a way to stop istio from authenticating all traffic ? 😞


DOC: add examples to concat

[x] Closes #4620

Thanks for the feedback.
It was a copy-paste from http://xarray.pydata.org/en/stable/combining.html#concatenate
I'll implement your suggestions in https://github.com/pydata/xarray/blob/master/doc/combining.rst as well.
i.e. use arange for the creation and isel for the index.

Thanks @raybellwaves. Can you address this error?
>>>-------------------------------------------------------------------------
Exception in /home/docs/checkouts/readthedocs.org/user_builds/xray/checkouts/4645/doc/combining.rst at block ending on line 121
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-16-6d6353d21b81> in <module>
----> 1 xr.Dataset({"a": arr[:-1], "b": arr[1:]})

NameError: name 'arr' is not defined
<<<-------------------------------------------------------------------------

Oops one more
>>>-------------------------------------------------------------------------
Exception in /home/docs/checkouts/readthedocs.org/user_builds/xray/checkouts/4645/doc/combining.rst at block ending on line 191
Specify :okexcept: as an option in the ipython:: block to suppress this message
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-25-4cb6d79e0bd5> in <module>
----> 1 arr.equals(arr.copy())

NameError: name 'arr' is not defined
<<<-------------------------------------------------------------------------

Hello @raybellwaves! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/concat.py:

Line 177:1: W293 blank line contains whitespace

I would also run pre-commit run --files doc/combining.rst xarray/core/concat.py once, but that's optional.

I'm doing this PR in my windows machine unfortunately, and pre-commit is a pain on windows. Hopefully it's fine as is.

Hopefully it's fine as is.

no worries, as I said that's optional. I can fix that in a different PR (or this one, if you don't mind me pushing to your branch).

More than welcome to push to mine.

done. Once you update of the doctest output and maybe add a entry to whats-new.rst (Documentation) this should be ready for merging.

I can add to the Whats-new. Not sure how to "update of the doctest output"

sorry about that. I meant that the code examples in the doctest still show the results from before when the input data was randomly generated, and this is the reason why the doctests CI fails.
For example, this: https://github.com/pydata/xarray/blob/4c8642560679c173c2968a2c4186a474bfe97f2d/xarray/core/concat.py#L178-L185
should be:
     >>> xr.concat([da.isel(y=slice(0, 1)), da.isel(y=slice(1, None))], dim="y")
     <xarray.DataArray (x: 2, y: 3)>
     array([[0, 1, 2],
            [3, 4, 5]])
     Coordinates:
       * x        (x) <U1 'a' 'b'
       * y        (y) int64 10 20 30

Not sure if I can do anything for the doctest failing
https://dev.azure.com/xarray/xarray/_build/results?buildId=4491&view=logs&j=e1da92ae-4a54-5c20-3ee1-ef7b06ffcd80&t=5640f7da-bb07-517b-ec85-0b3cfe0ccaa3&l=62
    -  * y        (y) int32 10 20 30
    +  * y        (y) int64 10 20 30

I think you replace all int32 by int64?

Thanks @raybellwaves!


[New(?) feature+boolean for it]

Haven't tested too much since I haven't seen the mod in use in multiplayer yet.
Can the mask possess ALL bodies or does it have some exclusions like coilhead kills, spider wrapped bodies etc.
If so then will the mask heal itself over to seem healthy again or would you end up having a headless zombie or at least a blood drenched masked.
If this isn't in there mod already then It would be nice if it was added and could be enabled/disabled by config.
My pack goes full into the masked being zombies idea so it this would work deliciously with it.

The mask looks for any ragdoll nearby. Then calls the official code for the mimic, which deletes the ragdoll and spawns a mimic based on the original player

Ok so it doesn't keep damage, I am guessing the mod is compatible with maskedenemyoverhaul?

Should be.


API Freezing after ~100 calls in an hour

Hi there, I'm soley using this API to receive live quotes of certain stocks. After a couple quotes the API freezes for around 10 minutes then displays an error

I am having the same problem and it seems to me that this is a new issue as it was working fine up until yesterday.

have you tried to throttle ? Anyway, I've tried north of 500 in 1h, 1x/day, reliably, for weeks so maybe it's an issue in your network or with your internet provider

That's odd... I did a stress test and I was able to do a 1000 calls in a row. No freezing whatsoever.


[LineEdit] Update line edit offset on text delete.

Should fix https://github.com/godotengine/godot/issues/81411 (but I can't reproduce it).

I can confirm that it can fix https://github.com/godotengine/godot/issues/81411

Thanks!


tinny-cuda wont install. CUDA not found

(nerfstudio) root@home:/home/sinicyn/Downloads# pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
Collecting git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
Cloning https://github.com/NVlabs/tiny-cuda-nn/ to /tmp/pip-req-build-b8w1_isc
Running command git clone --filter=blob:none --quiet https://github.com/NVlabs/tiny-cuda-nn/ /tmp/pip-req-build-b8w1_isc
Resolved https://github.com/NVlabs/tiny-cuda-nn/ to commit 14053e9a87ebf449d32bda335c0363dd4f5667a4
Running command git submodule update --init --recursive -q
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [10 lines of output]
/root/anaconda3/envs/nerfstudio/lib/python3.8/site-packages/torch/cuda/init.py:83: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 803: system has unsupported display driver / cuda driver combination (Triggered internally at  ../c10/cuda/CUDAFunctions.cpp:109.)
return torch._C._cuda_getDeviceCount() > 0
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-req-build-b8w1_isc/bindings/torch/setup.py", line 30, in
raise EnvironmentError("Unknown compute capability. Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES environment variable or install PyTorch with the CUDA backend to detect it automatically.")
OSError: Unknown compute capability. Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES environment variable or install PyTorch with the CUDA backend to detect it automatically.
No CUDA runtime is found, using CUDA_HOME='/usr'
Building PyTorch extension for tiny-cuda-nn version 1.7
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Where did you install CUDA_HOME and CUDA_PATH?

I'm trying to install in windows via conda
Installed CUDA 11.3
now these errors

I'm trying to install in windows via conda
Installed CUDA 11.3
now these errors

Can I see a screenshot of your system and user environment variables

I'm trying to install in windows via conda
Installed CUDA 11.3
now these errors

Can I see a screenshot of your system and user environment variables

Try making a CUDA_HOME env variable with the same value as CUDA_PATH in both system and user variables (this way you can do it on both admin and user accounts)

Try making a CUDA_HOME env variable with the same value as CUDA_PATH in both system and user variables (this way you can do it on both admin and user accounts)

now these errors:

Try installing ninja like in this issue https://github.com/NVlabs/tiny-cuda-nn/issues/169#issuecomment-1291990467

I also ran into this problem and tried many solutions. I found the solution here #1177 and installed tiny-cuda-nn thanks to this comment.
To document what I have done to get nerfstudio via conda to work properly:

Installed CUDA 11.7 and VS 2019 and deinstalled all other versions

Created a conda envoriment
conda create --name nerfstudio -y python=3.8
conda activate nerfstudio
python -m pip install --upgrade pip

Installed pytorch
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html

Git cloned tiny-cuda-nn via the repo into miniconda3\envs\nerfstudio\Lib\site-packages
git clone --recursive https://github.com/nvlabs/tiny-cuda-nn
cd tiny-cuda-nn
cmake . -B build
cmake --build build --config RelWithDebInfo -j
(cmake commands run in VS developer command prompt)

Installed nerfstudio
pip install nerfstudio

Reinstalled tiny-cuda-nn via pip
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

How tiny-cuda-nn was installed may not makes sense, but that's what worked in the end. Nerfstudio is now fully functional.

Closing, feel free to reopen if it is still and issue.

This one worked for me but I had to install CUDA 12.1.1 before runing cmake . -B build

solved this by
export TCNN_CUDA_ARCHITECTURES=86
as the error says "Unknown compute capability. Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES environment variable or install PyTorch with the CUDA backend to detect it automatically"
mine's a 3090 Ti GPU

solved this by export TCNN_CUDA_ARCHITECTURES=86 as the error says "Unknown compute capability. Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES environment variable or install PyTorch with the CUDA backend to detect it automatically"
mine's a 3090 Ti GPU

This works very well. Check your GPU version first. Also with that the GCC version because most likely you will need to downgrade to <11. So check it well


[FEATURE]: Performance Impact of Image.BICUBIC Resampling in Face Alignment

Description
In pull request #1269, the face alignment method was changed to use Image.BICUBIC resampling. While this change may improve image quality, it significantly impacts performance.
Performance Testing
I tested the performance impact by running the  ´DeepFace.represent´ function with timeit for 100 rounds. The “yunet” detector and “SFace” face recognition model were used.
from deepface import DeepFace
from deepface.models.FacialRecognition import FacialRecognition

import cv2
import timeit

# Read the image
img = cv2.imread('absolute/path/to/image.jpg')

model_name = "SFace"

model = DeepFace.build_model(model_name=model_name)

execution_time = timeit.timeit('DeepFace.represent(img_path=img, model_name=model_name, detector_backend="yunet")', globals=globals(), number=100)
print(f"Execution time: {execution_time} seconds")

Results

without Image.BICUBIC resampling:
Execution time: 7.931031430998701 seconds
with Image.BICUBIC resampling:
Execution time: 41.79532476099848 seconds

Suggestion
Since the alignment method has no impact on the face recognition performance, it would be beneficial to make the resampling method configurable. This way, users can choose whether to use Image.BICUBIC resampling based on their performance needs.
Environment Details

DeepFace version: 0.0.92
Python version: 3.10.12
Operating System: Ubuntu 24.04
CPU: i7 4770

Additional Info
No response

The sentence Since the alignment method has no impact on the face recognition performance is totally false. As you can confirm from here, alignment increases facial recognition pipeline's accuracy up to 6%.
If you still insist to skip alignment, you already have an option in the input argument. If you set align to False in any function, then this is going to skip alignment. Similarly, you can skip detection as well while setting detector_backend argument to skip.

I could have described the suggestion better. I am using alignment in both situations that I measured.
The with the sentence Since the alignment method has no impact on the face recognition performance was badly shaped. I tried to refer to comment https://github.com/serengil/deepface/pull/1269#issuecomment-2206364746 that expressed that the usage of ´Image.BICUBIC´ resampling doesn't affect the face recognition performance. Thus it would not matter from face recognition perspective if we are using
img = np.array(Image.fromarray(img).rotate(angle))
or
img = np.array(Image.fromarray(img).rotate(angle, resample=Image.BICUBIC)) . Changing the image rotation to the latter has significant performance impact I measured with timeit.
To clarifying further: Both timeit measurements were done with alingment enabled. Faster run (7.931031430998701 seconds) was done with the old image rotation that doesn't use ´Image.BICUBIC´ resampling. The slower run (41.79532476099848 seconds) was done with newer image rotation that uses ´Image.BICUBIC´ resampling.

Okay, I could understand it now.
Your request is fair enough. Thank you for the explanation.

In the current source code, this seems retired already - https://github.com/serengil/deepface/blob/master/deepface/modules/detection.py#L346


When I run 'run_bert.py', I have a error below. How can I fix it

Traceback (most recent call last):
File "run_bert.py", line 218, in
main()
File "run_bert.py", line 211, in main
run_train(args)
File "run_bert.py", line 119, in run_train
trainer.train(train_data=train_dataloader, valid_data=valid_dataloader)
File "/home//Bert-Multi-Label-Text-Classification/pybert/train/trainer.py", line 154, in train
valid_log = self.valid_epoch(valid_data)
File "/home/Bert-Multi-Label-Text-Classification/pybert/train/trainer.py", line 81, in valid_epoch
value = metric.value()
File "/home/Bert-Multi-Label-Text-Classification/pybert/train/metrics.py", line 300, in value
auc = roc_auc_score(y_score=self.y_prob[:, i], y_true=self.y_true[:, i])
File "/home/xyf/anaconda3/envs/py36_torch1.2/lib/python3.6/site-packages/sklearn/metrics/ranking.py", line 355, in roc_auc_score
sample_weight=sample_weight)
File "/home/xyf/anaconda3/envs/py36_torch1.2/lib/python3.6/site-packages/sklearn/metrics/base.py", line 76, in _average_binary_score
return binary_metric(y_true, y_score, sample_weight=sample_weight)
File "/home/xyf/anaconda3/envs/py36_torch1.2/lib/python3.6/site-packages/sklearn/metrics/ranking.py", line 323, in _binary_roc_auc_score
raise ValueError("Only one class present in y_true. ROC AUC score "
ValueError: Only one class present in y_true. ROC AUC score is not defined in that case.

Hi
I met the same error. I think it is beacuse of your train data is Unbalanced data. Some categories have only one instance.You can see roc_auc_score function.
And Chinese?

Hi
I met the same error. I think it is beacuse of your train data is Unbalanced data. Some categories have only one instance.You can see roc_auc_score function.
And Chinese?

yes,I  solved  it


Ability to batch convert all SIDC Symbols from SVG to PNG

Is there currently a way to convert all of the Symbols for every Permutation from SVG to PNG?
Alternatively, Is there currently a way to convert each SIDC code request from an SVG to PNG?
In my use-case, I need to reference an asset as a KML Placemark Icon. The KML spec does not support SVGs, just rasterized graphics.

I don't know if this repo has something like this, but you are going to indeed have a lot of files:
Here is just one example (Land Units) - that uses only 4 of the attributes:
(193 Entity Codes) X (78 Modifier 1's) X (57 Modifier 2's) X (14 Echelons)
Something like PICT might be useful if you did decide to go down the permutation path: https://github.com/Microsoft/pict
A while ago, I did do test code for permutations of a single symbol if you want to get an idea of the business logic involved: https://github.com/csmoore/military-symbols-dotnet/blob/master/Samples/CodePermutations/Program.cs

Thanks for the question @davidbuhler .
There is, currently, not a way to do what you've asked.  There is a C# library of classes here and a way to use those classes to create a Symbol object based on a given SIDC.  The Symbol object can return to a developer a C# Bitmap, which represents the basic symbol for that given SIDC.
You could write an app that cycled through the SIDC components broken out here: https://github.com/Esri/joint-military-symbology-xml/tree/master/samples/name_domains_values or use the JMSML API to cycle through the contents of the XML, build each possible SIDC, and use the JMSML API to create a Bitmap for each constructed SIDC, and then save that Bitmap to whatever format you like.

Noted. Thanks.
Perhaps an Image Dump would be a useful Feature Request?

Yup, noted.  Perhaps you want to rename this issue and make it more like a new feature request, like "Add Symbol Image Dump Capability" and describe what you'd like to see?

User Story: Some organizations need access to symbols based on a MIL Specification (A, B, C, D, or a change set). A feature is needed where a developer can:
Dump all of the symbols as a PNG, based on a MIL STD (or with the pngs divided into a folder by MIL STD. The developer would then move each image permutation to a file server where each image would by accessible by filepath/symbol-code.png
This feature would allow developers to access symbols as rasterized assets, compatible with the KML Specification.


Map resolution

Some maps were aggregated to coarser resolution in order to highlight localised distribution in the profile maps, they are too coarse for the interactive navigation, so we need to replace them with the original (30 arc sec) resolution, and if necessary add an auxiliary layer for highlighting their location.

Here is a list of maps that require change/update:

[ ] TF1.1
[ ] MT1.2
[ ] MT1.3
... etc