BLD: Adding spatial to Meson build

Reference issue

What does this implement/fix?

Additional information

spatial tests fail with the following Traceback,
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/czgdp1807ssd/scipy_project/meson_build/lib/python3.9/site-packages/scipy/spatial/__init__.py", line 101, in <module>
    from ._procrustes import procrustes
  File "/home/czgdp1807ssd/scipy_project/meson_build/lib/python3.9/site-packages/scipy/spatial/_procrustes.py", line 9, in <module>
    from scipy.linalg import orthogonal_procrustes
  File "/home/czgdp1807ssd/scipy_project/meson_build/lib/python3.9/site-packages/scipy/linalg/__init__.py", line 212, in <module>
    from ._decomp_update import *
  File "scipy/linalg/_decomp_update.pyx", line 1, in init scipy.linalg._decomp_update
TypeError: C function scipy.linalg.cython_blas.daxpy has wrong signature (expected void (int *, __pyx_t_5scipy_6linalg_11cython_blas_d *, __pyx_t_5scipy_6linalg_11cython_blas_d *, int *, __pyx_t_5scipy_6linalg_11cython_blas_d *, int *), got void (int *, __pyx_t_11cython_blas_d *, __pyx_t_11cython_blas_d *, int *, __pyx_t_11cython_blas_d *, int *))

Seems like a problem with _decomp_update.pyx.in -> _decomp_update.pyx conversion.

Seems like a problem with _decomp_update.pyx.in -> _decomp_update.pyx conversion.

Oh that's possible, linalg was one of the first modules I did, and maybe I did something odd in the "deal with generated Cython code" department. Let me have a look.

Odd, this passes for me:
$ pytest installdir/lib/python3.9/site-packages/scipy/spatial/tests/test__procrustes.py
...
collected 6 items

installdir/lib/python3.9/site-packages/scipy/spatial/tests/test__procrustes.py ......                 [100%]

That said, the way _decomp_update is built is not quite right, I'll change it to see if that fixes the problem.

There's one new build warning, maybe you can fix that?
../scipy/spatial/qhull_misc.c:3: warning: "trace1" redefined
    3 | #define trace1(args) {}
      |
In file included from ../scipy/spatial/qhull_misc.c:1:
../scipy/spatial/qhull_src/src/qhull_ra.h:81: note: this is the location of the previous definition
   81 | #define trace1(args) {if (qh->IStracing >= 1) qh_fprintf args;}
      |

note that the diff of the fix should also be recorded in qhull_src/README.scipy.

Should I send the fix to main repo?

Yes, that would be great.

I can reproduce the _decomp_update issue now, it's a dependency issue (and hence sensitive to timing, can look non-reproducible). To make the issue clearer, in:
TypeError: C function scipy.linalg.cython_blas.daxpy has wrong signature
(expected vs. got:)
void (int *, __pyx_t_5scipy_6linalg_11cython_blas_d *, __pyx_t_5scipy_6linalg_11cython_blas_d *, int *, __pyx_t_5scipy_6linalg_11cython_blas_d *, int *)
void (int *, __pyx_t_11cython_blas_d *, __pyx_t_11cython_blas_d *, int *, __pyx_t_11cython_blas_d *, int *))

the difference is scipy_6linalg_11cython_blas_d vs cython_blas_d. This happens when the __init__.py and .pxd files are missing when Cython is run. This is the config:
py3.extension_module('_decomp_update',
  [_decomp_update_pyx, _dummy_init, _dummy_init2, _linalg_pxd],
  include_directories : inc_np,
  dependencies : py3_dep,
  install : true,
  subdir : 'scipy/linalg')

and these are the build rules generated:
build scipy/linalg/_decomp_update.pyx: CUSTOM_COMMAND ../scipy/linalg/_decomp_update.pyx.in | ../scipy/_build_utils/tempita.py /home/rgommers/anaconda3/envs/scipy-meson/bin/python3.9
 COMMAND = /home/rgommers/anaconda3/envs/scipy-meson/bin/python3.9 ../scipy/_build_utils/tempita.py ../scipy/linalg/_decomp_update.pyx.in -o scipy/linalg
 description = Generating$ _decomp_update$ with$ a$ custom$ command

build scipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p/scipy/linalg/_decomp_update.pyx.c: cython_COMPILER scipy/linalg/_decomp_update.pyx
 ARGS = --fast-fail -3 -o scipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p/scipy/linalg/_decomp_update.pyx.c

build scipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p/meson-generated_scipy_linalg__decomp_update.pyx.c.o: c_COMPILER scipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p/scipy/linalg/_decomp_update.pyx.c || scipy/__init__.py scipy/linalg.pxd scipy/linalg/__init__.py
 DEPFILE = scipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p/meson-generated_scipy_linalg__decomp_update.pyx.c.o.d
 DEPFILE_UNQUOTED = scipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p/meson-generated_scipy_linalg__decomp_update.pyx.c.o.d
 ARGS = -Iscipy/linalg/_decomp_update.cpython-39-x86_64-linux-gnu.so.p -Iscipy/linalg -I../scipy/linalg -I/home/rgommers/anaconda3/envs/scipy-meson/lib/python3.9/site-packages/numpy/core/include -Iscipy -I/home/rgommers/anaconda3/envs/scipy-meson/include/python3.9 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -w -std=c99 -O2 -g -Wno-unused-function -Wno-conversion -Wno-unused-but-set-variable -Wno-misleading-indentation -Wno-incompatible-pointer-types -fPIC

The second build command misses || scipy/__init__.py scipy/linalg.pxd scipy/linalg/__init__.py. The || operator is a ninja "order dependency". If it's missing, cython can be run before those files are all present.
I've seen this issue once before; I need to write a standalone reproducer to submit the issue to Meson.

The easy workaround is to rerun the build, touching the _decomp_update.pyx.in file - second time around the dependencies will be present in the build dir, so the problem will go away.
The spatial tests still depend on sparse.linalg, so that's the next thing you'll see:
    from scipy.sparse.linalg import LinearOperator
E   ModuleNotFoundError: No module named 'scipy.sparse.linalg'

May be we can update mesondev.sh to run the build twice before installing.

The spatial tests still depend on sparse.linalg, so that's the next thing you'll see:

Okay. Sure.

May be we can update mesondev.sh to run the build twice before installing.

good idea, done in the meson branch now

Great. Moving on to sparse.linalg. Seems like we are doing DFS now.

DFS?

Depth First Search - We are moving to the next module if current one relies on the next. Kind of going in depth in the module dependency graph.


Isolate custom query contents between sessions #280

I replaced localStorage with sessionStorage.

This change should also account for different modes. If in single session mode - the query data should be available in every tab (just like it works right now), but when it runs in multi-session mode it should only use session storage.

@sosedoff maybe I missed something, but is there any option to check which mode is used on JavaScript side? If not I was thinking about passing this piece of information via HTTP header or in payload (/connection or /connect endpoint).

I thought i had it before, but seems like that piece of work has never made it back to master.
Multi-session flag is not currently present in /connection endpoint, so you can add it as well. See example: https://github.com/sosedoff/pgweb/blob/master/pkg/api/api.go#L391

Hmm, I thought about endpoints and I'm not sure whether, in current state of codebase, extending GET /connection will be enough.
Pretty much there are 2 scenarios when connecting to database

GET /connection (400 error) -> POST /connect, we are not connected, we fill form and connect
GET /connection, we are already connected

Adding info about single / multiple session(s) to responses for both endpoints GET /connection and POST /connect seems like a bad idea to me.


Currencies source: use moneyphp/iso-currencies

At this moment we are using @umpirsky library as source for ISOCurrencies. This is incorrect because that library is not a representation of the official ISO4217 currencies.
In turn that library uses symfony/locale which is deprecated. One should now use Symfony/Intl and that library uses ICU as a source. At this moment the symfony library is using ICU data version 55. Apart from the fact that we are way too dependent on updates from multiple projects, I cannot confirm we are actually using the official ISO currencies. The website of ICU is a mess, and a simple search does not lead me to whatever their source is.
Moreover, the current library provides very limited data on a currency. It does provide a translation for every currency's name but we do not need that. We need minor/subunits so we can finally provide a comprehensive solution to all our formatting problems.
Therefore, I created a new library moneyphp/iso-currencies within this organization. It is a very tiny library - and that should stay that way. It uses the official resource for generating two resource files that we could use in this packages. Important fact: it provides minor units for a currency. It is a perfect resource for automatic formatting a currency.
@sagikazarmark How do you feel about this?

Oh, forgot to mention that this gives us better control over currency updates. We need that.

Do we really need a separate repository for that? Can't we simply place a build script in this one? I am all for separating everything, but I also have bad experience, so I think twice or three times before separating anything.
It is still not decided how we do subunits: access repositories or have it in the currency object?
Apart from that :100: :+1:

@sagikazarmark I created an additional repository without thinking, probably because it is external now. On the other hand; it is within our own organization. I do not see a problem with it.

Closed.


Guardian Armorer Artificer's lvl 15 Perfected Armor slow effect stalls turn order

Seems to happen when a creature fails it's saving throw against the slow effect of the Thunder Gauntlets while my Artificer is concentrating on Expeditious Retreat.  I've noticed a delay on Quicken Spell on the Sorcerer before, but usually only for a few seconds before it picks up again.  This, however, I let sit for well over a minute without it ever coming back to the action bar so I could take a 2nd attack.  Save is after the Artificer's movement, having already casting ER.  Just have to make attacks.
UB Bug reports.zip

Here is a perfect example why I always ask for saves, settings, etc. Issue isn't with your Artificer. It's the Opportunist in party that is breaking it.

fixed.


Skill Test Critical option prevents traits from causing showing critical/fumble

@CatoThe1stElder Please remove this issue as this was added by mistake.


Would DuckDB benefit from AXV2 SIMD instructions?

Just looking the AWS Lambda runtime environment now supports the AXV2 SIMD instructions, and seeing that e.g. gcc can be used to utilise SIMD instructions. Is this something that DuckDB can benefit from as well?

Sure, I expect that if you compile DuckDB with AVX support the compiler will use those instructions for vector operations and those instructions could also speed up things (a bit).

I just saw this and got to thinking.... Our servers running DuckDB have AVX512. Do you think the performance delta would be significant if compiled differently? What are the steps to get AVX512 operational in a Python context?

You will have to change the compilation flags in setup.py


After adding config the home assistant started as safe mode

  - platform: command_line
    name: CPU Temp
    command: "cat /sys/class/thermal/thermal_zone0/temp"
    unit_of_measurement: "°C"
    value_template: "{{ value | multiply(0.001) | round(1) }}"

I have added this configuration to the configuration.yaml directly, and after that, the home assistant started as safe mode

@mnayef95 what version of HA are you using?
In 0.116 processor_temperature was added to systemmonitor, so you can use that integration instead.
https://www.home-assistant.io/integrations/systemmonitor/


Update Pentestportal Dependencies in preparation for RE 2.0.4 Deployment

💡 Summary
RE 2.0.4 has been released and new system requirements have been pushed out. We'd like to request that the COOL pentestportal instances be updated to incorporate the various dependencies necessary for RE 2.0.4 to run properly on the system.
Motivation and context
RE 2.0.4 is necessary for RVA engagements to be able to perform their day to day reporting procedures. As such, the tool must be able to run on the pentestportal instances deployed in the COOL operational environments.
Implementation notes
If an existing version of Node/NPM exists on the VM or if there are any leftover artifacts from previous installations of Node/NPM, the following commands should be run to purge them:
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*
sudo apt-get purge nodejs npm
sudo apt autoremove
Installing Node v18.13.x and NPM v9.2.x:
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=18
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
apt-get update && apt-get install nodejs -y && apt-get install npm -y
Verify Node version: node --version
Verify NPM version: npm --version
Installing Python3-Django v2.2.x:
apt install python3-django
Verify python3-django version: python3 -m django --version
Additional requirements that currently already exist on the pentestportal instance include: Docker v20.10.12+, Docker Compose v2.2.3+, and Python v3.8.0+.
Verify Docker version: docker version
Verify Docker Compose version: docker compose version
Verify Python version: python3 --version
Acceptance criteria
How do we know when this work is done?

[ ] Node v18.13.x is installed
[ ] NPM v9.2.x is installed
[ ] Python3-Django v2.2.x is installed
[ ] Docker v20.10.12+ is installed
[ ] Docker Compose v2.2.3+ is installed
[ ] Python v.3.8.0+ is installed

@m1j09830 - @jsf9k is going to start working on implementing this soon, so we wanted to make sure that you still want this work done.  Please let us know if anything has changed here.  Thanks!

@m1j09830 - Can you remind me what RE stands for?

@m1j09830 - Can you remind me what RE stands for?

I believe that is the (RVA) Reporting Engine that they use to automate assessment reporting, but I will let @m1j09830 confirm.

@m1j09830 - @jsf9k is going to start working on implementing this soon, so we wanted to make sure that you still want this work done. Please let us know if anything has changed here. Thanks!

I'm coordinating with the lead of the RE and will get back to you shortly on whether any changes to the original requirements exist.

@m1j09830 - Can you remind me what RE stands for?

I believe that is the (RVA) Reporting Engine that they use to automate assessment reporting, but I will let @m1j09830 confirm.

That is correct, Reporting Engine used to be called Pentest Portal (PTP)

@dav3r everything listed is accurate with the caveat that there can be a little more flexibility given to the node version. According to the RE lead, the current installation has worked with node v18.18.x and npm v9.8.x. They believe we should be safe to adjust those specific requirements to node v18.X.X and npm v9.X.X based on their testing.

@m1j09830 - Above you include the step apt-get install npm -y.  I don't think we want to do that, since:

npm comes with the official Node.JS package already.
The npm package from Debian conflicts with the official Node.JS package and can't be installed alongside it.

@m1j09830 - Above you include the step apt-get install npm -y. I don't think we want to do that, since:

npm comes with the official Node.JS package already.
The npm package from Debian conflicts with the official Node.JS package and can't be installed alongside it.

Fair enough, as long as we are able to satisfy the npm requirement we can ignore the apt install piece

#57 has been merged, and I created a release, so Pentest Portal instances should have the new requirements going forward.


Westeros: update lhg-westeros-wpe-image and add the "unable to get an encoder for connector ..." fix

LGTM

I've rebased the patch set onto current meta-lhg/morty


can't find matching .m4a for .mp4, downloads .webm audio instead

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Bug report (encountered problems with youtube-dl)

$ youtube-dl -v -F https://www.youtube.com/watch?v=lw6j4VgzzTc
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://www.youtube.com/watch?v=lw6j4VgzzTc']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.6 - Linux-4.4.0-75-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: avconv 11.3-6, avprobe 11.3-6, rtmpdump 2.4
[debug] Proxy map: {'auto': 'https://proxyconfig.corp.google.com/proxy.pac'}
[youtube] lw6j4VgzzTc: Downloading webpage
[youtube] lw6j4VgzzTc: Downloading embed webpage
[youtube] lw6j4VgzzTc: Refetching age-gated info webpage
[youtube] lw6j4VgzzTc: Extracting video information
[info] Available formats for lw6j4VgzzTc:
format code  extension  resolution note
249          webm       audio only DASH audio   49k , opus @ 50k, 55.85KiB
250          webm       audio only DASH audio   65k , opus @ 70k, 74.16KiB
171          webm       audio only DASH audio   84k , vorbis@128k, 95.82KiB
140          m4a        audio only DASH audio   95k , m4a_dash container, mp4a.40.2@128k, 109.20KiB
251          webm       audio only DASH audio   96k , opus @160k, 109.13KiB
278          webm       82x144     144p   37k , webm container, vp9, 30fps, video only, 42.88KiB
160          mp4        82x144     144p   38k , avc1.4d400b, 30fps, video only, 42.93KiB
242          webm       136x240    144p   77k , vp9, 30fps, video only, 86.77KiB
133          mp4        136x240    144p   81k , avc1.4d400c, 30fps, video only, 91.65KiB
243          webm       204x360    240p  142k , vp9, 30fps, video only, 160.62KiB
134          mp4        204x360    240p  205k , avc1.4d400d, 30fps, video only, 232.26KiB
244          webm       270x480    240p  261k , vp9, 30fps, video only, 295.24KiB
135          mp4        270x480    240p  368k , avc1.4d4015, 30fps, video only, 418.59KiB
247          webm       406x720    360p  528k , vp9, 30fps, video only, 593.70KiB
136          mp4        406x720    360p  740k , avc1.4d401e, 30fps, video only, 838.75KiB
248          webm       608x1080   480p  943k , vp9, 30fps, video only, 1.02MiB
137          mp4        608x1080   480p 1381k , avc1.64001f, 30fps, video only, 1.53MiB
271          webm       720x1280   720p 2253k , vp9, 30fps, video only, 2.46MiB
264          mp4        720x1280   720p 2602k , avc1.64001f, 30fps, video only, 2.88MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        136x240    small , mp4v.20.3, mp4a.40.2
18           mp4        202x360    medium , avc1.42001E, mp4a.40.2@ 96k
43           webm       640x360    medium , vp8.0, vorbis@128k
22           mp4        406x720    hd720 , avc1.64001F, mp4a.40.2@192k (best)

Incorrect default behavior:
$ $ youtube-dl -v https://www.youtube.com/watch?v=lw6j4VgzzTc
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.youtube.com/watch?v=lw6j4VgzzTc']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.6 - Linux-4.4.0-75-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: avconv 11.3-6, avprobe 11.3-6, rtmpdump 2.4
[debug] Proxy map: {'auto': 'https://proxyconfig.corp.google.com/proxy.pac'}
[youtube] lw6j4VgzzTc: Downloading webpage
[youtube] lw6j4VgzzTc: Downloading embed webpage
[youtube] lw6j4VgzzTc: Refetching age-gated info webpage
[youtube] lw6j4VgzzTc: Extracting video information
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on u'https://r3---sn-4g57kn6z.googlevideo.com/videoplayback?expire=1495341374&id=o-AJX2-H8ZmkYKteAwU74mLTr5y9HIagaHaiDGTsNNOWRF&lmt=1495203680131218&ip=<IP_ADDRESS>&ei=3sQgWY6fCMLYcJ_9h6AK&pl=20&beids=%5B9466592%5D&initcwndbps=1592500&source=youtube&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&upn=q8b18zTvYXc&key=yt6&keepalive=yes&clen=3022755&mime=video%2Fmp4&ipbits=0&requiressl=yes&dur=9.299&mv=m&mt=1495319660&ms=au&mn=sn-4g57kn6z&signature=878003A61049171DCA76E40F0E37474BFC0FE7BF.7143889E1B57BADDAE549C69C16F09A176D8C519&mm=31&itag=264&gir=yes&ratebypass=yes'
[download] Destination: Upskirt-lw6j4VgzzTc.f264.mp4
[download] 100% of 2.88MiB in 00:26
[debug] Invoking downloader on u'https://r3---sn-4g57kn6z.googlevideo.com/videoplayback?expire=1495341374&id=o-AJX2-H8ZmkYKteAwU74mLTr5y9HIagaHaiDGTsNNOWRF&lmt=1495079119960962&ip=<IP_ADDRESS>&ei=3sQgWY6fCMLYcJ_9h6AK&pl=20&beids=%5B9466592%5D&initcwndbps=1592500&source=youtube&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&upn=q8b18zTvYXc&key=yt6&keepalive=yes&clen=111753&mime=audio%2Fwebm&ipbits=0&requiressl=yes&dur=9.301&mv=m&mt=1495319660&ms=au&mn=sn-4g57kn6z&signature=1BC3AB446BBFC1C3C47D6B331F0006A814FD9762.74E256E22CAAB709F3292AA854D33230B51AF409&mm=31&itag=251&gir=yes&ratebypass=yes'
[download] Destination: Upskirt-lw6j4VgzzTc.f251.webm
[download] 100% of 109.13KiB in 00:00
[ffmpeg] Merging formats into "Upskirt-lw6j4VgzzTc.mkv"
[debug] ffmpeg command line: avconv -y -i file:Upskirt-lw6j4VgzzTc.f264.mp4 -i file:Upskirt-lw6j4VgzzTc.f251.webm -c copy -map 0:v:0 -map 1:a:0 file:Upskirt-lw6j4VgzzTc.temp.mkv
Deleting original file Upskirt-lw6j4VgzzTc.f264.mp4 (pass -k to keep)
Deleting original file Upskirt-lw6j4VgzzTc.f251.webm (pass -k to keep)

Manual workaround is specifying format numbers:
$ youtube-dl -v -f 264+140 https://www.youtube.com/watch?v=lw6j4VgzzTc
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-f', u'264+140', u'https://www.youtube.com/watch?v=lw6j4VgzzTc']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.6 - Linux-4.4.0-75-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: avconv 11.3-6, avprobe 11.3-6, rtmpdump 2.4
[debug] Proxy map: {'auto': 'https://proxyconfig.corp.google.com/proxy.pac'}
[youtube] lw6j4VgzzTc: Downloading webpage
[youtube] lw6j4VgzzTc: Downloading embed webpage
[youtube] lw6j4VgzzTc: Refetching age-gated info webpage
[youtube] lw6j4VgzzTc: Extracting video information
[debug] Invoking downloader on u'https://r3---sn-4g57kn6z.googlevideo.com/videoplayback?ms=au&mt=1495319780&mv=m&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&ip=<IP_ADDRESS>&requiressl=yes&id=o-AOGdd2W_AuKQ7XvG791wOUmF2pcuvdNbKlQR3WGMYjSC&pl=20&mm=31&mn=sn-4g57kn6z&expire=1495341457&ipbits=0&dur=9.299&gir=yes&mime=video%2Fmp4&key=yt6&clen=3022755&itag=264&source=youtube&upn=p-agMBAC9aY&lmt=1495203680131218&signature=4FD82CD4B228AA6269EDED34E4FCBA992B82D75E.8723217F7599B493BACCC231211AFBB06055B697&ei=McUgWbrMGomtc5uwt_gL&initcwndbps=1607500&keepalive=yes&ratebypass=yes'
[download] Destination: Upskirt-lw6j4VgzzTc.f264.mp4
[download] 100% of 2.88MiB in 00:02
[debug] Invoking downloader on u'https://r3---sn-4g57kn6z.googlevideo.com/videoplayback?ms=au&mt=1495319780&mv=m&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&ip=<IP_ADDRESS>&requiressl=yes&id=o-AOGdd2W_AuKQ7XvG791wOUmF2pcuvdNbKlQR3WGMYjSC&pl=20&mm=31&mn=sn-4g57kn6z&expire=1495341457&ipbits=0&dur=9.357&gir=yes&mime=audio%2Fmp4&key=yt6&clen=111822&itag=140&source=youtube&upn=p-agMBAC9aY&lmt=1495203590734521&signature=1C372690369802372788D68126B56639C53BB847.5D1214A66016F824DF5DA1A34BD899BF20921A6E&ei=McUgWbrMGomtc5uwt_gL&initcwndbps=1607500&keepalive=yes&ratebypass=yes'
[download] Destination: Upskirt-lw6j4VgzzTc.f140.m4a
[download] 100% of 109.20KiB in 00:00
[ffmpeg] Merging formats into "Upskirt-lw6j4VgzzTc.mp4"
[debug] ffmpeg command line: avconv -y -i file:Upskirt-lw6j4VgzzTc.f264.mp4 -i file:Upskirt-lw6j4VgzzTc.f140.m4a -c copy -map 0:v:0 -map 1:a:0 file:Upskirt-lw6j4VgzzTc.temp.mp4
Deleting original file Upskirt-lw6j4VgzzTc.f264.mp4 (pass -k to keep)
Deleting original file Upskirt-lw6j4VgzzTc.f140.m4a (pass -k to keep)

Expected behavior: the following command should create an .mp4 file:
$ youtube-dl -v https://www.youtube.com/watch?v=lw6j4VgzzTc

The default behaviour is: --format "bestvideo+bestaudio/best".
This means: First priority is getting the best video stream possible, the best audio stream possible, and then merge these into a file.
And in your example format code 215 is bestaudio, as intended. So, working as expected.
Format code 140, what you requested, is ranked lower by youtube-dl, as it should be, from a technical standpoint.
What you can do is something like that:
--format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio/best"
Or
--format "bestvideo[ext=webm]+bestaudio[ext=webm]/bestvideo+bestaudio/best"
If you want..

Thank you for your suggestions!
This is what would be the best for me:
--format "bestvideo+bestaudio[compatiblewithvideo]/bestvideo+bestaudio/best"

compatiblewidthwideo means: an audio format which doesn't trigger the Requested formats are incompatible warning with the chosen video.
The reason I prefer this is that better file format compatibility (thus better playability and editability in the future) is more important for me than a minor audio quality improvement.

duplicate of #10226.


feat: abstraction to allow customized EVMs

Currently kona-executor exposes the revm handler in order to customize block execution. However, larger customizations of the EVM are not possible.
An abstraction to perform these deeper customizations already exists in reth/revm, where:

when reth executes, its BasicBlockExecutor contains a strategy for execution
in order to execute() (link), it calls apply_pre_execution_changes(), execute_transactions(), apply_post_execution_changes(), and finish() on the strategy.
reth includes the OpExecutionStrategy which is a good example of this implementation.
All strategies contain an evm_config which must implement ConfigureEvm.

This evm_config is what allows customization. Specifically for Kona's context, three of the functions it implements replace some of the hardcoded actions in Kona:

fill_cfg_env() replaces self.evm_cfg_env()
fill_block_env() replaces Self::prepare_block_env()
fill_tx_env() replaces Self::prepare_tx_env()

I believe the best option to allow Kona more flexibility in execution is to refactor Executor to rely on a struct implementing the ConfigureEvm trait in order to perform the above actions. For "normal" Kona, we can break the existing functions into a new type that implements the ConfigureEvm trait. For other customized chains like Odyssey, we can simply inherit whatever ConfigureEvm struct they are passing to reth for execution.
@clabby You had mentioned implementing the traits in alloy / op-alloy. I assume this accomplishes what you wanted, or was there a reason you prefer it to exist there?
Let's talk through this and make sure it's the right strategy before touching any code. I'm available async or for a live call on Monday if that's easier. Thanks guys.

I believe the best option to allow Kona more flexibility in execution is to refactor Executor to rely on a struct implementing the ConfigureEvm trait in order to perform the above actions. For "normal" Kona, we can break the existing functions into a new type that implements the ConfigureEvm trait. For other customized chains like Odyssey, we can simply inherit whatever ConfigureEvm struct they are passing to reth for execution.

Yeah, this sounds like a nice minimal diff approach. Though if we have the time / are willing to make the effort, I think it would be great if we could upstream the traits that reth / revm are using for this configurability to alloy and/or op-alloy so that we can all operate on a common set of abstractions. In the medium-longer term, that buys us quite a bit - modifications to the OP Stack would only have to make their execution layer changes in one place and get kona + reth compatibility in one go.

@clabby You had mentioned implementing the traits in alloy / op-alloy. I assume this accomplishes what you wanted, or was there a reason you prefer it to exist there?

Yeah I'd prefer if it wasn't in kona or reth. A common set of executor abstractions is pretty desirable.

All that said, let me know your appetite for making that sort of change. I'm open to taking a more minimal approach at first, but would def prefer if we could work w/ @mattsse et. co on standardizing the interface.


UX issue in console app role permission tree

When permission is added it cannot be easily removed.

The current tree implementation has limitations which leads to unexpected behaviour. ( i.e the above issue ) Since this, we will be implementing a newer plugin with much more functionality.
Plugin to be used : RC-Tree


IMPROVE - Unit test status badge in Readme

Describe the feature you want to improve
Add a unit test status badge in the readme to provide a quick glance of the unit test workflow status.
As discussed in https://github.com/mikaelacaron/Basic-Car-Maintenance/pull/194, I'd like to add a unit test status badge to the readme.
Describe alternatives you've considered

Hey @mikaelacaron, this is a quick one that I discussed in my PR #194. Could you assign it to me pls?

I just noticed that you created an issue #235 for this marked as first timers only. Please feel free to close this issue if you feel so.

I will be closing this issue because it's a duplicate of #235 , and also yes I'll be closing your PR as well
Side note to reference other issues you only need to type #235 and when you create the comment, it automatically links it, you don't need to add a hyperlink on top of the number, because that actually breaks the default linking


Possible to change the encryption algorithm for JWT token from RS256?

Hi,
I have set up an OAuth client in IdentityServer with a related relying party. I have an ASP.Net webforms application which contains JavaScript to authenticate against IdentityServer and retrieve the token returned from IdentityServer.
This is passed as a bearer token to a WCF service which implements a service authorization manager using the  tag in the web.config file. The service authorization manager is based on code from auth0 (https://docs.auth0.com/wcf-tutorial).
The Auth0 handler caters for 3 encryption algorithms out of the box: HS256, HS384 and HS512. The algorithm type returned in the JWT header from identity server is RS256.
Is there anyway of specifying within identity server that it should return either HS256, HS384 or HS512 as the algorithm for the JWT, rather than RS256? I've looked but cannot find anything.
Thanks.

I know it's a closed thread, but I can't find any other place to ask this:
how did you add the symmetric key to the RP in the identity server?


Secret/Config mounting issues in 2.4.0

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Started with Rancher HA on kubernetes (2.3.5).
Upgrade rancher install via Helm 3 to 2.4.0
"local" cluster appears to upgrade successfully, but all managed clusters start having errors mounting secrets and config maps.

Result:
Tons of errors, relating to all pods that mount secrets or config maps:
MountVolume.SetUp failed for volume "cattle-credentials" : failed to sync secret cache: timed out waiting for the condition
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.4.0
Installation option (single install/HA): HA

Looks like 2.3.6 is working as intended.

I should also note, I rolled back the 2.4.0 cluster and the issues went away, I subsequently upgraded it to 2.3.6 and everything was also fine.

Hi @andrew-landsverk-win, can you provide more information about the managed cluster? For example, which k8s version is it? How many etcd/control plane/worker nodes it has?

Sure can:
It was 2 clusters, both are using the vSphere driver, both with in-tree storage. The nodes were created with 2.3.5 using Ubuntu cloud-init img. All clusters, including local, are on k8s 1.17.4.
Cluster 1:
1 - etcd+cp
4 - worker
Cluster 2:
1 - etcd+cp
3 - worker

@andrew-landsverk-win were you able to excerpt full logs from the kubelets running on your nodes?

@Oats87 I can try updating from 2.3.6 again this afternoon and grab kutelet logs. They are in the container, right?

This may be related to: https://github.com/rancher/rancher/issues/26399

Looks to be happening every 3 minutes, coincidentally, the restart loop of the Kubelet is happening every 175 seconds which is basically 3 minutes

That's very likely, I was also seeing kublet restarts in my "events" tab.

You don't need me to try 2.4.0 again then?

You could, then if you go into the System project of each of your clusters and delete/redeploy the cattle-node-agent pods (make sure you delete the pods and not the daemonset) the problem will be resolved

On a Rancher single-install setup (v2.3.5 -> 2.4.0) with a Rancher-provisioned ec2 cluster (k8s 1.17, 1 etcd+control plane, 3 workers), I did not reproduce the issue about mounting secrets and config maps.
But the cluster ran into the issue that kubelet restarts every 3 minutes, and deleting the pods under cattle-node-agent solves it.

The workaround seems to have resolved the issues on 2.4.0 (kubelet restarting and secrets/configs not mounting). Thanks!

It's also worth noting, on a brand new cluster provisioned by Rancher, you have to delete the node agents to get kubelet to stop crashing.

This looks like it's resolved in 2.4.1! Thanks!


netrw folders vanish and lose trailing slash in tree-view after focus gained

Steps to reproduce

build latest master with default configure options

set minimal vimrc

set nocompatible
let g:netrw_liststyle=3

create test folders

mkdir -p a/b/c
mkdir -p a/b/c2
mkdir -p a/b/c3/d

2.5. have test folder structure
  a
  └── b
      ├── c
      ├── c2
      └── c3
          └── d

open netrw in folder a:

:Lexplore a

enter folder b (with <cr>)

enter folder c3 and have this tree (header omitted):

../
a/
| b/
| | c/
| | c2/
| | c3/
| | | d/

De-select the terminal (lose focus)

Select vim again (regain focus)

See this (header omitted again):

../
a/
| b/
| | c
| | c2
| | c3

(Clicking those folders without slashes opens another netrw view with that folder as root - but that part is, in that broken state, technically correct I would say)
Note: it only happens when you are "3 folders deep" - without opening 'd' it does not break.
Note2: Closing and re-opening folder 'b' "fixes" it - until the next focus lost/regain cycle.
Expected behaviour
Folders should not lose their trailing slash or vanish :)
Version of Vim
8.2.4424
Environment
Tested on Darwin arm (macos 12.2.1) and Ubuntu 21.04
xterm-256color
zsh 5.8
Tested in iTerm2 Build 3.5.git.ebe2bf0883 and Alacritty <IP_ADDRESS>-rc4 (of course, both with focus reporting enabled)
Logs and stack traces
No response

Is this likely to be looked at any time soon?
This has been a persistent issue with my workflow for a good while now, and is getting to the point where discarding netrw in favour of NERDtree maximalism is the only sane way to explore my source tree from within vim.

ping @cecamp

Hey,
(This has been on my list for a while, I remember encountering this a couple of years ago
when getting into Vim and trying to get it to look like my IDE at that time.)
Seems there is an issue in the glob wrapper used to refresh the tree after focus is regained: NetrwGlob.
When a pattern matches a folder, (in this case '*') it is returned without a trailing slash.
However, we expect the slash to be there when iterating entries to render subfolders here.
Following the original example:
all c*/ subfolders become c* (no slash) in the dictionary after refresh, causing them to be treated as files.
For the initial example, initial dictionary entries are:
{'a/b/c3': ['d/'], 'a': ['b/'], 'a/b': ['c/', 'c2/', 'c3/']}

And after a refresh we get:
{'a/b/c3': ['d/'], 'a': ['b/'], 'a/b': ['c', 'c2', 'c3', '.', '..']}

I'm pretty out of touch with Vim script (and source) but, to be more clear, a naive patch addressing it may look like this:
(parent folder substitution needs a small tweak to handle trailing slashes)
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 1372de4df..c4870ce3c 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -5821,13 +5821,16 @@ fun! s:NetrwGlob(direntry,expr,pare)
    let w:netrw_liststyle= keep_liststyle
   elseif v:version > 704 || (v:version == 704 && has("patch656"))
    let filelist= glob(s:ComposePath(fnameescape(a:direntry),a:expr),0,1,1)
+   let filelist = map(filelist, 'isdirectory(v:val) && v:val !~ "\\.\\.$" && v:val !~ "\\.$" ? v:val . "/" : v:val')
    if a:pare
-    let filelist= map(filelist,'substitute(v:val, "^.*/", "", "")')
+    let parentdir=fnameescape(a:direntry).'/'
+    let filelist= map(filelist,'substitute(v:val, parentdir, "", "")')
    endif
   else
    let filelist= glob(s:ComposePath(fnameescape(a:direntry),a:expr),0,1)
    if a:pare
-    let filelist= map(filelist,'substitute(v:val, "^.*/", "", "")')
+    let parentdir=fnameescape(a:direntry).'/'
+    let filelist= map(filelist,'substitute(v:val, parentdir, "", "")')
    endif
   endif
 "  call Dret("s:NetrwGlob ".string(filelist))

Two things that may be worth mentioning but not entirely related:

glob() returns the list sorted alphabetically (without slashes), so re-sorting may be need (subtree b/ a c will change to a b/ c after a refresh)
refreshing causes expanded empty folders ('' child entry) to collapse and need the same 'closing and reopening' treatment to work properly.

Let me know if I can help with anything!

Hmm, with my usual options I don't see that misbehavior; I have to run it without my .vimrc to see it. I'll look into it further.

First finding: the option I use which prevents the issue is:
let g:netrw_fastbrowse= 2
That shouldn't be a problem for the normal setting, so I'll look into it further, but at least you can use that setting for now.

First finding: the option I use which prevents the issue is:
let g:netrw_fastbrowse= 2
Great!

Just a heads up: seems to still be reproducible with let g:netrw_fastbrowse= 2 if we
follow the original report until step 6 and instead of changing focus, we force a refresh with ctrl-L.

My two cents:

Instead of tweaking s:NetrwGlob(), f_glob() itself technically has a WILD_ADD_SLASH flag, which I think may be cleaner and solves a big part of the issue - though, it would probably have to be add as another parameter to glob().

The sorting of glob is very much an issue: if you have any g:netrw_sort_sequence set, the glob will alter and break the order.
Unfortunately I fail to create any combination of hackery to re-sort the tree after the globbing produced by a refresh.
(I was toying around with s:NetrwSetSort and the exe '$sort [...] but I am clearly doing something wrong - netrw is a complex beast)

Lastly, and this is 100% pebcac: the fastbrowse= 2 option is no solution for me, since I have to be able to refresh the list, due to some other hackery in my config.


Ensure save button stays below canvas element

This task only took 20 minutes, most of which was actually spent modifying the save button's CSS to maintain its original proportions after its position was made relative to its container.


Learn pyro.module's parameters outside model/guide

At the current state, pyro.optim just learns parameters of an nn.Module if it is registered by pyro.module inside model/guide pair. It would be nice if we can do something like this:
def Net(nn.Module):
    ...

net = pyro.module("net", Net())
def model(x, y):
    o = net(x)
    pyro.sample("y", dist.Normal(o, 1), obs=y)

def guide(x, y):
    pass

optimizer = optim.Adam({})
svi = SVI(model, guide, optimizer, "ELBO")

At the current state, we have to do as follows
net = Net()
def model(x, y):
    pyro_net = pyro.module("net", net)
    o = pyro_net(x)
    ...

Hmm, I'm not sure about having an inference algorithm update parameters that never appear in param statements in its model.  In the example snippet, why not just lift the Module with lambda?: lambda x: pyro.module("net", net)(x)

This is useful when we build a model which does not know ahead its name and its type. Of course, we can use if else to handle function/nn.Module but don't you think that it is too verbose?

This is useful when we build a model which does not know ahead its name and its type

But in that case you should be able to use the lambda pattern I suggested, no if/else required

Yeah, you save my day! :D I spent a lot of time to debug codes before recognizing that svi does not learn params outside of its scope and ended with that pull request... Thanks!

If you lift the Module with lambda?: lambda x: pyro.module("net", net)(x), the program would thought it a expression, it is not a Module anymore, so the optimimizer couldn't learns parameters.

If you lift the Module with lambda, like lambda x: pyro.module("net", net)(x), the program would thought it a expression, it is not a Module anymore, so the optimimizer couldn't learns parameters.


feat: adds classification_report in the ModelTester class

Show various metrics for classification problems. Per-class metrics are also available for multi-class classification use-cases.

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

In the file decavision/model_testing/testing.py:

Line 6:1: F401 'efficientnet.tfkeras.EfficientNetB0' imported but unused
Line 6:1: F401 'efficientnet.tfkeras.EfficientNetB3' imported but unused
Line 6:1: F401 'efficientnet.tfkeras.EfficientNetB5' imported but unused
Line 51:76: E226 missing whitespace around arithmetic operator
Line 234:1: W293 blank line contains whitespace
Line 251:1: W391 blank line at end of file
Line 251:1: W293 blank line contains whitespace

Can you fix the issues mentionned in the bot's comment?
Can you test if it's necessary to import the efficientnets? I think it has to be done to load trained models. If it's the case you should add B7 to the imports and if not just remove the imports.

Remove the imports, updated docstring and fixed bot comments.

Remove the imports, updated docstring and fixed bot comments.

Thanks! So importing the efficientnets is not necessary?
Also there seems to be a few issues with PEP8 that are left.

Yup. Not needed while loading models. Would have needed it if we saved it using model.save_weights(). I fixed the PEP8 issues, but can't check on my end if there's any left as I don't get any error messages.

Yup. Not needed while loading models. Would have needed it if we saved it using model.save_weights(). I fixed the PEP8 issues, but can't check on my end if there's any left as I don't get any error messages.

Take a look at the comment on the PR made by pep8speaks. It analyses the code and reports PEP8 problems. It updates every time you make a push so you can make sure there are no issues left.

Thanks, I did not know that. All done! Is there any tool to automate this? So that the whole script satisfies PEP8 style.

Thanks, I did not know that. All done! Is there any tool to automate this? So that the whole script satisfies PEP8 style.

The bot that comments is automated. I decided to have it scan only the files modified in a PR but it could scan everything every time. There are tools to make the modifications automatically, via pre-commits. However I don't like to force people to do the modifications all the time so I prefer to just use the bot.

Thanks!


Mesh object generation from parametric surfaces

Built in primitives implemented are torus, sphere and grid. Issue #700

So cool! Thanks!

Awesome, thanks!
On Thursday, June 2, 2016, Ramon Blanquer<EMAIL_ADDRESS>wrote:

Built in primitives implemented are torus, sphere and grid. Issue #700
https://github.com/appleseedhq/appleseed/issues/700
You can view, comment on, or merge this pull request online at:
https://github.com/appleseedhq/appleseed/pull/1017
Commit Summary

mesh object generation from parametric surfaces, built in primitives
implemented are torus, sphere, plane

File Changes

A sandbox/tests/test scenes/primitive mesh/01 - sphere.appleseed
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-0
(180)
A sandbox/tests/test scenes/primitive mesh/02 - plane.appleseed
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-1
(169)
A sandbox/tests/test scenes/primitive mesh/03 - torus.appleseed
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-2
(200)
A sandbox/tests/test scenes/primitive mesh/ref/01 - sphere.png
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-3 (0)
A sandbox/tests/test scenes/primitive mesh/ref/02 - plane.png
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-4 (0)
A sandbox/tests/test scenes/primitive mesh/ref/03 - torus.png
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-5 (0)
M src/appleseed/CMakeLists.txt
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-6 (2)
A src/appleseed/renderer/modeling/object/meshobjectprimitives.cpp
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-7
(251)
A src/appleseed/renderer/modeling/object/meshobjectprimitives.h
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-8 (46)
M src/appleseed/renderer/modeling/object/meshobjectreader.cpp
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-9 (12)
M src/appleseed/renderer/modeling/project/projectfilewriter.cpp
https://github.com/appleseedhq/appleseed/pull/1017/files#diff-10
(11)

Patch Links:

https://github.com/appleseedhq/appleseed/pull/1017.patch
https://github.com/appleseedhq/appleseed/pull/1017.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/appleseedhq/appleseed/pull/1017, or mute the thread
https://github.com/notifications/unsubscribe/AATnCnnxXy-B2GNqsIIwpcNdMDz5xWM6ks5qHuuGgaJpZM4IsoOd
.

Exceptional code quality! A few minor things to fix and it's good to merge.
Thanks!

Cheers @dictoon @Narann :smiley: !!

Perfect, thank you!


Gesture Responder System for sibling views?

I read about the Gesture Responder System and the ability to switch the responder from one view to another during the duration of a touch. This may be a noob question, but it's entirely unclear to me from reading the docs.
I have two views which are siblings (share the same parent). I would like to switch the responder from one to the other. But judging by my tests, onMoveShouldSetResponder will never get called on the second view - I would expect it to get called when I move my finger to it.
Is this even possible? Or the responder can only be passed up the component tree? How about down the tree?
Thanks!

@alamothe can you add your code please?

@omars94 Here's my snack: https://snack.expo.io/@alamothe/ranting-donuts
I have two views, red and blue. If I start to touch red then move my finger from red to blue, blue will never get called. Basically, whichever view started being the responder will remain responder forever.
I think the docs never explain this.


Unable to start VM with kubevirt

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind enhancement

What happened:
unable to start the VM
[centos@kubevirt-test-2 yaml]$ ./virtctl start virtualmachineinstance.kubevirt.io/vmi-centos7
Error starting VirtualMachine the server has asked for the client to provide credentials
[centos@kubevirt-test-2 yaml]$ sudo ./virtctl start virtualmachineinstance.kubevirt.io/vmi-centos7
Error starting VirtualMachine Put http://localhost:8080/apis/subresources.kubevirt.io/v1alpha3/namespaces/default/virtualmachines/virtualmachineinstance.kubevirt.io/vmi-centos7/start: dial tcp [::1]:8080: connect: connection refused

What you expected to happen:
Should be able to start the VM
How to reproduce it (as minimally and precisely as possible):

Have kubevirt installed (https://github.com/kubevirt/demo).
Deploy the pv and pvc by kubectl apply -f https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/pv-mds.yaml and kubectl -f apply -f https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/pvc-mds.yaml. Change the metadata name field in pvc to mydisk to be consistent. Also, adjust the storage size to fit into your hardware configuration.
Deploy the VM bykubectl apply -f https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/centos7.yaml.

Anything else we need to know?:
vm instance created succesfully
[centos@kubevirt-test-2 yaml]$ kubectl describe virtualmachineinstance.kubevirt.io/vmi-centos7
Name:         vmi-centos7
Namespace:    default
Labels:       special=key
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachineInstance","metadata":{"annotations":{},"labels":{"special":"key"},"name":"vmi-c...
              kubevirt.io/latest-observed-api-version: v1alpha3
              kubevirt.io/storage-observed-api-version: v1alpha3
API Version:  kubevirt.io/v1alpha3
Kind:         VirtualMachineInstance
Metadata:
  Creation Timestamp:  2019-10-01T00:38:14Z
  Finalizers:
    foregroundDeleteVirtualMachine
  Generation:        5
  Resource Version:  706000
  Self Link:         /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vmi-centos7
  UID:               85a825da-51a9-46b5-99bd-26d41e67481a
Spec:
  Domain:
    Devices:
      Disks:
        Disk:
          Bus:  virtio
        Name:   containerdisk
        Disk:
          Bus:  virtio
        Name:   mydisk
        Disk:
          Bus:  virtio
        Name:   cloudinitdisk
      Interfaces:
        Bridge:
        Name:  default
      Rng:
    Features:
      Acpi:
        Enabled:  true
    Firmware:
      Uuid:  13bc1897-7b50-4661-872a-f2faf78d72e0
    Machine:
      Type:  q35
    Resources:
      Requests:
        Cpu:     100m
        Memory:  1024M
  Networks:
    Name:  default
    Pod:
  Termination Grace Period Seconds:  0
  Volumes:
    Name:  mydisk
    Persistent Volume Claim:
      Claim Name:  mydisk
    Container Disk:
      Image:              dlambrig/centos7:latest
      Image Pull Policy:  Always
    Name:                 containerdisk
    Cloud Init No Cloud:
      User Data:  #cloud-config
password: centos
chpasswd: { expire: False }
    Name:  cloudinitdisk
Status:
  Conditions:
    Last Probe Time:       <nil>
    Last Transition Time:  2019-10-01T00:38:15Z
    Message:               0/1 nodes are available: 1 Insufficient devices.kubevirt.io/kvm.
    Reason:                Unschedulable
    Status:                False
    Type:                  PodScheduled
  Phase:                   Scheduling
  Qos Class:               Burstable
Events:
  Type    Reason            Age    From                       Message
  ----    ------            ----   ----                       -------
  Normal  SuccessfulCreate  5m58s  virtualmachine-controller  Created virtual machine pod

output when describing the vm pod
[centos@kubevirt-test-2 ~]$ kubectl get po -n default
NAME                              READY   STATUS    RESTARTS   AGE
virt-launcher-vmi-centos7-4jm66   0/2     Pending   0          14h
[centos@kubevirt-test-2 ~]$ kubectl describe po virt-launcher-vmi-centos7-4jm66
Name:           virt-launcher-vmi-centos7-4jm66
Namespace:      default
Priority:       0
Node:           <none>
Labels:         kubevirt.io=virt-launcher
                kubevirt.io/created-by=85a825da-51a9-46b5-99bd-26d41e67481a
                special=key
Annotations:    kubevirt.io/domain: vmi-centos7
Status:         Pending
IP:
IPs:            <none>
Controlled By:  VirtualMachineInstance/vmi-centos7
Containers:
  volumecontainerdisk:
    Image:      dlambrig/centos7:latest
    Port:       <none>
    Host Port:  <none>
    Command:
      /usr/bin/container-disk
    Args:
      --copy-path
      /var/run/kubevirt-ephemeral-disks/container-disk-data/85a825da-51a9-46b5-99bd-26d41e67481a/disk_1
    Limits:
      cpu:     100m
      memory:  20M
    Requests:
      cpu:        10m
      memory:     1M
    Readiness:    exec [/usr/bin/container-disk --health-check] delay=1s timeout=1s period=1s #success=1 #failure=5
    Environment:  <none>
    Mounts:
      /usr/bin from virt-bin-share-dir (rw)
      /var/run/kubevirt-ephemeral-disks/container-disk-data/85a825da-51a9-46b5-99bd-26d41e67481a from container-disks (rw)
  compute:
    Image:      index.docker.io/kubevirt/virt-launcher@sha256:17c6d0bbedf9e24085011c96e002569444133b331f124d0177a77d45cb3ac5e4
    Port:       <none>
    Host Port:  <none>
    Command:
      /usr/bin/virt-launcher
      --qemu-timeout
      5m
      --name
      vmi-centos7
      --uid
      85a825da-51a9-46b5-99bd-26d41e67481a
      --namespace
      default
      --kubevirt-share-dir
      /var/run/kubevirt
      --ephemeral-disk-dir
      /var/run/kubevirt-ephemeral-disks
      --container-disk-dir
      /var/run/kubevirt/container-disks
      --readiness-file
      /var/run/kubevirt-infra/healthy
      --grace-period-seconds
      15
      --hook-sidecars
      0
      --less-pvc-space-toleration
      10
    Limits:
      devices.kubevirt.io/kvm:        1
      devices.kubevirt.io/tun:        1
      devices.kubevirt.io/vhost-net:  1
    Requests:
      cpu:                            100m
      devices.kubevirt.io/kvm:        1
      devices.kubevirt.io/tun:        1
      devices.kubevirt.io/vhost-net:  1
      memory:<PHONE_NUMBER>
    Readiness:                        exec [cat /var/run/kubevirt-infra/healthy] delay=4s timeout=5s period=1s #success=1 #failure=5
    Environment:                      <none>
    Mounts:
      /var/run/kubevirt from virt-share-dir (rw)
      /var/run/kubevirt-ephemeral-disks from ephemeral-disks (rw)
      /var/run/kubevirt-infra from infra-ready-mount (rw)
      /var/run/kubevirt-private/vmi-disks/mydisk from mydisk (rw)
      /var/run/kubevirt/container-disks from container-disks (rw)
      /var/run/libvirt from libvirt-runtime (rw)
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  mydisk:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  mydisk
    ReadOnly:   false
  infra-ready-mount:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  virt-share-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/run/kubevirt
    HostPathType:
  virt-bin-share-dir:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubevirt/init/usr/bin
    HostPathType:
  libvirt-runtime:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  ephemeral-disks:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  container-disks:
    Type:          HostPath (bare host directory volume)
    Path:          /var/run/kubevirt/container-disks/85a825da-51a9-46b5-99bd-26d41e67481a
    HostPathType:
QoS Class:         Burstable
Node-Selectors:    kubevirt.io/schedulable=true
Tolerations:       node.kubernetes.io/not-ready:NoExecute for 300s
                   node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age        From               Message
  ----     ------            ----       ----               -------
  Warning  FailedScheduling  <unknown>  default-scheduler  0/1 nodes are available: 1 Insufficient devices.kubevirt.io/kvm.

starting testvm is successful
[centos@kubevirt-test-2 ~]$ kubectl apply -f https://raw.githubusercontent.com/kubevirt/demo/master/manifests/vm.yaml
virtualmachine.kubevirt.io/testvm created
[centos@kubevirt-test-2 ~]$ kubectl describe vm testvm
Name:         testvm
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"annotations":{},"name":"testvm","namespace":"default"},"spec":{"...
              kubevirt.io/latest-observed-api-version: v1alpha3
              kubevirt.io/storage-observed-api-version: v1alpha3
API Version:  kubevirt.io/v1alpha3
Kind:         VirtualMachine
Metadata:
  Creation Timestamp:  2019-10-02T23:02:54Z
  Generation:          2
  Resource Version:    1070036
  Self Link:           /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/testvm
  UID:                 8da76d2e-8101-4b97-b7e7-4b3e8fcb9b58
Spec:
  Running:  false
  Template:
    Metadata:
      Creation Timestamp:  <nil>
      Labels:
        kubevirt.io/domain:  testvm
        kubevirt.io/size:    small
    Spec:
      Domain:
        Devices:
          Disks:
            Disk:
              Bus:  virtio
            Name:   rootfs
            Disk:
              Bus:  virtio
            Name:   cloudinit
          Interfaces:
            Bridge:
            Name:  default
        Machine:
          Type:
        Resources:
          Requests:
            Memory:  64M
      Networks:
        Name:  default
        Pod:
      Volumes:
        Container Disk:
          Image:  kubevirt/cirros-registry-disk-demo
        Name:     rootfs
        Cloud Init No Cloud:
          userDataBase64:  SGkuXG4=
        Name:              cloudinit
Status:
Events:  <none>
[centos@kubevirt-test-2 ~]$ kubectl virt start testvm
VM testvm was scheduled to start
[centos@kubevirt-test-2 ~]$ kubectl describe vmi testvm
Name:         testvm
Namespace:    default
Labels:       kubevirt.io/domain=testvm
              kubevirt.io/size=small
Annotations:  kubevirt.io/latest-observed-api-version: v1alpha3
              kubevirt.io/storage-observed-api-version: v1alpha3
API Version:  kubevirt.io/v1alpha3
Kind:         VirtualMachineInstance
Metadata:
  Creation Timestamp:  2019-10-02T23:03:14Z
  Finalizers:
    foregroundDeleteVirtualMachine
  Generate Name:  testvm
  Generation:     4
  Owner References:
    API Version:           kubevirt.io/v1alpha3
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  VirtualMachine
    Name:                  testvm
    UID:                   8da76d2e-8101-4b97-b7e7-4b3e8fcb9b58
  Resource Version:        1070092
  Self Link:               /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/testvm
  UID:                     1dae84a3-c80a-4ad2-9700-9f2839c833eb
Spec:
  Domain:
    Devices:
      Disks:
        Disk:
          Bus:  virtio
        Name:   rootfs
        Disk:
          Bus:  virtio
        Name:   cloudinit
      Interfaces:
        Bridge:
        Name:  default
    Features:
      Acpi:
        Enabled:  true
    Firmware:
      Uuid:  5a9fc181-957e-5c32-9e5a-2de5e9673531
    Machine:
      Type:  q35
    Resources:
      Requests:
        Cpu:     100m
        Memory:  64M
  Networks:
    Name:  default
    Pod:
  Volumes:
    Container Disk:
      Image:              kubevirt/cirros-registry-disk-demo
      Image Pull Policy:  Always
    Name:                 rootfs
    Cloud Init No Cloud:
      userDataBase64:  SGkuXG4=
    Name:              cloudinit
Status:
  Conditions:
    Last Probe Time:       <nil>
    Last Transition Time:  2019-10-02T23:03:14Z
    Message:               0/1 nodes are available: 1 Insufficient devices.kubevirt.io/kvm.
    Reason:                Unschedulable
    Status:                False
    Type:                  PodScheduled
  Phase:                   Scheduling
  Qos Class:               Burstable
Events:
  Type    Reason            Age   From                       Message
  ----    ------            ----  ----                       -------
  Normal  SuccessfulCreate  7s    virtualmachine-controller  Created virtual machine pod virt-launcher-testvm-2vf5g

Environment:

KubeVirt version (use virtctl version):

Client Version: version.Info{GitVersion:"v0.19.0", GitCommit:"b54712d720ae7bde6400cd3bb81087f2694b2a40", GitTreeState:"clean", BuildDate:"2019-07-04T07:08:33Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-09T08:09:15Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

VM or VMI specifications:
https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/centos7.yaml
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):CentOS Linux 7 (Core)
Kernel (e.g. uname -a): Linux 3.10.0-862.14.4.el7.x86_64
Install tools:kubevirt
Others:minikube version: v1.4.0, QEMU emulator version 1.5.3 (qemu-kvm-1.5.3-167.el7_7.1), Copyright (c) 2003-2008 Fabrice Bellard

@chinadd Do your hosts support nested virtualization? See - https://kubevirt.io/user-guide/docs/latest/administration/intro.html

Interesting, I think that there are two issues. First that the node probably does not have /dev/kvm, but kubevirt is not configured to use software emulation.
Second, it looks like virtctl can't authenticate, but kubectl can. That can have two reasons: First, some exotic auth plugin is used and we don't support that correctly, second something new got introduced in kubernetes 1.16, and we need to rebuild virtctl with the latest kubernetes sdk.

@chinadd how did you create the cluster?

Found two changes regarding to auth, may or may not be related: https://kubernetes.io/docs/setup/release/notes/#auth

@chinadd Do your hosts support nested virtualization? See - https://kubevirt.io/user-guide/docs/latest/administration/intro.html

I am not sure about this. Below is the output for virtualization support.
[centos@kubevirt-test-2 ~]$ virt-host-validate qemu
  QEMU: Checking for hardware virtualization                                 : PASS
  QEMU: Checking if device /dev/kvm exists                                   : PASS
  QEMU: Checking if device /dev/kvm is accessible                            : PASS
  QEMU: Checking if device /dev/vhost-net exists                             : PASS
  QEMU: Checking if device /dev/net/tun exists                               : PASS
  QEMU: Checking for cgroup 'memory' controller support                      : PASS
  QEMU: Checking for cgroup 'memory' controller mount-point                  : PASS
  QEMU: Checking for cgroup 'cpu' controller support                         : PASS
  QEMU: Checking for cgroup 'cpu' controller mount-point                     : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
  QEMU: Checking for cgroup 'cpuacct' controller mount-point                 : PASS
  QEMU: Checking for cgroup 'cpuset' controller support                      : PASS
  QEMU: Checking for cgroup 'cpuset' controller mount-point                  : PASS
  QEMU: Checking for cgroup 'devices' controller support                     : PASS
  QEMU: Checking for cgroup 'devices' controller mount-point                 : PASS
  QEMU: Checking for cgroup 'blkio' controller support                       : PASS
  QEMU: Checking for cgroup 'blkio' controller mount-point                   : PASS
  QEMU: Checking for device assignment IOMMU support                         : WARN (No ACPI DMAR table found, IOMMU either disabled in BIOS or not supported by this hardware platform)

@chinadd how did you create the cluster?

I created the minikube cluster like this
$ minikube config set vm-driver kvm2
$ minikube start --memory 4096

Interesting, I think that there are two issues. First that the node probably does not have /dev/kvm, but kubevirt is not configured to use software emulation.

I think so.
[centos@kubevirt-test-2 ~]$ minikube ssh -- test -e /dev/kvm
ssh: Process exited with status 1
[centos@kubevirt-test-2 ~]$ minikube ssh -- ls -al /dev/kvm
ls: cannot access '/dev/kvm': No such file or directory
ssh: Process exited with status 2

Second, it looks like virtctl can't authenticate, but kubectl can. That can have two reasons: First, some exotic auth plugin is used and we don't support that correctly, second something new got introduced in kubernetes 1.16, and we need to rebuild virtctl with the latest kubernetes sdk.

The newest version of virtctl is v0.21.0, I will try by reinstallation of this version

@chinadd Do your hosts support nested virtualization? See - https://kubevirt.io/user-guide/docs/latest/administration/intro.html

May I ask what makes you ask this?

@chinadd Do your hosts support nested virtualization? See - https://kubevirt.io/user-guide/docs/latest/administration/intro.html

May I ask what makes you ask this?

The kubernetes node is running in a VM (because of the minikube KVM driver), and you want to start another VM inside that VM. So you need either nested virt, or you need to enable software emulation. See [0] for how to enable nested virt on CentOS 7. Once you set it up, $ minikube ssh -- test -e /dev/kvm won't return an error anymore.
Will try to reproduce the auth issue now.
[0] https://www.linuxtechi.com/enable-nested-virtualization-kvm-centos-7-rhel-7/

hm, I can't reproduce the auth problem, neither with downloaded virtctl nor with krew... :thinking:
$ k version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compi
ler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compi
ler:"gc", Platform:"linux/amd64"}
$ k get node
NAME       STATUS   ROLES    AGE   VERSION
minikube   Ready    master   28m   v1.16.0

# virtctl directly
$ ./virtctl version
Client Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-07T07:33:17Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
Server Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-09T08:09:15Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
$ ./virtctl start vm-cirros
VM vm-cirros was scheduled to start

# via krew
$ k virt version
Client Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-07T07:33:17Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
Server Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-09T08:09:15Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
$ k virt stop vm-cirros
VM vm-cirros was scheduled to stop

hm, I can't reproduce the auth problem, neither with downloaded virtctl nor with krew... 🤔
$ k version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compi
ler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compi
ler:"gc", Platform:"linux/amd64"}
$ k get node
NAME       STATUS   ROLES    AGE   VERSION
minikube   Ready    master   28m   v1.16.0

# virtctl directly
$ ./virtctl version
Client Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-07T07:33:17Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
Server Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-09T08:09:15Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
$ ./virtctl start vm-cirros
VM vm-cirros was scheduled to start

# via krew
$ k virt version
Client Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-07T07:33:17Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
Server Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-09T08:09:15Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"lin
ux/amd64"}
$ k virt stop vm-cirros
VM vm-cirros was scheduled to stop

Thanks for the effort! This error message is specific to the yaml file (https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/centos7.yaml) I am using. I didn't see the error either when trying to start testvm (https://raw.githubusercontent.com/kubevirt/demo/master/manifests/vm.yaml)

Oh... now I see it :)
It doesn't have anything to do with your VM, but how you use virtctl:

virtctl just takes the name of the virtualmachine as argument, without resource type, no need for virtualmachineinstance.kubevirt.io/
virtualmachine*instances* can't be started at all, they are running per definition. You can start/stop virtualmachines, which will create/delete the virtualmachine*instance* for you.

(It's still interesting why we get this misleading error message though, which I can reproduce)

Oh... now I see it :)
It doesn't have anything to do with your VM, but how you use virtctl:

virtctl just takes the name of the virtualmachine as argument, without resource type, no need for virtualmachineinstance.kubevirt.io/
virtualmachine*instances* can't be star
ted at all, they are running per definition. You can start/stop virtualmachines, which will create/delete the virtualmachine*instance* for you.

(It's still interesting why we get this misleading error message though, which I can reproduce)

I see. Thanks!

Oh... now I see it :)
It doesn't have anything to do with your VM, but how you use virtctl:

virtctl just takes the name of the virtualmachine as argument, without resource type, no need for virtualmachineinstance.kubevirt.io/
virtualmachine*instances* can't be started at all, they are running per definition. You can start/stop virtualmachines, which will create/delete the virtualmachine*instance* for you.

(It's still interesting why we get this misleading error message though, which I can reproduce)

I got some new situations when running the new commands
Error starting VirtualMachine Put https://<IP_ADDRESS>:8443/apis/subresources.kubevirt.io/v1alpha3/namespaces/default/virtualmachines/vmi-centos7/start: read tcp <IP_ADDRESS>:56460-><IP_ADDRESS>:8443: read: connection timed out

And I checked the disk space usage before and after I start the VM
before:
[centos@kubevirt-test yaml]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G  8.0G  2.1G  80% /
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G   17M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           783M     0  783M   0% /run/user/1000

after
[centos@kubevirt-test yaml]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G   10G  208K 100% /
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G   17M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           783M     0  783M   0% /run/user/1000
tmpfs           783M     0  783M   0% /run/user/0

Probably due to the almost full disk space, minikube is paused
[centos@kubevirt-test ~]$ minikube status
host: Paused
kubelet:
apiserver:
kubectl:

and I can't describe the VM or delete the deployment either
[centos@kubevirt-test yaml]$ kubectl describe virtualmachineinstance.kubevirt.io/vmi-centos7
Unable to connect to the server: dial tcp <IP_ADDRESS>:8443: connect: no route to host
[centos@kubevirt-test yaml]$ kubectl delete -f centos7.yaml
error: error when deleting "centos7.yaml": Delete https://<IP_ADDRESS>:8443/apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vmi-centos7: dial tcp <IP_ADDRESS>:8443: connect: no route to host

Seems you are still trying to start a virtualmachineinstance. That is not possible. VMIs are always running. You can only start virtualmachines.
Also, your centos7 VM seems to be so big that your very small machine (only 2 GB space left before creating the VMI) is running out of space and just stops working.

Seems you are still trying to start a virtualmachineinstance. That is not possible. VMIs are always running. You can only start virtualmachines.
Also, your centos7 VM seems to be so big that your very small machine (only 2 GB space left before creating the VMI) is running out of space and just stops working.

So I deployed the YAML file for VM and ran kubectl virt start <name of VM> . That seems to be the same as the way I start the testVM. Also, I am kind of lost about VM vs VM instance since instance and VM are sometimes interchangeable on cloud platforms like GCP.
Disk usage is another issue. I need to try with a larger instance but I am not sure that will work since the disk space keeps growing ever since I started the minikube even when I delete deployment (https://github.com/chinadd/log/blob/master/chart.png).

disk space keeps growing

yes, because downloaded docker images aren't removed automatically
Looking for a good explanation of VM vs VMI...

disk space keeps growing

yes, because downloaded docker images aren't removed automatically
Looking for a good explanation of VM vs VMI...

OK we got it working by removing the PersistentVolumeClaim part of VM.
[centos@kubernetes-master kubevirt-lustre]$ kubectl get vmi
NAME          AGE   PHASE     IP            NODENAME
vmi-centos7   16m   Running   <IP_ADDRESS>   minikube

I am still getting this authentication error with 0.24.0:
Error starting VirtualMachine the server has asked for the client to provide credentials

kubectl works just fine, but virtctl cannot connect. Any solutions for this? kubectl is installed via Snap, but the config is in ~/.kube/config and accessible to virtctl.

i have the same issue
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
name: testvm
spec:
#terminationGracePeriodSeconds: 30
pass: gocubsgo
user: cirros
running: true
template:
metadata:
labels:
kubevirt.io/size: small
kubevirt.io/domain: testvm
spec:
domain:
devices:
disks:
- name: containerdisk
disk:
bus: virtio
- name: cloudinitdisk
disk:
bus: virtio
interfaces:
- name: default
bridge: {}
resources:
requests:
memory: 64M
networks:
- name: default
pod: {}
volumes:
- name: containerdisk
containerDisk:
image: kubevirt/cirros-registry-disk-demo
- name: cloudinitdisk
cloudInitNoCloud:
userDataBase64: SGkuXG4=
kubectl virt start testvm -v 10
Error starting VirtualMachine the server has asked for the client to provide credentials
someone can help ?

I know this is an old issue, but I run into the same problem because GKE uses auth plugin to authenticate. I created a service account with access token and then run the command like this: virtctl --token="$TOKEN" start testvm and then it worked.
I haven't googled too much yet, maybe there is some way to make it work with auth plugin, but at least there is a solution if you stumble upon this, docs haven't been the best so far.


Add ability to set a comment when adding additional bounty

This is related to this bounty.
--
Preview of the changes on the individual bounty page:

Goals
I wanted to give users the ability to add their own notes when they are adding more to a bounty.
Changes

I've made the additional bounty amount a #reward tag on the kind: 1 note. I described some of the tradeoffs in this comment. But I've tried to make sure that older notes with the amount in the content field are handled well here.
I've added prettier, which explains the large number of files changed. Sorry about the larger changeset but this should make sure that new contributors have a more consistent experience (with smaller changes).

Questions

Should we additionally add a link back to the original bounty in the text content? Or should we simply allow clients to show these as a reply on the original note? I think this was more along the lines of the original bounty and it's doable but wanted to get thoughts.

hey! i am reviewing the changes and found a bug in the total sats pledged by the user component, it is returning NaN

My first thought is, why if instead of using a new tag to describe the reward, do we use that tag for the note and keep content as the number of sats pledged? Did you think about that?
In regard to your question, i think we could keep it as a reply to the original note

Thanks @diamsa – good catch on that bug – I'll sort it shortly.
I did think about putting the text content in the tag instead of the content but given the content is what you'd expect to see when displaying a kind: 1 event I went with that version. I'm curious to know more about why the amount is in the content field. Maybe I'm overlooking something?
My question was more related to the idea of doing something like the following:

User adds 123 sats to a bounty and leaves a note saying, "I'm excited to add to this bounty".
We would put the amount in a tag (as I've done here) and, in the content field, we'd put the note content + a pre-formatted message. So the end result would be something like: "content": "I just added 123 sats to #[0]. I'm excited to add to this bounty" where the #[0] is a link to the bounty itself.

What do you think?

@erskingardner honestly, i didn't pay attention to the fact that this kind 1 was going to be displayed in other clients and that it needed to be more descriptive.

I am working on the UI to display the people who pledged new sats as in the image above. What about setting the poster note in a tag, called it posterMessage, and putting content with a pre-formatted message ("content": "I just added 123 sats to #[0]) as you said? I think This approach could give us more freedom to customize the UI while still being descriptive to other clients, doesn't it?

great! sounds good to me. I think the copy for content as above is fine.

Cool – I'll update this PR when I get the changes made.

@diamsa – I think I've sorted everything we talked about – let me know what you think.

Accidentally published to a live relay but it's a good indication of what it will look like in real usage. The root event is missing because it was only published to my local relay.

🎉


eslint-plugin-import v0.12+: Webpack resolver, lint jsnext:main

FYI: I just published v0.12.0 of the import plugin for ESLint. With it (and the newest Webpack/Node resolvers) comes the ability to read the jsnext:main field of node_modules that provide it, and lint against the exports thereof.
Redux, amongst other packages, currently supports this field.
Just letting you know in case you want to try it out. 😅 I noticed the package.json is pegged to ^0.8.0.
You may also be interested in leveraging the Webpack resolver, which can read a Webpack config for things like resolve.moduleDirectories, resolve.root, resolve.extensions, externals, and knows how to ignore inline loaders.
Would turn your existing import plugin settings in the .eslintrc from
  "settings": {
    "import/parser": "babel-eslint",
    "import/resolve": {
      "moduleDirectory": ["node_modules", "src"]
    }
  },

to
  "settings": {
    "import/parser": "babel-eslint",
    "import/resolver": {
      "webpack": { "config": "webpack/prod.config.js" }
    }
  },

assuming I understand your project correctly.

Ah, sorry, just noticed you've already got Greenkeeper pestering you, heh.
FWIW (and for the links back to this issue) #703 is the first one that knows to go read jsnext:main in node_modules, but #629 will get you the Webpack resolver.

I appreciate the update. Also, I love your plugin =) Me and @erikras were stoked when I happened across it.
I'm going to update in my projects and check it out--excited! It will be updated soon enough in here.
If anyone wants to work up a PR, that'd be nice, too =)


Live Share crash on go to definition from razor file

This issue has been moved from a ticket on Developer Community.

I was screensharing from a virtual machine to my desktop via LiveShare.  The vm is on Visual Studio 2019 16.2.0 Preview 1.0 on .NET Core 3.0 preview 5. My desktop is on Visual Studio 16.1.1 with .NET Core 2.2.2.
I am trying to work through the BlazingPizzas workshop.  I was doing step 1 link.  I copied the List<PizzaSpecial> specials; line into the Razor file, but when I tried to go to the defintion of PizzaSpecial, desktop Visual Studio crashed. I didn't see anything that says this is not supported.

Original Comments
Feedback Bot on 5/28/2019, 10:43 PM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
Feedback Bot on 6/3/2019, 01:51 PM:
This issue is currently being investigated. Our team will get back to you if either more information is needed, a workaround is available, or the issue is resolved.

Original Solutions
(no solutions)

This should be resolved in the latest VS2022 releas! Thank you for the bug report!


“Resetful” should be “RESTful”

This is critical issue, making readers consider this as extremely not professional at first glance.

thank you，has changed.

看了你刚刚的commit，没有改对。是REST，不是RESET。

😰😰，还真没注意这点，太丢脸啦:snail: :snail: :snail:

哈哈哈，没关系，文档写的挺好的


[Feature]: Too much database schema information exceeds the model input token

When there are too many tables in the database, is there any way to match the relevant table information in the schema and send it to the model according to the tables involved in the user query, instead of putting all the table information into the prompt to avoid exceeding the token limit?

In our next Feature, we will provide a solution to this issue. As we aim to create a global community, we encourage the use of English for communication.

Has this feature been realized? It doesn't seem to be resolved in my experience. If I only need to manipulate the 'students' table, I will still put all the table information in the database into the prompt. I think this redundant information not only interferes with the model, but also makes the prompt too long. Are you considering adding the selection table?


update to alamofire 5

Done with release 0.8.3
https://github.com/Workable/swift-error-handler/releases/tag/0.8.3
Let me know if everything is ok!


XSD Schema, Model decoupled from XML, minor additions

Guys,
in this PR I have completed the XSD design (so far), I decoupled the main Model from the XML Serialization engine and removed all the references to System.Xml.Serialization from the Model, I created a mapper from XML to Model (I will do the reverse path in the upcoming hours), I added Views, MinorVersionLimit, MaxVersionLimit, and Hidden to the ListInstance (both in the Model and in the XSD), I fixed the Folder property for the File type in the Model.
Lastly, I updated the Model test methods accordingly to my changes. I ran all the tests Methods in the DomainModelTests class and are all good except GetRemoteTemplateTest, which is not related to what I did.
Please double-check what I did, I will not merge it by myself to avoid issues or confusion (btw it can't be automatically merged :-( !).
Tomorrow, I will continue working on my tasks.
Thanks.

@PaoloPia, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;


VM listing fails in service explorer when switching authentication from subscription file to A/D auth

VM listing fails in the following scenario:

Import an Azure subscription settings file and list VMs.
Open "Manage Subscriptions" window and clear subscriptions.
Then sign-in to an Azure subscription using active directory authentication.
Close "Manage Subscriptions" window.

Now you'll see that VM listing fails with a certificate error.

This is working as expected in the latest build.


resize internal filesystem to be larger?

I tried making the qcow image bigger (to 10gb) in the Docker file, but I can't seem to figure out the next step so that I can tell e2fsresize to grow the filesystem. It looks like the qcow image doesn't have a MBR-style disklabel.
Can you offer any advice?

Never mind, operator error.


Support with configuration in formatcp!

The standard format! macro supports with configuration https://doc.rust-lang.org/std/fmt/index.html#width
I am trying to format 0x0100 using "{:#06x}" however I am getting
failed to parse the format string at the character number 2,
       unknown formatting: "#06x"

When I remove 06 from the format (the resulting format is "{:#x}") I am getting 0x100 which is not what I want.
Is there a way to set with?

There is no way to set width, don't know how hard it'd be to implement such that it works like in std.

In the meantime could you remove the statement "The {}/{:} formatter works the same as in format"? I wasted a while assuming that meant I could pass it the same things as format! before I found this issue.


When API is updated the msg is displayed twice

Issues raised by Usability Testing candidates

Two Info messages are shown at the same time for the following scenarios on the publisher.

When lifecycle state is changed
When subscription configurations updated
When a scope is added/deleted

Following info messages are displayed simultaniously.

${api_id} updated successfully / error
${scenario} updated successfully / error

If the above is the expected behaviour, please close the issue, Otherwise, only either specific update scenario message or ${api_id} updated status message can be displayed.


Save files gone and new authentication after envoirment variables changed

Hi , i'm a total noob with this and i'm having this issue ,
i added the cariable of tick rato to set it to 60 instead of 30 and after a reboot the server acted like a new server asking the confirmation for authentication, doing it the same as before and the save was gone. I tested afer again , every time i change somethign in the variables the server act like a new one and loose the save file. Is this suppoused to happen?
And where should the save file i upload stored to?  The 2 main folders required for the container are empty. Also this is expected behavior?
Than you for any response.

No, this is not expected behaviour. Please fill out the issue template, otherwise I can't help you.


Improve annotations in automl and ml modules

Why are these changes needed?
Hi, this should help new FLAML's contributors familiarise themselves with the code.
Annotation is still not comprehensive but helps (me, at least) understanding:

when variables named estimator are actual instances of some BaseEstimator subclass
what's the "state" being passed in "_compute_with_config_base" (it's AutoMLState to my understanding, is there any case in which it could be something different?). Notice that in order to annotate this had to import annotations from "future"
when "metric" and other variable names occurring frequently are strings without relying on the variable name itself (e.g. metric_str).

Related issue number
The import from future has been briefly discussed in #907 .
I am sorry the modifications are in 2 modules, but had to look at both to better understand the expected types.
Checks

[x] I've used pre-commit to lint the changes in this PR, or I've made sure lint with flake8 output is two 0s.
[x] I've included any doc changes needed for https://microsoft.github.io/FLAML/. See https://microsoft.github.io/FLAML/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

@coffepowered well done moving forward with this. I'm sorry to say that I have a pretty busy couple of weeks ahead of me, so I don't think I will be able to give a proper review soon.


fixed, image stretch on home slider, fix style on seveWonders.html page and fix image path

fixed, image stretch on home slider,
fixed style on seveWonders.html page
fixed image path
BEFORE:

AFTER:

hello @sandeshad100  Can you fix all pages UI and then raise a PR.