Add Dev Containers to KubeVirt project

What this PR does
Before this PR:

Dev environment is amd64 focused
Contributors on ARM are struggling and still want to have a way to build amd64, one way is an already-setup remote dev environment.

After this PR:

they easily jump into a dev environment where they can work on a KubeVirt issue, build, test, and push images.

Why we need it and why it was done in this way
The following alternatives were considered:

abstracting out the build process and maintaining the different combinations (maybe stepping away from Bazel before looking at it?)

Checklist

[ ] Design: A design document was considered and is present (link) or not required
[x] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

Add dev containers definition to KubeVirt project

Thanks @acardace  for your reply. To clear up any confusion, DevContainer is not a personal configuration file. Instead, it's a standardized development environment specification benefiting all contributors.
Although it may first appear as personal setup, it's actually a generic configuration aimed to ease onboarding and project switching. Each component added to it remains open for discussion to ensure it's vital, and not too specific.
At the recent KubeCon, during the "KubeVirt contribfest" (a great initiative, thanks to @aburdenthehand , @alicefr, and others for organizing it, and for the KubeVirt goodie 😂), several participants using MacBooks encountered issues building the project. These issues included container images not built for ARM and code references to functions unavailable on macOS.
As a MacOS user, I've been leveraging the DevContainer spec with GitHub Codespaces as a remote dev environment to work on a new feature for KubeVirt to proxy the existing VNC WebSocket to a port.
Here are some other reasons, more broadly, why using a DevContainer spec can be interesting:

Consistent environment: The entire development environment is defined in code and can be committed directly to the repo. This ensures that all developers are working in the same environment, reducing the "it works on my machine" problem, and making it easier for new contributors to start.
Simplified setup: All the tooling required for development, such as the programming language, linter, test suite, and other dependencies, is setup in the container once and reused, simplifying and speeding up the process of setting up a local development environment.
Isolation: The development environment is isolated from the host system, no need for specific tools or containerizing the build process being already encapsulated as a dev environment.
Cross-platform: Whether you're using a Windows, Linux, or macOS system, a DevContainer provides the same environment across all platforms.
Integrated with IDEs and Development Environment Tools: broad range of IDEs and development environment tools supporting it: VS Code, JetBrains IDEs with JetBrains Gateway, GitHub Codespaces, Gitpod, Devpod, etc...

It's important to note that adding a DevContainer spec to a project does not impose it on every developer; they can still use their local setup or any other setup they prefer. The DevContainer will just be another option for those who wish to use it.

The DevContainer will just be another option for those who wish to use it.

But how do you use it? I understand the idea I think, but I don't see what problem it solves wrt developing or running KubeVirt.

The DevContainer will just be another option for those who wish to use it.

But how do you use it? I understand the idea I think, but I don't see what problem it solves wrt developing or running KubeVirt.

The problem this solution addresses is that it removes the need for contributors to have amd64 hardware to contribute to KubeVirt. Instead, it provides them with a ready-to-go remote environment fitted with amd64, where they can code, run tests, make contributions, and run forks
During KubeCon, a third of the participants had to pair with someone else who had amd64 hardware. Ouch! We can safely assume this limitation also impacts the pool of KubeVirt contributors in general
Before using a DevContainer spec, being on an ARM MacBook, I've been with an EC2 instance to pull my branch and build and push my KubeVirt fork
As for usage, it depends on the entry point contributors choose:

GitHub Codespaces: Most contributors will likely use this way due to its seamless integration with the repository and the availability of 200 free minutes a month.
Gitpod/Devpod: The usage will depend on their target environment. For instance, pushing the development environment to a Kubernetes pod, while also building the project in a container, could be a challenge.
(others...)

I would say, for devpod or others, it is up to the contributors to figure this out or choose the simpler option with Codespaces

/label sig-buildsystem

IIUC the scope of the problem is that we currently don't have cross-platform support for our build containers, as well I am not sure whether there is aarch64 support for Bazel.

I assume DevContainers could be an easier solution rather than spinning up amd64 emulated VM on your Mac and doing rsync between the host and the guest.

I assume DevContainers could be an easier solution rather than spinning up amd64 emulated VM on your Mac and doing rsync between the host and the guest.

DevContainers isn't an option to developers from various companies that contributing to KubeVirt, where they don't pay to Docker business subscription to have Docker Desktop installed in MacOS/Windows.


Need advise on using AEMM

@bwagner5  First of all thank you for introducing me AEMM. Please advise.
What is available with me ? I had to fix my kops cluster issues and now it's stable and it has been upgraded to the version where it supports this startergy. So you maybe reading it again I, apologize for that.

Spot instances as a kubernetes nodes are provisioned.  I used spot Allocation: capacity optimized startergy.
Attached the IG's with the cluster auto scaler
aws-node-termination handler daemon set has been installed on the newly created spot nodes. I see the logs it has connected with the IMDVS2
Sample stateless web application deployed on the nodes and it's running
What is needed?

Highly helpful if you could give me the list of commands to connect with the spot instance with this AEMM
1.  On same name space I should install this AEMM or any name space is fine ?  Should I install this on the non spot instance which I'm not using for this testing right ?
2. Command to connect a specific spot instance with AEMM?. So that my application will be migrated to the other spot instance which is available
3. Command to interrupt the spot request / instance?
3. How to check the spot interruption notice / any termination notice as such ?
4. End goal is that I should see the logs related to spot interruption and node draining of the spot and stateless application migration to other available nodes in the AWS node termination handler before it get's terminated if my understanding is correct.
https://github.com/aws/amazon-ec2-metadata-mock/blob/master/docs/usage.md

Adding to this, I'm bit confused because it says it's not a real spot interruption.. It's a mock spot interruption.. Even if it's a mock interruption then node termination handler will handle that interruption and drian the nodes right ? But how to connect it with the spot node is a question again ?

Hi @kavicse87 !
To connect aws-node-termination-handler (NTH) and AEMM together, you'll need to configure NTH to use a different Instance Metadata URL than the default <IP_ADDRESS> address.
Checkout the helm readme configuration table for NTH: https://github.com/aws/aws-node-termination-handler/blob/master/config/helm/aws-node-termination-handler/README.md
Recently, @brycahta converted AWS Node Termination Handler's end-to-end tests to use AEMM. You can checkout the e2e code that configure NTH to use AEMM rather than the real EC2 Instance Metadata Service here: https://github.com/aws/aws-node-termination-handler/blob/master/test/e2e/spot-interruption-test#L36\
AEMM can be deployed on one or multiple nodes in the cluster. It is accessed as a service so it doesn't matter if you have 1 or 100 copies installed on the cluster.
Since you would like to monitor to see what happens when the fake interruption is received, you'll need to setup a kubectl log tail on the NTH pod, or if you have prometheus configured, you can scrape NTH for metrics on interruptions.
To make it a little easier to catch the mock spot interruption in action, you can configure AEMM to delay the spot ITN for a period of time using the mockDelaySec argument. Check out this section of the docs for an example: https://github.com/aws/amazon-ec2-metadata-mock/tree/master/helm/amazon-ec2-metadata-mock#user-content-installing-the-chart-with-overridden-values-for-aemm-configuration
Hope this helps!

Thanks @bwagner5  let me go through this and let you know..

@bwagner5   Please clarify.. If I configure the AEMM and connect it with node termination handler.. So the spot interruption, I meant the mock spot interruption that AEMM generates will be handled by AWS node termination handler and that will start the draining process of  the spot node by any chance to see the pods are migrating to the other node's as expected ? This test is pending since the spot instance c5d.large not getting interrupted as we couldn't get any spot instance from the spot pool which is >20%.. Please advise how can I test this and see the actual functionality tested for the aws node termination handler..

@bwagner5 please advise.

@kavicse87 Configuring node termination handler to listen to AEMM rather than the actual EC2 Instance Metadata (<IP_ADDRESS>) will cause a mock interruption even which node-termination-handler will handle. There's not even a need for the node to be a spot instance that you are testing on.

Hi @kavicse87 -- closing this as it's been stale for over 2weeks.
Please re-open if you need support, Thanks!


Improvement: Add a Xmas color theme

TODO

Add a theme of Xmas 🎄

Use some texture image like below

Code Example to add

The PR of BlueNight Theme

https://github.com/weseek/growi/pull/429

Other Example

@yuki-takei has funded $100.00 to this issue. See it on IssueHunt

@yuki-takei May be I can help with this?

@yuki-takei What is your opinion on this?

@yuki-takei I will submit a PR with the theme.

@shaminmeerankutty has submitted a pull request. See it on IssueHunt

@yuki-takei has rewarded $70.00 to @shaminmeerankutty. See it on IssueHunt

:moneybag: Total deposit: $100.00
:tada: Repository reward(20%): $20.00
:wrench: Service fee(10%): $10.00

This theme will be released on v3.3.0


Support<EMAIL_ADDRESS>

This fixes #11 .

upgrade to fly 2.0 plugin syntax
use real fly instance in test
upgrade node version to >= 4.6
simplified test command in npm script

By the way, should we use tspec on CI for better output layout ?


NameError: name 'v_args' is not defined. Did you mean: 'vars'?

I have all library etc downloaded

thanks is working now perfectly


coreclr-debug/acquisition telemetry should be improved

From telemetry in version 1.2.2 of the extension , 24.3% of users hit into a 'dotnetRestore' failure acquiring the debugger.
Currently, our telemetry for dotnetRestore failures isn't great -

We don't know the architecture of the OS we are on (currently only important on Windows)
We don't know the version of the CLI which is installed
We don't have any sort of error message from the CLI

For scraping the error message, the CLI seems to write the error to stderr similar to the following:
Errors in C:\proj\clicon\project.json
    Unable to resolve 'does-not-exist (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'.

(NOTE: This is a bogus error I came up with by declaring a package named 'does-not-exist').
My suggestion is -- if error code is '1' look for the first error line that starts with four spaces, and isn't empty, and remove the user's alias if it happens to be in it.

Fixed in 693. This should be available in the next release.


run prettier on everything

Many files haven't had prettier run on them, because they haven't changed since prettier was added.  This PR includes an initial run of prettier on every file (except those in .prettierignore).  Should have done this when prettier was first added, but better late than never.
I'm also activating prettier for scss files, so they will have uniform formatting in addition to JS and JSON.

Nevermind, prettier formatting of scss comments is very buggy.


Where is zeroblob ?

Hello,
I m unable to find the zeroblob implementation
In the commit for bpo-24905 it is used with no namespace
Thanks
Momchil

I think you are mistaken. zeroblob() is a sqlite function and is not exposed in pysqlite3 or in the changes for bpo-24905 https://github.com/python/cpython/pull/271

If it is not exported how do I use it ?
I see it here:

That is a functional being executed within a SQL query, and corresponds to a sqlite built-in:
https://sqlite.org/lang_corefunc.html#zeroblob

Apologies. I get it now.
Thank you.

ahh .. I can't use it like this.
allocates like 200Mb of memory and I m only trying to zeroblob a byte array of 10
Chances are this is a sqlite problem and not python right ?


I need do something before the app exits, What shall I do?

Koa version is 2.7.0.

App or http server?


SCT-966 Add MinHashParameters tests.

Codecov Report

Merging #53 into master will increase coverage by 2.04%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master      #53      +/-   ##
============================================
+ Coverage     26.25%   28.29%   +2.04%
- Complexity      208      221      +13
============================================
  Files            57       57
  Lines          1836     1827       -9
  Branches        233      233
============================================
+ Hits            482      517      +35
+ Misses         1316     1283      -33
+ Partials         38       27      -11


ardour: 6.0 -> 6.2

New release.
Smoke-tested on a non-jack system -- seems OK, but could probably use testing on jack as well :)

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Did a basic test with nixpkgs-review pr on jack audio (1.9.14) - creating an audio track, recording, playing back. No issues discovered, jack works.

I also tested some MIDI.
Works great!

I forgot this PR existed, did one myself, and it got merged. https://github.com/NixOS/nixpkgs/pull/94440
:shrug:


Add timestamp to messages using StageTimeWrapper

Based this on Timer, so hopefully it's a good use of the pattern.

Chat v1.1.0 released with timestamps added to messages


Fixes an issue with GetContainerStatsAsync

Changes the response type from the stream to a ContainerStatsResponse and not JSONMessage like most of the progress API's use.
Resolves: #271

@galvesribeiro - Still awaiting confirmation on this so don't merge yet.


Unable to correct description URL

Needed to amend the description URL because it had the publishers URL by mistake.
went in to dialogue and chnaged the URL pressed Check URL server went off and did something... and then returned to the certificate with the original URL still there.  repeated this twice.
ended up deleting the certificate and recreating to make the change.

Steps to reproduce:

Create a new certificate
Enter a URL in first field (where is it described) https://certificates.theodi.org/en/surveys/9AT_ZH0K3g/start e.g. http://data.gov.uk
Click check URL
Edit that same field, going back to start page & enter new URL (eg. https://data.gov.uk/dataset/mot-active-vts)
Click Check URL -> error


Use case: use CAM-KP to "explode" an edge

Given an edge, can CAM-KP provide a graph that replaces that edge with a series of edges and nodes that describes how that edge is defined in one or more pathways.
Benefits:

Explains the relationship between the two nodes
Provides additional nodes for follow-up queries

Chris things "[X] upregulates/downregulates [geneX]" might be a templated query later this year, so that's what we should be focusing on.

Here are two different ARAX queries that you can pull gene-chemical edges or just genes from, as described on slide 8 in this deck:
https://arax.ncats.io/?r=44679
https://arax.ncats.io/?r=52713

I'm not sure I'm fully understanding your comment, but essentially, I'm seeking a way to invoke CAMs to better explain the chemical - gene edges in the workflow below. For instance, the current predicate linking biolink:Gene to biolink:ChemicalEntity (or biolink:Drug, Small Molecule) in Paths A and B is biolink:affects, which isn't terribly informative. Can we construct a TRAPI query that targets CAM and returns more informative information, e.g., biolink:ChemicalEntity - biolink:up/downregulates - biolink:Gene? The tissue/cell specificity is not an issue in Path A, but in Path B, you could use the output from the first hop to biolink:GrossAnatomicalStructure to anchor the results, if that makes sense.

Hi Kara! I think it's okay to wait until we get the other use case (#536) sorted out before we need to dive deeply into this. However, if you'd like to meet to go over what I've been working on, that would be fine! I'm hoping to have the lookup endpoint (#572) done and backend issues (https://github.com/ExposuresProvider/cam-pipeline/issues/80) fixed by early next week, so sometime next week might be a good time to meeting. Let me know!

I agree that this can wait, now that I better understand the plan. Sure, let's meet after the lookup endpoint is active. Thanks!


Vendor javascript libraries include some LGPL-licensed code

Gitea version (or commit ref): 1.6.1, probably previous versions up to current master HEAD 3b97b9efbf9846181d1a6a967e0317d0cf66008f

Description
The jquery.datetimepicker.js (https://github.com/go-gitea/gitea/blob/3b97b9efbf9846181d1a6a967e0317d0cf66008f/public/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.js) includes the "Parse and Format Library" copyrighted "2004 Baron Schwartz "  and licensed under "GNU Lesser General Public License 2.1". (see at end of file).
So the Javascript licenses displayed at https://try.gitea.io/vendor/librejs.html is not correct.
And more important, the Gitea project is probably not compliant with this license by including it and distributing under an MIT license.
The "jquery.datetimeicker" is itself not compliant either.  This has been reported as issues https://github.com/xdan/datetimepicker/issues/169 and https://github.com/xdan/datetimepicker/issues/299 with no suitable answer I think.

blocked by upstream repository and if this keeps a long time, we should change the library.

I think the LGPL-3.0 license means that as long as the library itself is not relicensed and can be swapped out for a different version by the user, we are still in compliance. Gitea is an open source project so the user can easily recompile with a different version of that library. Feel free to correct me though (I should probably read the whole text at some point. I do use the GPL licenses a lot).
The information being incorrect in librejs.html is an issue though. Let's see what happens with the upstream repo.

jquery.datetimepicker.js is not used anymore
and if you look at https://try.gitea.io/js/licenses.txt you can not find LGPL
RESOLVED


TF 1.4.0rc is not supported.

I installed jupyter_tensorboard with TF1.4.0rc.
It's not supported.

jupyter-tensorflow v0.1.4.dev0 which support tensorflow 1.4.0rc has been uploaded to pypi.  Please upgrade via
pip install --pre -U jupyter-tensorflow

Thanks. It works.


Adding test code coverage report generation

- What I did
Added test code coverage report generation - initially, for at_secondary_server unit tests - integrated with codecov.io
- How I did it

Signed up at codecov.io and got token for at_server repo, added the token as CODECOV_TOKEN_AT_SERVER to github secrets
Added coverage: ^1.03 to dev_dependencies section of the pubspec.yaml files in at_root_server, at_persistence_root_server, at_secondary_server and at_persistence_secondary_server
Modified at_server.yaml workflow adding steps to generate code coverage info during unit test run for at_secondary_server , and upload to codecov.io. Added the Codecov token CODECOV_TOKEN_AT_SERVER to github secrets
Modified .gitignore to ignore files generated by coverage tooling if running coverage locally

- How to verify it
This seems unlikely to work first time but if it does then the report should be visible at https://app.codecov.io/gh/atsign-foundation/at_server
- Description for the changelog
Added test code coverage report generation - initially, for at_secondary_server unit tests - integrated with codecov.io

Codecov Report

Merging #420 (7de09a8) into trunk (53d9700) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            trunk     #420   +/-   ##
=======================================
  Coverage   28.76%   28.76%
=======================================
  Files          76       76
  Lines        3146     3146
=======================================
  Hits          905      905
  Misses       2241     2241

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 53d9700...7de09a8. Read the comment docs.

Nice work @gkc


SAP DBTech JDBC: [7]: feature not supported: Aggregate function doesn't support column with array/lob type: line 89 col 27 (at pos 3223)

hi，i use u code "p_basecol_view_usage.sql " to create the procedure, but get error info:
Could not execute 'create procedure p_basecol_view_usage( -- schema name LIKE pattern to look for. p_schema_name ...'
SAP DBTech JDBC: [7]: feature not supported: Aggregate function doesn't support column with array/lob type: line 89 col 27 (at pos 3223)
and my hana version is:
SAP HANA, express deition 2.0 SPS03 server-plus-apps version
can u solve this problem?

Look at the data type of the column you are trying to do the aggregation on. You may need to adjust it by using the TO_NVARCHAR() or similar TO_ function that ships with HANA


Final design for value reports

We put in a basic implementation so it could start being used in the VM:

You can play with this as there's a widget in the playground.
This is a bug in case we want any final design.

Moving to September milestone.

@carljbowman Did we decide not to do this? I'm pretty happy with the current design.

@tmickel - This seems fine for now. As we start to think more about the 'Monitor' UI. Closing for now.


Failed to resolve: com.github.yalantis:ucrop:2.2.2

I think the ucrop dependencies is 'com.yalantis:ucrop:2.2.0-native'

If someone is also having a problem, you can use like this for now.
implementation ('com.github.dhaval2404:imagepicker:1.0'){
     exclude group: 'com.github.yalantis', module: 'ucrop'
}
implementation 'com.yalantis:ucrop:2.2.0-native'

@dev-myatminsoe Thank you very much for the feedback.
You need to add jitpack repository in your build.gradle
allprojects {
    repositories {
         jcenter()
         maven { url "https://jitpack.io" }  //Make sure to add this in your project for uCrop
    }
}

Regarding which uCrop lib to use:
For lightweight general solution
implementation  'com.github.yalantis:ucrop:2.2.2
To get the power of the native code to preserve image quality (+ about 1.5 MB to an apk size)
implementation  'com.github.yalantis:ucrop:2.2.2-native'
So, Developer can use the ucrop lib as per there use-cases. Will Include the same in readme file as well.
Thank you!


reportOutputDirectory is undocumented in the Maven plugin

reportOutputDirectory is currently undocumented in the configuration page for the DependencyCheck Maven plugin.
Having the option documented would be beneficial.

The reportOutputDirectory is not directly configured in the plugin; rather this is bound to the reporting outputDirectory. It is showing up in the plugin help due to the creation of a single mojo that can be used as both a build plugin or a site plugin. To configure the reportOutputDirectory you must configure the reporting section like this:
    <reporting>
        <outputDirectory>${basedir}/target/reports</outputDirectory>
        <plugins>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
                <version>3.1.0-SNAPSHOT</version>
                <configuration>
                    <format>ALL</format>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

I will update the javadoc.

Ah, that makes sense. I wonder if there is then a way to mark it as <editable>false</editable> in the autogenerated plugin.xml so that it doesn't appear as a suggested parameter for the plugin during pom configuration.
I believe marking the parameter as @Parameter(..., readonly = true) in the same Java code would stop it from being suggested, but not sure it would necessarily play well with how the rest of the plugin behaves.

@mackncheesiest thanks for the suggestion - marking the parameter as readonly does in fact remove it from the help:describe.  Thanks!


Status of this crate

From the README:

native-tls support for Hyper. hyper-tls is currently made for async hyper, which isn't released yet.

Is the plan to eventually support Hyper 0.11? If not, should we tell people to use hyper-tls (which is released now)?

Given that hyper-tls already exists I don't see any reason to update this as well. I'll update things to note that hyper-native-tls should only be used for hyper 0.10.


[0.11.0] Select statements return odd results for some functions when series has a large number of points

The following queries were ran against an instance with 1 series and 10 million points in that series. The series was generated with influx_stress with the configuration found in this gist.
influx_stress config
Mean works just fine.
> select mean(value) from cpu
name: cpu
---------
time	mean
0<PHONE_NUMBER>9997156

However,
> select count(value) from cpu
name: cpu
---------
time	count
0	60480
0	60480
0	60480
0	60480
....
0	60480
0	60479
0	60480
...
0	60480
0	20801
0	60480
...
0	60480

> select min(value) from cpu
name: cpu
---------
time	min
0	0
...
0	0

> select max(value) from cpu
name: cpu
---------
time	max
0	999
...
0	999

> select sum(value) from cpu
name: cpu
---------
time	sum
0	3.0241464e+07
0	3.0242999e+07
...
0	3.0277734e+07
0	1.0418961e+07
0	3.0283981e+07
0	3.0149376e+07
0	3.0168619e+07
...
0	3.0168315e+07
0	3.0162964e+07
0	3.0225513e+07
0	3.0183283e+07
0	3.0101842e+07
0	3.0216514e+07
...
0	3.0231895e+07
0	3.022347e+07
...
0	3.0313508e+07
0	3.0257853e+07
0	3.0284292e+07
0	3.0247962e+07
...
0	3.0152689e+07

@mjdesa I'm not sure if I'm seeing the same issue with v0.10.0 and Grafana, but what happens is that I run query like:
SELECT mean(load1) FROM system
WHERE [probably] time > now() - 30m
GROUP BY host

and what happens is that eg. values for one specific host are missing past, say, 2-3minutes on the "right side". But this could be issue with Telegraf or WAL.
Another issue I'm seeing is that values are missing on the "left" side. Almost like somehow no data would fit the last minute of now() - 30m. However, data are there, that I'm sure of. If I select bigger time range, no such thing occurs.
Last, but not least, this could be issue with Grafana, although I somewhat doubt it.

@zstyblik with the 0.11.0 release we've been rewriting our query engine. I believe the issues I'm seeing were introduced in the branch for this https://github.com/influxdata/influxdb/pull/5196 PR.

@mjdesa I see. Ok, moving on.

@mjdesa this looks like a symptom of multi-shard queries not having been implemented yet. So each shard returned a count rather than an aggregated total.
Can you try it again with the latest in @benbjohnson's query-engine branch? We just merged support for multi-shard queries about an hour ago.

@jsternberg every thing looks good to me.

Confirmed that this works now.


gcp - re-record on stop instances test data

looking to address test failures from ci, this starts as just a re-record, also exploring freezing auth lib in requirements/setup.

ok the issue is bit more clear, the latest version of google auth switched out the auth url, which caused an issue for our static auth response in the replay which was targeted at the previous auth url.
https://github.com/GoogleCloudPlatform/google-auth-library-python/pull/281/files


refactor(all): use atomic types

Codecov Report
Patch coverage: 50.00% and project coverage change: +0.02 :tada:

Comparison is base (9f64785) 63.70% compared to head (815344a) 63.73%.

:exclamation: Current head 815344a differs from pull request most recent head 8ff24a1. Consider uploading reports for the commit 8ff24a1 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #417      +/-   ##
==========================================
+ Coverage   63.70%   63.73%   +0.02%
==========================================
  Files         131      131
  Lines       17926    17907      -19
==========================================
- Hits        11420    11413       -7
+ Misses       5963     5950      -13
- Partials      543      544       +1

Impacted Files
Coverage Δ

internal/storagenode/telemetry/metrics.go
57.93% <0.00%> (ø)

pkg/types/types.go
60.91% <ø> (+1.87%)
:arrow_up:

pkg/mrc/mrconnector/mrc_proxy.go
29.60% <21.42%> (ø)

internal/storagenode/logstream/append.go
80.00% <44.44%> (ø)

internal/storagenode/logstream/sequencer.go
92.48% <60.00%> (ø)

internal/storagenode/logstream/replicate_client.go
86.06% <62.50%> (ø)

internal/storagenode/logstream/writer.go
85.83% <66.66%> (ø)

internal/storagenode/logstream/backup_writer.go
89.65% <71.42%> (ø)

internal/storagenode/logstream/executor.go
81.25% <72.72%> (ø)

internal/metarepos/raft_metadata_repository.go
77.68% <75.00%> (+0.15%)
:arrow_up:

... and 6 more

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

To stack multiple PRs linearly, I close this PR, duplicated to #448.


Replace deprecated use of Locale

There is some deprecated usage of the Locale constructors in the code. Please replace with recommend new way of obtaining those locales.

New method of creating a Locale is only available in versions higher than 11. So closing this ticket.


Need to raise error when missing URI is called

Currently, when user calls a function with nonexistent URI, the functions such as getSequence returns nothing. It should raise an error instead.

Oops, this is actually a duplicate of #25


When using unchanged metadata.yaml no deployment is triggered

TL;DR
We use the :latest tag in our metadata.yaml, when creating a new image and pushing it to gcr and retrigger a deployment with

name: Deploy to Cloud Run
id: deploy
uses: google-github-actions/deploy-cloudrun@v2
with:
region: europe-west1
metadata: ${{ inputs.cloud_run_service_metadata }}

It seems to just skip the deployment process completely instead of force deploying. This causes no new revision to be created and cloud run using the old cached image
Expected behavior
Deployment should be triggered and new revision should be created independently if data changed or not
Observed behavior
Deployment reports success but no new revision is created
Action YAML
name: deploy
on:
  workflow_call:
    inputs:
      ref:
        description: 'The git ref to deploy'
        type: string
        required: true
      environment:
        description: 'The deployment environment (e.g. development, production)'
        type: string
        required: true
      cloud_run_service_name:
        description: 'The name of the service in cloud run'
        type: string
        required: true
      cloud_run_service_metadata:
        description: 'The metadata of the service in cloud run'
        type: string
        required: false
      project_id:
        description: 'The Google Cloud project ID'
        type: string
        required: true

    secrets:
      deploy_key:
        description: 'The Google service account key used for deployment'
        required: true
      slack_webhook_url:
        description: 'The slack incoming webhook URL'
        required: true

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
        with:
          persist-credentials: false
          ref: ${{ inputs.ref }}

      - name: Setup Node
        uses: actions/setup-node@master
        with:
          node-version: 18
          cache: npm
          cache-dependency-path: ./package-lock.json

      - name: Install
        run: npm ci

      - name: Build
        run: npm run build

      - name: Authenticate to Google Cloud
        uses: google-github-actions/auth@v1
        with:
          credentials_json: ${{ secrets.deploy_key }}

      - name: Push to GCR GitHub Action
        uses: RafikFarhad/push-to-gcr-github-action@v5-rc1
        with:
          registry: gcr.io
          project_id: ${{ inputs.project_id }}
          image_name: ${{ inputs.cloud_run_service_name }}
          image_tag: latest
          dockerfile: ./Dockerfile-${{ inputs.environment }}
          context: .

      - name: Deploy to Cloud Run
        id: deploy
        uses: google-github-actions/deploy-cloudrun@v2
        with:
          region: europe-west1
          metadata: ${{ inputs.cloud_run_service_metadata }}

      - name: Show Output
        run: echo ${{ steps.deploy.outputs.url }}

  slack_notification:
    uses: ./.github/workflows/slack_notification.yml
    if: ${{ always() }}
    needs: [ deploy ]
    with:
      service_name: ${{ inputs.cloud_run_service_name }}
      environment: ${{ inputs.environment }}
      job_status: ${{ needs.deploy.result }}
      run_id: ${{ github.run_id }}
      actor: ${{ github.actor }}
    secrets:
      slack_webhook_url: ${{ secrets.slack_webhook_url }}

Log output
Run google-github-actions/deploy-cloudrun@v2
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/5303231e-ed70-44d3-a65d-0f3b2267b53e -f /home/runner/work/_temp/4b3ba27b-4398-4760-88df-8a0a4dfbbfd0
Successfully authenticated
Running: gcloud run services replace ./cloud-run-metadata-development.yml --platform managed --format json --region europe-west1

Additional information
No response

How does gcloud run services replace behave?


Difference between the name of the file in datasets folder and the name of the shell file in README.md

In the readme file, the name of the file suggested to be used for dataset downloading is 'download_thermalgan_dataset.sh' and the file actually present in the /datasets folder is 'download_thermalworld_dataset.sh'.
Is there any difference in these two files and if yes, how does this helps or improve overall model?

I checked the file in the datasets folder. (Since I was not able to download the data by using bash file). I am getting this error. I also checked the link in the closed issue section for the same purpose. I am getting the same error


H265 Support

Hi - Thanks for the samples - they have really helped allot. I do however have an issue playing H265 streams from Kinesis. When I push H264 video up to kinesis I can play it using the samples - however, H265 does not seem to work - do you know if there are any players that will support H265?
Thanks!
Francois

H.265 support is not really a "player" feature in the web; it is more of a browser feature. Unfortunately, Firefox and Chrome do not support H.265 playback (and likely never will). Safari does support H.265 / HEVC playback though so you can try that.
See https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs


Fix star alignment in testimonials on small devices

This pull request addresses an issue where the star ratings in the testimonials section were displaying vertically on small devices. The following changes were made to ensure the stars align horizontally:
--> Modified the CSS for the star rating elements to utilize flexbox, ensuring proper horizontal alignment across all screen sizes.
--> Adjusted the padding/margin properties to optimize the spacing between stars.
Before editing the code: (The stars in vertical alignment)

After Editing the code: (The stars in horizontal alignment)

share the issue which i had assigned to you why you people are not following the template properly

Resolve conflicts

Please once check the code sir, I resolved the conflicts.

please resolve the conflicts

Hello sir, could you explain how to resolve the conflicts sir. I am new with open source. Please help me sir.

you can take help of someone from the discord group it is the simplest step of open source

if no one responds you can let me know there i will help

Now sir.


feat: Add trackerbot

Also, the README needs to be updated. Can you include (at least) in it:

Ports required
Environmental variables configured

Also I have a feeling that the README from the template didn't get included, maybe you can start from that?


Sasl jaas config supporting

Hey, thanks for creating this useful tool!
I tried to consume my topic with sasl jass config but got the error, may I learn if it's possible to connect to the topic with sasl jaas config?
Command
./milena consume \
  -b localhost:9092 \
  -t $TOPIC_NAME \
  -f $PATH_TO_DESC_FILE \
  -H $MESSAGE_NAME \
  -o=beginning

Error
Error: Client config error: Java JAAS configuration is not supported, see https://github.com/confluentinc/librdkafka/wiki/Using-SASL-with-librdkafka for more information.

Thank you!

@vinci7 a friend of mine has tested SASL support with the latest release and it's working 🎉  on the latest v0.1.6 release

I also added the -b flag to match kcat


Split main rules file into separate files on platform-basis

Motivation
Right now Falco main rules (non-application specific) are packed into one big file https://github.com/falcosecurity/falco/blob/master/rules/falco_rules.yaml
It is hell to maintain this set of rules. Also it is non-logical to have rules for different platforms in one bundle. For example, if I am using OpenShift, I don't like to see docker-related rules, because there is no docker daemon in OSCP or OKD. If the docker daemon is run inside of OpenShift - the cluster can be compromised.
The same applies if I am using vanilla kubernetes - it is unlikely that I will have rancher-related images.
Also there definitely  must be correlation between the number of rules and the performance of falco. So it is crucial to lessen the number of rules.
Feature
Split rules into small files according to platforms:

docker host only
pod man host only
vanilla kubernetes:
openshift 3.xx (& okd)
openshift 4.xx (& okd)
rancher 2.x (based on rke)
distribution of your choice

Also it is wise to split rules into two separate lists: for master-nodes and for worker-nodes, because it is unlikely to see master components on worker nodes, and more - it must be prohibited and it may be compromise sign.

There is definitely a need to rethink the main rules file.
Currently it's targeting a broad set of behaviors across different environments, which is great on one hand, but captures too much.
I suggest we use the collective wisdom of the community and start cleaning up the default file and limit it to a more targeted set of use cases that can be applied across environments, e.g. terminal-shell-in-a-container.

@omer-sd thanks for you suggestion. Meanwhile we are trying to make our own rulesets. I hope we will be able to share it with community soon.

I agree with @gecube about splitting the ruleset in multiple files. Not sure about splitting based on platform...
Another thing that makes difficult to maintain the ruleset file is to have macros and lists in the same file.
Personally, I like the way Wazuh ruleset are classified: they put decoders in one place and rules in another.
Falco may have something similar: rules, macros and lists can be organized in separated file.
Falco may have global (apply to all) and local (apply to file) lists and macros.

Falco ruleset files could be enabled/disabled using a suffix so that if the file ends with _disabled it will not be used. In this way it is very easy to automate installations and have a easy way to see what is enabled and what is not just listing the ruleset files.

Another thing I like about Wazuh is that each rule has a unique ID. In this way you can overwrite a rule just using the same ID in a custom/local file.

Hi folks, any update on this subject? Do you need some help here?
I am quite interested in evolving these rule sets and especially make sure they work with OpenShift 4.
Thanks in advance for your guidance.

Unfortunately, no observed progress :-(

The plan is to come up with a new proposal and present it to the community. Hopefully this will happen soon.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


[Android] support api 15 (use Handler-backed ui driven).

Android API 15 still have 1.5~2.0% distribution (refer: Dashboard - Android Developer).
React Native is a good tec but many companies cannot endure loose their consumer. Choreographer triggered UI operation is the only reason that React Native Android sdk use minSdkVersion 16, so we can use a backward solution only in API 15: Handler.
In this PR, the biggest change is :

Make core operation of ReactChoreographer to an interface: ReactUIDriver;
Impl ReactUIDriver by Handler => UIDriverHandlerImpl, refactor ReactChoreographer to UIDriverChoreographerImpl;
Let UIDriverFactory to choose which one impl would be in use. (Only use handler in api 15).

Thank you @astreet ! It's a good idea and would make code more concise, I would make some change in code tomorrow. :)

Hey @astreet , I pull ChoreographerCompat to the project and refactor my code. In this case code would be simple:

make ReactChoreographer use ChoreographerCompat but not Choreographer directly;
refactor all Choreographer.FrameCallback to ChoreographerCompat.FrameCallback;
make FpsDebugFrameCallback use ChoreographerCompat and enable AnimationsDebugModule in all level;

I test it by enable handler at all API (I dont have 4.0.3 phone lol) then run UIExplorer App and appears normally.

Let's import and see what I need to fix internally :)

@astreet Thank you very much:)

Hey @astreet , travis-ci failed in flow check, but I did not change any js file lol...

@astreet Your review advice is updated, is there any problem since review state has not changed

Sorry, I have to do some manual changes internally and I haven't had a chance to do it. If I don't do it today I'll do it by early next week.

Thank you @astreet :)

This gets us towards API 15 support but not all the way there - testing locally, the app immediately crashes for me on an API 15 emulator because of other uses of API 16+ APIs. I'll land this patch without the gradle change though. If you want to add support for =API 15, we'll need to find the other usages of API 16+ methods and classes.

Oh, sorry for my naive mistake. I would run gradle lint and fix newAPI error.

For cleanliness and ability to revert, I'm landing the Choreographer change as is. When you see this PR closed, could you rebase your new changes and submit a new PR (even better would be separate PRs per API change/group of API changes)? Thanks!

Ok @astreet , all change in API compat change maybe belongs with View stuff? Also it's difficult to separate them because I use a manager class to manage them, reason is also for cleanliness and ability to revert.

I would still try to apply these changes one at a time, even if they live in the same class


Wildcards in script path do not work

Snakemake version
5.27.4
Describe the bug
Neither wildcard nor param can be accessed in script: command.
Logs
Error in rule process_layer:
    jobid: 1
    output: data/layers/municipality/output/municipality.gpkg

RuleException:
KeyError in line 50 of /home/nesnoj/git-repos/repo/Snakefile:
'wildcards'

Minimal example
I tried to use the script: command to execute a certain python script:
rule process_layer:
    output:
        process_layer_output="data/layers/{layer}/output/{layer}.gpkg"
    params:
        layer="{layer}"
    script:
        "data/layers/{wildcards.layer}/processing.py"

I tried to use paras instead but get the same message:
    script:
        "data/layers/{params.layer}/processing.py"

When I replace the wildcard by an explicit value e.g. `"data/layers/municipality/processing.py", everything works just fine.
However, using the shell: command works perfectly (for {wildcards.layer} as well as for {params.layer}):
rule process_layer:
    output:
        process_layer_output="data/layers/{layer}/output/{layer}.gpkg"
    params:
        layer="{layer}"
    shell:
        "python3 data/layers/{wildcards.layer}/processing.py"

Not sure whether this is a bug or simply not implemented, I could't find anything. The fact that the error message always points to the same message (see error log above) points to a general problem here.
I am grateful for any hints.. thank you!

Might be related to #732?

Fixed in #740, thanks a lot @johanneskoester !


Using defaultRoute path as /

I am setting up my router like [{name: "index", path: "/"}, {name: "test", path: "/test"}.....], defaultRoute = 'index' and it not working right. If directly entering www.sitename.com/test router redirects www.sitename.com
{name: "index", path: "/index"} is working good. But this time default page url displays form of www.sitename.com/index .
Because partialMatch function matches on path: "/" settings. https://github.com/router5/router5/blob/master/dist/browser/router5.js#L208 So..
_urlMatch("/test", new RegExp('^' + "\/")) returns {}
_urlMatch("/test", new RegExp('^' + "\/index")) returns null

Thanks for reporting this.
It looks like I have to do more sorting here (possibly using path length as a sorting criteria): https://github.com/troch/route-node/blob/master/modules/RouteNode.js#L44

I've tested. Thank's you for your work.

:+1:


Suddenly getting very slow builds on inner container with Sysbox v0.4.1

Our company runs our GitHub actions CI pipelines on a docker-in-docker setup using sysbox.
The setup is

Ubuntu 20.04.3 LTS
Docker 20.10.10
sysbox 0.4.1 (latest)
The GitHub actions run inside a container running on the sysbox runtime

All of a sudden on Monday - our docker builds which usually take ~5 minutes started not completing even after ~2 hours
If I exec into the action-runner container and run them manually, I can see that especially the transferring context step is taking an eternity. Here's a portion of the output:
#14 transferring context: 40.21MB 186.6s
#14 transferring context: 41.55MB 191.7s
#14 transferring context: 43.38MB 196.8s
#14 transferring context: 45.16MB 201.8s
#14 transferring context: 46.61MB 206.9s
#14 transferring context: 48.03MB 212.0s
#14 transferring context: 49.46MB 217.1s
#14 transferring context: 51.19MB 222.2s
#14 transferring context: 52.90MB 227.3s
#14 transferring context: 54.62MB 232.4s
#14 transferring context: 56.08MB 237.4s
#14 transferring context: 57.44MB 242.4s
#14 transferring context: 58.66MB 247.5s
#14 transferring context: 59.10MB 252.6s
#14 transferring context: 59.58MB 257.7s
#14 transferring context: 60.12MB 262.7s
#14 transferring context: 60.68MB 267.8s
#14 transferring context: 61.26MB 272.9s

The total build context is ~350M
So far I have:

Updated all system packages
Purged (via apt purge & removing /var/lib/docker) & Reinstalled both docker & sysbox
Checked docker builds on the host are unaffected (Even tried mapping the runner directory to the host, and running the app build on the host - takes ~5mins as expected)
Downgraded to the previous kernel
Just completely destroyed the original box & reinstalled everything on a new one
However the problem persists

The server does have unattended upgrades enabled, and in the period of last week (when things were fine), to this week (when things have gone wrong), I can see the following packages have upgraded on the host:
xxd (2:8.1.2269-1ubuntu5.4) over (2:8.1.2269-1ubuntu5.3)
openssl 1.1.1f-1ubuntu2.9
libssl1.1:amd64 (1.1.1f-1ubuntu2.9) over (1.1.1f-1ubuntu2.8)
libssl1.1:amd64 (1.1.1f-1ubuntu2.9) over (1.1.1f-1ubuntu2.8)
libtdb1:amd64 (1.4.3-0ubuntu<IP_ADDRESS>) over (1.4.2-3build1)
ufw (0.36-6ubuntu1) over (0.36-6)
python3-software-properties (<IP_ADDRESS>) over (<IP_ADDRESS>)

The docker-compose file, used to start the runner, is
version: '3.9'

services:
  worker:
    image: our-org/gh-action-runner:latest
    env_file: .env
    runtime: sysbox-runc
    security_opt:
      - no-new-privileges:true
    restart: always
    tmpfs:
      - /tmp:size=512M

Any help debugging/fixing this greatly appreciated :)

Hi @TomKeyte, thanks for your detailed description of the issue.
Question. Is problem reproduced when a particular workflow (e.g. image build) is executed within the gha-runner? If so, can you provide an example of this ci-pipeline job so that I can reproduce it?

Also, assuming that the instruction that is causing the delay is part of your CI pipeline (i.e. it's not a GHA internal instruction -- which is unlikely), could you please try to run it directly within the sysbox container itself? For example, if you suspect of an image-build step, you can try to run an equivalent action by making use of the docker build instruction. The purpose here is to try to decouple GHA from Sysbox ...

Aside from my questions above, please provide this info too:

Obtain the sysbox-fs logs during problem reproduction: sudo journalctl -u sysbox-fs > sysbox-fs.logs
Indicate which GHA runner are you using within the sysbox container.

I think I should be able to reproduce the problem once that I got all this info.
Thanks!

Hi @rodnymolina
Appreciate you getting back so quickly :)
I have (temporarily) resolved our issue by downgrading from sysbox 0.4.1 -> 0.4.0
I'm afraid I can't really show the particular action being run, as it could expose company internals, but in summary it's just
name: Run Tests

jobs:
  test:
    runs-on: [self-hosted, test-runner]
    steps:
    # SETUP
      - name: Checkout
        uses: actions/checkout@v2

      # ...Steps to configure the env

      - name: Build images
        run: >
          docker build ...

I can also confirm that if I exec into the inner container & manually run docker build ... the problem is also there on its own (without running in the context of GHA)
Tailing the sysbox-fs journal, I can see a lot of messages like
Nov 19 15:11:55 runner sysbox-fs[9055]: time="2021-11-19 15:11:55" level=warning msg="Unexpected error during NotifReceive() execution (no such file or directory) on fd 10 pid 3533071"

@TomKeyte, thanks, it's good to know that issue is not GHA specific ...
Unfortunately, the log message above is too generic and doesn't really help us root-cause the problem. That's why I was wondering if you could help us here by trying to reproduce with a stripped-down Dockerfile (w/o company-specific instructions/tools) so that we can expedite root-cause analysis (?).
Also, please be aware that we are currently making important optimizations in the code to address issues like this one, but we won't know for sure that this fully addresses your setup till we are able to reproduce it locally.

I am pretty sure the underlying cause for this is Sysbox's interception of the *xattr syscalls inside the container, which was added in v0.4.1. Intercepting those syscalls was required to fix another problem, but unfortunately ended up affecting performance significantly in some cases such as in this issue or as reported in issue 484.
In the upcoming v0.5.0 release, it will be possible to disable Sysbox's interception of the *xattr syscalls by passing the --allow-trusted-xattr=false flag in the Sysbox command line, or by passing the SYSBOX_ALLOW_TRUSTED_XATTR=FALSE env var to the container (e.g., docker run --runtime=sysbox-runc -e SYSBOX_ALLOW_TRUSTED_XATTR=FALSE <container-image>).  Doing this however can break some docker pulls inside the Sysbox container, unless the host's kernel supports the user.overlay.opaque xattr on overlayfs (i.e., kernel >= 5.11) and the version of Docker inside the Sysbox container is >= 20.10.9).

As you know we had problems with 0.4.1 so we directly updated from 0.4.0 to 0.5.1.
We updated to 0.5.0 and now have an enormous increase in build times in our gitlab infrastructure.
I tested with a hob that builds all our teams docker images on same server (pure hardware):
docker 20.10.14 - sysbox 0.4.0 - docker-dind 20.10.7 = 55 minutes
docker 20.10.14 - sysbox 0.5.0 - docker-dind 20.10.7 = 85 minuted
docker 20.10.14 - sysbox 0.5.0 - docker-dind 20.10.14 = reached 120 minutes timeout and build was hanging for 30 minutes during a docker build at a labelling step.
We run on Debian 11 with backport Kernel 5.16.12-1 and userns-remap set to sysbox.
The log size of sysbox-fs increased heavily with ca. 40000 of these kind of lines today:
Unexpected error during NotifReceive() execution (no such file or directory) on fd 86, pid 2958884, cntr 19193dfb3dd2

With sysbox 0.4.0 - docker-dind 20.10.7 we had these lines ca. 5 times per day.
We reverted back to docker-dind 20.10.7 to stabilize builds. Seems like building several docker images sequentionally in the same temporary private dind can trigger this behavior. Every new docker build is slower than the one before.
We cannot see that heavy increase in regular builds that use a (temporary) private dind only once for building exactly one image.
We stay on sysbox 0.5.0 but reverted the dind back to 20.10.7.

Hi @nudgegoonies, thanks for the update.
For sysbox v0.5.0, did you try the passing the -e SYSBOX_ALLOW_TRUSTED_XATTR=FALSE env var to the container. See this sysbox doc for more details.

Apart from the Sysbox's interception of the *xattr syscalls (described in this prior comment), we've also noticed another factor that contributes to inner Docker builds running slower inside a Sysbox container: the inner Docker engine does not use "native overlay diffs" when creating the build.
This can be seen in the following docker engine log inside the Sysbox container:
level=warning msg="Not using native diff for overlay2, this may cause degraded performance for building images: running in a user namespace" storage-driver=overlay2

The relevant source code is in the Moby repo, here.
Basically, dockerd is assuming that when it's running inside a user-namespace (as in Sysbox containers), it can't use the native diff for overlay2, because it assumes that it can't use the trusted.overlay.opaque xattr. This is generally true inside a vanilla user-namespace, but it's not true inside a Sysbox container because Sysbox intercepts the xattr syscalls and allows that xattribute to be set from inside the container.  IMHO, dockerd should first check this inside the user-ns, rather than just assume it won't work. This requires a change in dockerd itself (which I plan to work on when I get some cycles).
The slow down is significant: I noticed up to 6x on a quick experiment, where the inner dockerd was modified to use native overlay2 diffs even when running inside a user-namespace, versus an unmodified inner dockerd.

@ctalledo Thank you very much! With that option it works! Now sysbox, docker and docker-dind are up to date and it is even faster than sysbox.0.4.0 then:
docker 20.10.14 - sysbox 0.5.0 - docker-dind 20.10.14 = 35 minutes
We cannot pass the variable easily in gitlab-ci so i used a systemd override for sysbox-mgr.

@ctalledo Thank you very much! With that option it works! Now sysbox, docker and docker-dind are up to date and it is even faster than sysbox.0.4.0 then: docker 20.10.14 - sysbox 0.5.0 - docker-dind 20.10.14 = 35 minutes.

Hi @nudgegoonies, that's great to hear; yes Sysbox v0.5.0 has some performance optimizations that make it faster than v0.4.0, glad you are seeing those.

We cannot pass the variable easily in gitlab-ci so i used a systemd override for sysbox-mgr.

That's interesting; I would have assumed that passing env-vars to containers would be easy in all CI systems, given that it's a fairly common operation.

Closing this issue since we now have a solution for the slowdown in Sysbox v0.5.0. Please re-open if you see any such issues with v0.5.0.

That's interesting; I would have assumed that passing env-vars to containers would be easy in all CI systems, given that it's a fairly common operation.

Yes, in theory. There is a private dind configured via gitlab runner running with every build, dinds configured as service in pipelines, shared dinds started by systemd, etc. Using the one place in the sysbox-mgr is easier.

What's the preferred way to configure --allow-trusted-xattr=false for the k8s daemonset? I'm starting to look through the /opt/sysbox/scripts/sysbox-deploy-k8s.sh script, but i'm not seeing anything obvious yet

I'm finding that docker builds are still about 2x slower with -e SYSBOX_ALLOW_TRUSTED_XATTR=FALSE (though faster than the ~6x slowdown without that setting). Is something like this expected or not?

What's the preferred way to configure --allow-trusted-xattr=false for the k8s daemonset? The directions in the readme, when applied to the files in the daemonset pod, say to modify /opt/sysbox/systemd/sysbox-fs.service but ideally there would be a way to add these flags from the K8s Daemonset rather than mount a custom config file to the pod as a volume to replace /opt/sysbox/systemd/sysbox-fs.service

Hi @mike-chen-samsung, yes we need to add a ConfigMap or similar to allow users to easily configure Sysbox flags via the sysbox-deploy-k8s daemonset. We've not yet had cycles to do this unfortunately.
Having said that, I think Sysbox should switch the default of --allow-trusted-xattr from true -> false, given that the base requirements (kernel >= 5.11 and Docker >= 20.10.9) are fairly common now. I'll discuss it and possibly add in the upcoming v0.6.2 release.

I'm finding that docker builds are still about 2x slower with -e SYSBOX_ALLOW_TRUSTED_XATTR=FALSE (though faster than the ~6x slowdown without that setting). Is something like this expected or not?

It's been a while since I measured, but I don't recall seeing 2x slower.
A couple of factors that could be contributing could be Docker not using native overlay diffs and the fact the the Docker Engine inside a Sysbox container goes through an extra network bridge. I suspect the former could be the main issue though.

A couple of factors that could be contributing could be Docker not using native overlay

I checked docker info and you are right, it's using vsd instead of overlay2. But based on your comment it sounds like there isn't a "friendly" solution for this? Since I'd rather not deploy a custom version of dockerd

I checked docker info and you are right, it's using vsd instead of overlay2.

Can you show me the log from the docker daemon inside the Sysbox container, so I can double check? It should be using it's overlay2 driver in general, except for native overlay diffs.

Sorry, I should have mentioned that I am using GitHub ARC with Sysbox, so it's running a dind setup. I've pasted a cleaned up Pod yaml below the docker info
$ kubectl exec -it <podname> -c docker docker info
Client:
 Version:    24.0.2
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.10.5
    Path:     /usr/local/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.18.1
    Path:     /usr/local/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 24.0.2
 Storage Driver: vfs
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 1677a17964311325ed1c31e2c0a3589ce6d5c30d
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.15.0-1037-aws
 Operating System: Alpine Linux v3.18
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.664GiB
 Name: bixby2-dev-usw2-large-bcjfr-bzvxx
 ID: 7d0dceb6-93a5-4de3-98e0-43deec1e09ce
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

Pod yaml
apiVersion: v1
kind: Pod
spec:
  containers:
  - env:
    - name: DOCKER_HOST
      value: tcp://localhost:2376
    name: runner
  - env:
    - name: SYSBOX_ALLOW_TRUSTED_XATTR
      value: "FALSE"
    - name: DOCKER_TLS_CERTDIR
      value: /certs
    image: docker:dind
    name: docker
    securityContext:
      privileged: false
    volumeMounts:
    - mountPath: /runner
      name: runner
    - mountPath: /certs/client
      name: certs-client
    - mountPath: /runner/_work
      name: work
  runtimeClassName: sysbox-runc
  volumes:
  - emptyDir: {}
    name: runner
  - emptyDir: {}
    name: work
  - emptyDir: {}
    name: certs-client

Thanks; the dockerd logs inside the sysbox container don't look good, it should have used it's overlayfs driver (as it would on a regular host or VM).

I need to understand why docker engine inside the container is failing with:
time="2023-06-02T18:17:31.065177288Z" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay2
time="2023-06-02T18:17:31.065422316Z" level=error msg="exec: \"fuse-overlayfs\": executable file not found in $PATH" storage-driver=fuse-overlayfs

I noticed you are using docker engine v24.0.2; let me check if something changed in that version that is causing a problem when running inside a Sysbox container.

I noticed you are using docker engine v24.0.2; let me check if something changed in that version that is causing a problem when running inside a Sysbox container.

I tried docker v24.0.2 inside a Sysbox container (created with Docker) and it works fine:
$ docker run --runtime=sysbox-runc -it --rm nestybox/ubuntu-jammy-systemd

<install Docker as described here: https://docs.docker.com/engine/install/ubuntu/>

/ # sudo systemctl start docker

/ # sudo docker version
Client: Docker Engine - Community
 Version:           24.0.2
 API version:       1.43
...

Server: Docker Engine - Community
 Engine:
  Version:          24.0.2
...

/ # sudo journalctl -u docker
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.338687098Z" level=info msg="Starting up"
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.432180730Z" level=info msg="Loading containers: start."
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.626424482Z" level=info msg="Loading containers: done."
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.651765460Z" level=warning msg="Not using native diff for overlay2, this may cause degraded performance for building images: running in a user namespace" storage-driver=overlay2
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.651908293Z" level=info msg="Docker daemon" commit=659604f graphdriver=overlay2 version=24.0.2
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.651996508Z" level=info msg="Daemon has completed initialization"
Jun 03 13:44:25 a7f0930aa572 dockerd[9474]: time="2023-06-03T13:44:25.763894246Z" level=info msg="API listen on /run/docker.sock"

/ # sudo docker run -it --rm alpine
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
8a49fdb3b6a5: Pull complete
Digest: sha256:02bb6f428431fbc2809c5d1b41eab5a68350194fb508869a33cb1af4444c9b11
Status: Downloaded newer image for alpine:latest
/ #

Notice how docker engine reports it's using overlay2 as expected:
graphdriver=overlay2 version=24.0.2

I also tried with something that is a lot closer to what you have in your pod yaml and it also works fine:
$ docker run --runtime=sysbox-runc -d --rm -e SYSBOX_ALLOW_TRUSTED_XATTR=FALSE docker:dind
$ docker logs <container-name>

...
time="2023-06-03T13:54:16.585314832Z" level=warning msg="Not using native diff for overlay2, this may cause degraded performance for building images: running in a user namespace" storage-driver=overlay2
time="2023-06-03T13:54:16.585416671Z" level=info msg="Docker daemon" commit=659604f graphdriver=overlay2 version=24.0.2
time="2023-06-03T13:54:16.585501361Z" level=info msg="Daemon has completed initialization"
...

Hi @mike-chen-samsung, I was able to repro in a GKE pod, using a pod spec similar to the one you posted above. I suspect it's something in the docker:dind image entrypoint. I'll debug it and get back to you.
Just for sanity check, I also ran a pod with this spec and it worked fine (i.e., docker used the overlay2 driver inside the pod).
apiVersion: v1
kind: Pod
metadata:
  name: ubu-bio-systemd-docker
  annotations:
    io.kubernetes.cri-o.userns-mode: "auto:size=65536"
spec:
  runtimeClassName: sysbox-runc
  containers:
  - name: ubu-bio-systemd-docker
    image: registry.nestybox.com/nestybox/ubuntu-bionic-systemd-docker
    command: ["/sbin/init"]
  restartPolicy: Never

hello @ctalledo , wondering if you have an update to share

Hi @mike-chen-samsung, apologies for the belated response. I've not yet had a chance to look into this, will allocate some cycles this coming week to get to the bottom of it. Thanks for your patience.


[BUG]: Safari, Vim not show on README.md

Description of the bug
Safari, Vim not show on README.md
Steps To Reproduce

Go to https://github.com/LelouchFR/skill-icons
Scroll down

Additional Information
No response

@1chooo gonna work on it asap, just gotta finish my 2 hour class


Does the Cookie Manager accept Dicts at all?

Pretty much the heading. I'm attempting to add a dict as a cookie ( instead of a string, as shown in the gif) and it just doesn't get added :/

Yes it does. Try this:
import json
val = json.dumps({'name':'Jacob'})

cookie_manager = CookieManager()
cookie_manager.set("cookieName", val)

# refresh browser
cookie_read = cookie_manager.get("cookieName") # will get json object
st.write(cookie_read)

Refresh browser and check

only primitive types can be added, as the web as we know it was built to accept cookies as strings. you can stringify the dict as suggested by @Socvest


Updates fail under strict security

Issue Type: Performance Issue
I cannot run the auto-update as it's trying to execute under a temp directory and is being blocked by company policy.  I need a way to change the configuration, prompt to overide/elevate, or some other alternative.
Azure Data Studio version: azuredatastudio 1.20.1 (fe6312306647441b30102a64bb43abb06ebcf2be, 2020-07-17T02:39:41.016Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz (12 x 2592)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.81GB (5.20GB free)

Process Argv

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    1	    78	  4876	azuredatastudio main
    0	   195	  1532	   window (Settings - Azure Data Studio)
    0	    78	 16552	     extensionHost
    0	    31	 14148	       "c:\Users\oblioleitch\AppData\Local\Programs\Azure Data Studio\resources\app\extensions\mssql\sqltoolsservice\Windows\3.0.0-release.4\MicrosoftSqlToolsCredentials.exe" --log-file c:\Users\oblioleitch\AppData\Roaming\azuredatastudio\logs\20200813T103844\exthost1\Microsoft.mssql\credentialstore.log --tracing-level Critical
    0	    11	  2264	         console-window-host (Windows internal process)
    0	    34	 22084	       "c:\Users\oblioleitch\AppData\Local\Programs\Azure Data Studio\resources\app\extensions\mssql\sqltoolsservice\Windows\3.0.0-release.4\SqlToolsResourceProviderService.exe" --log-file c:\Users\oblioleitch\AppData\Roaming\azuredatastudio\logs\20200813T103844\exthost1\Microsoft.mssql\resourceprovider.log --tracing-level Critical
    0	    11	 26836	         console-window-host (Windows internal process)
    0	    61	 24108	       "c:\Users\oblioleitch\AppData\Local\Programs\Azure Data Studio\resources\app\extensions\mssql\sqltoolsservice\Windows\3.0.0-release.4\MicrosoftSqlToolsServiceLayer.exe" --log-file c:\Users\oblioleitch\AppData\Roaming\azuredatastudio\logs\20200813T103844\exthost1\Microsoft.mssql\sqltools.log --tracing-level Critical
    0	    11	 11856	         console-window-host (Windows internal process)
    0	    71	 14048	   shared-process
    0	   162	 14828	   gpu-process
    1	    74	 16612	   window (Issue Reporter)
    0	    25	 26512	   utility

Workspace Info
;

Extensions (1)

Extension
Author (truncated)
Version

poor-sql-formatter
WSR
0.1.0

Also seeing the same issue on my laptop as well when trying to run the update through Azure Data Studio or manually through download. Would need a command line switch to change the temp directory for running this update.

further explanation:

which is caused by:

Just tried update 1.21.0 (Date: 2020-08-11) and it installed successfully.
If you have not tried it recently, you may want to try it again.
This is using VS Code 1.48.0

@end-user are you still seeing this on more recent builds?
@abist any ideas what we can do investigate this?

@kburtram Let me investigate if there were any changes in the setup process upstream

Closing this since it was fixed in 1.21.0.

Closing this since it was fixed in 1.21.0.


use seed's libhtml in ALEA's diwan preview

In GitLab by @lueck on Nov 30, 2023, 14:22

added 20m of time spent

mentioned in commit 5509e5b30c5fae6dcd7bd3df25e15c8792969e9c

mentioned in commit ec1bf57ac8186bb84847d74cfcf8d7d67b618e02

added 2h 30m of time spent

mentioned in commit 4cca4ee29d8db5aec0e9c0ae5d7c5b9ef2f85e9b

deleted 4d of spent time from 2023-12-01

mentioned in commit c30ffe06d98e232669cec2217ca493c795580b29

deleted 4d of spent time from 2023-11-30

added 4d of time spent

added 4d of time spent

added 30m of time spent

mentioned in commit f8f740378e942d84f28402e01845c0378fd30945

mentioned in commit 06ae246270e12379795520d58a90265a7bffea80


Is there a way to get current route?

Is it possible to check the current route without State?
I have some kind of interceptor - when a user gets 403 Status Code he is redirected to Login page. In case user catches 2 or more 403 status codes in the row he is redirected to Login as many times as many 403 he got.
For redirection I use a GlobalKey
AppKeys.navigatorKey.currentState.pushNamedAndRemoveUntil(
      Routes.login,
      (Route<Object> route) => false,
    );

How can I prevent a multiply redirection? I'd like to add a condition currentRoute != Routes.login.

Hi @furaiev
I see there's an open issue addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

Hi @iapicca
I hope that my case could be resolved without new methods. Getting the current route is an option.


Create documentation around CLI

Overview
We need to create automatic documentation for imap_processing/cli.py. This involves updating Sphinx to autogenerate the docs, adding some QOL easy to read docs about calling the CLI if needed, and fixing the issues in the code that are throwing errors right now.
Related documents or information sources
No response

Closing in favor of #542


Redraw on item removed uses whole canvas

Describe the bug
When clicking remove on an item on an existing diagram, the diagram redraws using the entire canvas. A browser screen cannot scroll out enough to show the whole canvas and recover the wanted components from the furthest corners
To Reproduce
Steps to reproduce the behaviour:

Load a couple of items onto the canvas using entries from Resources > all
Select one of the items on the canvas
Right click and choose 'Remove'
See components drift off screen

Expected behaviour
Diagram redraws within the existing viewport (not full canvas) so can be viewed and tweaked without zooming
Browser (please complete the following information):

Chrome: Version 85.0.4183.121 (Official Build) (64-bit)
Safari: Version 14.0 (156<IP_ADDRESS>.9, 15610)

Additional context
Even after a save of the diagram, loading from save draws in the full canvas unreadable state

Thanks for submitting this, we're definitely looking to improve this behaviour.


OCM-7177 | ci: Update automation script with bug fixing

What this PR does / why we need it:
Update the automation script with bug fixing
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story (OCM-xxxx):
Fixes # OCM-7177
Change type

[ ] New feature
[ ] Bug fix
[ ] Build
[x] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

lixue@Xue-Lis-MacBook-Pro terraform-provider-rhcs % ginkgo -focus 73069 tests/e2e
time="2024-04-08T13:59:58+08:00" level=info msg="Running against env staging with gateway url https://api.stage.openshift.com"
time="2024-04-08T13:59:58+08:00" level=info msg="Loaded cluster profile configuration from profile rosa-hcp-ad : map[admin_enabled:false autoscale:true byok:true byovpc:true channel_group:candidate cloud_provider:aws cluster_type:rosa-hcp compute_machine_type:m5.2xlarge etcd_encryption:true fips:false kms_key_arn:true labeling:false major_version:4.15 multi_az:true oidc_config:managed private:false product_id:rosa proxy:true region:us-west-2 sts:true tagging:true unified_acc_role_path: version: version_pattern:latest zones:a,b,c]"
Running Suite: e2e tests suite - /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/e2e
================================================================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 65 specs
time="2024-04-08T13:59:58+08:00" level=info msg="Loaded cluster profile configuration from profile rosa-hcp-ad : map[admin_enabled:false autoscale:true byok:true byovpc:true channel_group:candidate cloud_provider:aws cluster_type:rosa-hcp compute_machine_type:m5.2xlarge etcd_encryption:true fips:false kms_key_arn:true labeling:false major_version:4.15 multi_az:true oidc_config:managed private:false product_id:rosa proxy:true region:us-west-2 sts:true tagging:true unified_acc_role_path: version: version_pattern:latest zones:a,b,c]"
time="2024-04-08T13:59:58+08:00" level=info msg="Running terraform init against the dir /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/clusters/rosa-hcp"
time="2024-04-08T14:00:02+08:00" level=info msg="Running terraform output against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/clusters/rosa-hcp"
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSStime="2024-04-08T14:00:04+08:00" level=info msg="Running terraform init against the dir /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools/hcp"
time="2024-04-08T14:00:05+08:00" level=info msg="Running terraform init against the dir /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/aws/vpc"
time="2024-04-08T14:00:09+08:00" level=info msg="Running terraform output against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/aws/vpc"
time="2024-04-08T14:00:11+08:00" level=info msg="Running terraform apply against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools/hcp with args [-var subnet_id=subnet-0a6f5b2353185ae29 -var url=https://api.stage.openshift.com -var machine_type=r5.xlarge -var replicas=0 -var additional_security_groups=[\"sg-fake\"] -var auto_repair=false -var cluster=2agfoecai8bfqaaq7o92espb6a598n19 -var name=ocp-73069 -var autoscaling_enabled=false]"
time="2024-04-08T14:00:16+08:00" level=error msg="Terraform used the selected providers to generate the following execution\nplan. Resource actions are indicated with the following symbols:\n  + create\n\nTerraform will perform the following actions:\n\n  # rhcs_hcp_machine_pool.mp will be created\n  + resource \"rhcs_hcp_machine_pool\" \"mp\" {\n      + auto_repair       = false\n      + autoscaling       = {\n          + enabled = false\n        }\n      + availability_zone = (known after apply)\n      + aws_node_pool     = {\n          + additional_security_group_ids = [\n              + \"sg-fake\",\n            ]\n          + instance_profile              = (known after apply)\n          + instance_type                 = \"r5.xlarge\"\n        }\n      + cluster           = \"2agfoecai8bfqaaq7o92espb6a598n19\"\n      + current_version   = (known after apply)\n      + id                = (known after apply)\n      + name              = \"ocp-73069\"\n      + replicas          = 0\n      + status            = (known after apply)\n      + subnet_id         = \"subnet-0a6f5b2353185ae29\"\n    }\n\nPlan: 1 to add, 0 to change, 0 to destroy.\n\nChanges to Outputs:\n  + machine_pool_id     = (known after apply)\nrhcs_hcp_machine_pool.mp: Creating...\n\nError: Cannot create machine pool\n\n  with rhcs_hcp_machine_pool.mp,\n  on main.tf line 26, in resource \"rhcs_hcp_machine_pool\" \"mp\":\n  26: resource \"rhcs_hcp_machine_pool\" \"mp\" {\n\nCannot create machine pool for cluster '2agfoecai8bfqaaq7o92espb6a598n19':\nstatus is 400, identifier is '400', code is 'CLUSTERS-MGMT-400' and operation\nidentifier is '07b65ed9-7dc2-4fe0-befa-38abecb8cad0': Provided Additional\nSecurity Group 'sg-fake' is not attached to VPC 'vpc-03a977e0c595b63f4'"
time="2024-04-08T14:00:16+08:00" level=info msg="Running terraform plan against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools/hcp with args [-var auto_repair=false -var name=ocp-73069 -var url=https://api.stage.openshift.com -var machine_type=r5.xlarge -var replicas=0 -var autoscaling_enabled=false -var subnet_id=subnet-0a6f5b2353185ae29 -var cluster=2agfoecai8bfqaaq7o92espb6a598n19 -var additional_security_groups=[\"sg-fake\",\"sg-fakeid0\",\"sg-fakeid1\",\"sg-fakeid2\",\"sg-fakeid3\",\"sg-fakeid4\",\"sg-fakeid5\",\"sg-fakeid6\",\"sg-fakeid7\",\"sg-fakeid8\",\"sg-fakeid9\",\"sg-fakeid10\"]]"
time="2024-04-08T14:00:16+08:00" level=error msg="Planning failed. Terraform encountered an error while generating this plan.\n\n\nError: Invalid Attribute Value\n\n  with rhcs_hcp_machine_pool.mp,\n  on main.tf line 26, in resource \"rhcs_hcp_machine_pool\" \"mp\":\n  26: resource \"rhcs_hcp_machine_pool\" \"mp\" {\n\nAttribute aws_node_pool.additional_security_group_ids list must contain at\nmost 10 elements, got: 12"
time="2024-04-08T14:00:16+08:00" level=info msg="Running terraform destroy against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools/hcp"
args:  /usr/local/bin/terraform destroy -auto-approve -no-color -var cluster=2agfoecai8bfqaaq7o92espb6a598n19 -var name=ocp-73069 -var url=https://api.stage.openshift.com -var replicas=0 -var autoscaling_enabled=false -var machine_type=r5.xlarge -var subnet_id=subnet-0a6f5b2353185ae29 -var additional_security_groups=["sg-fake","sg-fakeid0","sg-fakeid1","sg-fakeid2","sg-fakeid3","sg-fakeid4","sg-fakeid5","sg-fakeid6","sg-fakeid7","sg-fakeid8","sg-fakeid9","sg-fakeid10"] -var auto_repair=false

Error: Invalid Attribute Value

  with rhcs_hcp_machine_pool.mp,
  on main.tf line 26, in resource "rhcs_hcp_machine_pool" "mp":
  26: resource "rhcs_hcp_machine_pool" "mp" {

Attribute aws_node_pool.additional_security_group_ids list must contain at
most 10 elements, got: 12
time="2024-04-08T14:00:17+08:00" level=error msg="exit status 1: "
•SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Ran 1 of 65 Specs in 18.980 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 64 Skipped
PASS
You're using deprecated Ginkgo functionality:
=============================================
  --ginkgo.slow-spec-threshold is deprecated --slow-spec-threshold has been deprecated and will be removed in a future version of Ginkgo.  This feature has proved to be more noisy than useful.  You can use --poll-progress-after, instead, to get more actionable feedback about potentially slow specs and understand where they might be getting stuck.

To silence deprecations that can be silenced set the following environment variable:
  ACK_GINKGO_DEPRECATIONS=2.13.2

Ginkgo ran 1 suite in 22.131552814s
Test Suite Passed

/lgtm

/lgtm

/approve


uv venv fails on Windows when using ramdisk

I have a ramdisk created via ImDisk that I use as a temporary directory. Apparently uv does not like such setup:
# uv works alright on a regular disk
PS E:\1> uv venv
Using Python 3.11.3 interpreter at: C:\python\311\python3.exe
Creating virtualenv at: .venv
Activate with: .venv\Scripts\activate

# uv fails on ramdisk
PS E:\1> cd r:/1
PS R:\1> uv venv
thread 'main' panicked at crates\uv-fs\src\path.rs:17:10:
The current directory must be canonicalized: Os { code: 1, kind: Uncategorized, message: "Incorrect function." }
stack backtrace:
   0:     0x7ff780d71fdd - <unknown>
   1:     0x7ff780d99cb9 - <unknown>
   2:     0x7ff780d6bbe1 - <unknown>
   3:     0x7ff780d71db6 - <unknown>
   4:     0x7ff780d747b8 - <unknown>
   5:     0x7ff780d74466 - <unknown>
   6:     0x7ff780d74ce8 - <unknown>
   7:     0x7ff780d74ba7 - <unknown>
   8:     0x7ff780d7294f - <unknown>
   9:     0x7ff780d74858 - <unknown>
  10:     0x7ff780ed5e84 - <unknown>
  11:     0x7ff780ed6320 - <unknown>
  12:     0x7ff780c6605b - <unknown>
  13:     0x7ff7800a975e - <unknown>
  14:     0x7ff780ed50a4 - <unknown>
  15:     0x7ff7800abbde - <unknown>
  16:     0x7ff77fa82162 - <unknown>
  17:     0x7ff77fa1d797 - <unknown>
  18:     0x7ff77fb01ddd - <unknown>
  19:     0x7ff77fe282ed - <unknown>
  20:     0x7ff77fc95bb4 - <unknown>
  21:     0x7ff77fe28f8a - <unknown>
  22:     0x7ff77fdd28ff - <unknown>
  23:     0x7ff78010ea1a - <unknown>
  24:     0x7ff77fdd4056 - <unknown>
  25:     0x7ff780d62c9e - <unknown>
  26:     0x7ff78010ea5c - <unknown>
  27:     0x7ff780e466bc - <unknown>
  28:     0x7ffb3de47374 - BaseThreadInitThunk
  29:     0x7ffb3e71cc91 - RtlUserThreadStart
PS R:\1> uv version
uv 0.2.31 (48162de97 2024-07-29)

# python 3.11 works on ramdisk
PS R:\1> python -m venv venv
PS R:\1> ls venv/Scripts/activate
-a----        2024-07-31  05:35 PM           2049 activate

I am pretty sure that Python's own python -m venv used to have some issues with ramdisks as well - the "must be canonicalized" error message does ring some bells.

This comes from
https://github.com/astral-sh/uv/blob/24859bd3eebfe8fe50b187391e72dab91afb7093/crates/uv-fs/src/path.rs#L13-L18
I'm not sure why it must be canonicalized. Seems like we could allow that to fail... hm.


My luckperms editor is not working correctly.

Btw my luckperms is the latest.
so i go to the editor make changes to the default group and i need to save it so i do i get the code thing and i paste it into my game. it said "No changes were applied from the web editor, the returned data didn't contain any edits." ok so i go on my alt account and it did not work.
Reproduction steps
I went to the Luckperms editor after i did /lp editor, i changed the default group with some commands i added, i saved it, i got hthe command which looks like this: /lp applyedits (some numbers here and letters I did not want to put the actual stuff)

Open the config.yml file and set example to true.
Restart the server
Run /lp user example permission set x from the console
See error

Expected behaviour
I expected that the editor changer command would work.
Environment details

Server type/version: Spigot running version 1.16.5 build ???
LuckPerms version: `v5.3.3

Any other relevant details

I hope you are pressing the + button on the right when adding permissions. I suggest taking screenshot/short video of you adding and saving perms. The editor link and apply edits code is safe to share.


'React' is defined but never used  no-unused-vars

When i run eslint on my code, I get the error:
'React' is defined but never used  no-unused-vars
when I remove import 'React' from 'react' I get the error
'React' must be in scope when using JSX
I tried enabling the rules below but still receive the error.
"react/jsx-uses-react": 1,
"react/jsx-uses-vars": 1,
"react/react-in-jsx-scope": 1
Can someone help me check if my configurations are correct, if I'm not overriding anything?
{
  "parser": "babel-eslint",
  "extends": [
    "eslint:recommended",
    "airbnb",
    "plugin:flowtype/recommended"
  ],
  "plugins": [
    "babel",
    "react",
    "flowtype"
  ],
  "rules": {
    "react/jsx-uses-react": 1,
    "react/jsx-uses-vars": 1,
    "react/react-in-jsx-scope": 1,

    // Indent with 4 spaces
    "indent": [
      "error",
      4
    ],
    // Indent JSX with 4 spaces
    "react/jsx-indent": [
      "error",
      4
    ],
    // Indent props with 4 spaces
    "react/jsx-indent-props": [
      "error",
      4
    ],
    // TODO: Remove all of these exceptions
    // We have code that violates each one of these rules.
    // We should fix the style then remove the rules when we can.
    "consistent-return": "off",
    "flowtype/no-types-missing-file-annotation": "off",
    "import/extensions": "off",
    "import/no-unresolved": "off",
    "import/no-named-as-default": "off",
    "import/no-named-as-default-member": "off",
    "import/prefer-default-export": "off",
    "react/default-props-match-prop-types": "off",
    "react/forbid-prop-types": "off",
    "react/jsx-closing-tag-location": "off",
    "react/jsx-filename-extension": "off",
    "react/no-string-refs": "off",
    "react/no-unused-prop-types": "off",
    "react/no-unused-state": "off",
    "react/prefer-stateless-function": "off",
    "react/prop-types": "off",
    "react/require-default-props": "off",
    "react/sort-comp": "off",
    "max-len": "off",
    "no-case-declarations": "off",
    "no-console": "off",
    "no-mixed-operators": "off",
    "no-nested-ternary": "off",
    "no-shadow": "off",
    "no-use-before-define": "off",
    "no-underscore-dangle": "off",
    "no-unused-expressions": "off",
    "prefer-promise-reject-errors": "off"
  },
  "env": {
    "jest": true
  },
  "globals": {
    "fetch": false,
    "Response": false,
    "React": true
  }
}

I am using these versions in package.json:
devDependencies
      "eslint-config-airbnb": "16.1.0",
      "eslint-plugin-babel": "^5.1.0",
      "eslint-plugin-flowtype": "^2.46.1",
      "eslint-plugin-react": "^7.9.1",

dependencies

  "react": "16.0.0",
  "react-native": "0.50.4",

I have included the explicit import and removing it as global did not change anything

Can you share the contents of the file it's erroring on, and the exact error message on the CLI, complete with line number?

@ljharb I have the same issue.
JSX File:
/** @jsx jsx */     // <- required by @emotion/core
import React from "react";  //
import { Link } from "gatsby";
import Helmet from "react-helmet";
import { css, jsx } from "@emotion/core";

const Header = () => (

        <Link
          to="/"
          css={css`
            color: white;
            text-decoration: none;
          `}>
          Gatsby
        </Link>

);

const TemplateWrapper = ({ children }) => (
  <>
    <Helmet
      title="Blog"
      meta={[
        { name: "description", content: "Sample" },
        { name: "keywords", content: "sample, something" }
      ]}
    />

      {children}

  </>
);

export default TemplateWrapper;

CLI output:
▶ [blog/blog] (master ⁚ ✘!?) (⬢ v10.16.0) yarn lint
yarn run v1.17.0
$ eslint ./src --ignore-path .gitignore

/Users/gagan/scratch/blog/blog/src/layouts/index.js
   2:8   error  'React' is defined but never used  no-unused-vars

ESLint config
{
  "root": true,
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 2018,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "modules": true
    }
  },
  "env": {
    "browser": true,
    "es6": true,
    "node": true,
    "jest": true
  },
  "plugins": ["react", "react-hooks", "jsx-a11y", "import"],
  "extends": [
    "airbnb",
    "eslint:recommended",
    "plugin:prettier/recommended",
    "prettier/react",
    "prettier/standard",
    "plugin:react/recommended",
    "plugin:jsx-a11y/recommended"
  ],
  "settings": {
    "react": {
      "version": "detect"
    }
  },
  "rules": {
//    "no-unused-vars": ["warn"],
    "prettier/prettier": ["error", {"singleQuote": false}],
    "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
    "react/jsx-uses-react": 2,
    "react/jsx-uses-vars": 2,
    "react/react-in-jsx-scope": 2,
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "warn",
    "react/display-name": 0,
    "react/prop-types": [0, { "ignore": ["children"] }],
    "jsx-a11y/anchor-is-valid": 0
  }
}

Funny thing is I have a couple of other JSX file in which I don't see the error at all.
import React from "react";   // no error
import TemplateWrapper from "../layouts/index";

const IndexPage = () => (
  <TemplateWrapper>

Hi people

Welcome to your Blog.

Now go build something great.

  </TemplateWrapper>
);

export default IndexPage;

IDE: WebStorm

Seems like /** @jsx jsx */ is causing the error. Error no longer appears after removing it.
I think this can be closed unless @VanessaChu haven't resolved the issue.

indeed; when that comment is present, you don't need the React import and can/should delete it.

@ljharb @gagan0723 -

indeed; when that comment is present, you don't need the React import and can/should delete it.

I believe that this statement is incorrect, at least when using emotion 10. See https://github.com/yannickcr/eslint-plugin-react/issues/2156#issuecomment-554844831 and https://github.com/emotion-js/emotion/issues/1549

Any chance there is an update on this?

https://github.com/yannickcr/eslint-plugin-react/issues/2156#issuecomment-680642027

As of react 17 you dont need to import react at the top of the file, ive just done this and if you are using typescript you just need to add jsx: "react-jsx" into compiler options and disable this rule.

Closing per https://github.com/jsx-eslint/eslint-plugin-react/issues/2080#issuecomment-507813363; please file a new issue if anyone's still having trouble.

change your .eslintric.cjs extends with this
'eslint:recommended',
    'plugin:react/recommended',
    'plugin:react/jsx-runtime',
    'eslint-plugin-react',
    'plugin:react-hooks/recommended',


Makefile keep track of variables

This PR resolves the issue mentioned in https://github.com/pq-code-package/mlkem-c-aarch64/issues/75

We cannot keep track of CFLAGS for now, since we chose to modify CFLAGS with environment variables (see discussion in https://github.com/pq-code-package/mlkem-c-aarch64/pull/69), while the current approach can only keep track of makefile variables.
Since the purpose of keep tracking of CFLAGS is that we want to avoid make clean while compiling for different architectures. There might be two ways of doing this:

Add a makefile variable like EXTRACFLAGS, and set -mcpu=... via this EXTRACFLAGS, and keep track of it is a way.
Add a makefile variable like PLATFORM,  and set mcpu, march flags accordingly, like mlkem-c-embedded have done

Maybe we can discuss this further in https://github.com/pq-code-package/mlkem-c-aarch64/issues/75, and open up a separate PR for solving this.


[MyIP] ...

Extension
https://www.raycast.com/Kang/myip
Description

Error:

Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
No response

Thread Closed
This thread is being closed due to a lack of content. If you have any questions or concerns, please feel free to create a new thread.


Update hardhat.config.ts

current rpc provider for sepolia does not work

Hey thanks @letmejustputthishere! We just set some alchemy defaults back again so that it works nicely now out of the box check #227


Token pool definitions are all broadcast on a single topic

Within a namespace, all token pool definition messages are broadcast on one topic. They could be split onto unique topics to enhance throughput, as long as the topic gives a deterministic "winner" for creating the pool in the case of a race (ie the topic should probably be some function of namespace+name).

For identities we use the did because that:

Includes the name
Includes something unique to identities (did:)

https://github.com/hyperledger/firefly/blob/491c2723f51887ff4fb402ffc72c5e9c6f83fa3a/pkg/fftypes/identity.go#L152-L156
I think for token pools, we'd need to hash:

A string such as tokenpool
The name

Fixed in https://github.com/hyperledger/firefly/pull/600


[FLINK-19069] execute finalizeOnMaster with io executor to avoid hea…

#12956  What is the purpose of the change
Users may execute heavy I/O operations in  finalizeOnMaster function, which may block the operations in main executor such as client's request and heartbeats. This change is to move the job vertex's finalizeOnMaster call into dispatcher's IO executor, and transition the job status in main executor after all the finalizeOnMaster operations finish.
Brief change log
Use CompletableFuture.runAsync to execute the finalizeOnMaster in ioExecutor.
Verifying this change
The current unit testing in FinalizeOnMasterTest and MiniClusterITCase should cover this change.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

@flinkbot run azure

@rmetzger  Could you help me confirm the failed test? I found the ExecutionGraphRestartTest in the error stack but I'm not sure whether this is it because I rerun the tests on my laptop and it works.

It is a common phenomenon that tests are failing more frequently, since it is a slower environment (only 2 cores, 8gb memory). On the first run, the test is passing, but if I configure IntelliJ to run until failure, the test gets stuck on my MacBook Pro locally as well. I'm pretty sure this failure is caused by the proposed changes.

I looked a bit into your change. I can not guarantee that my comments are pointing you in the right direction. I have no prior experience with the ExecutionGraph.
I believe it would be helpful to add test cases for edge cases such as "cancellation while finalizeOnMaster is blocked"

Just leaving a quick comment here that the new sinks that @aljoscha and @guoweiM are working on will be different and not affected by this. So this here is more of a temporary fix.

@rmetzger The test fails because we don't use a real executor as the jobMasterMainThreadExecutor, see #ComponentMainThreadExecutorServiceAdapter#forMainThread(), which means we cannot execute any async runnable on jobMasterMainThreadExecutor in the whole ExecutionGraphRestartTest. (don't know why it's designed at first)

That is a very good remark @StephanEwen! I would actually propose to not address this issue anymore.
The finalizeOnMaster method has been executed in the main thread for many releases in Flink, and it seems that we are fixing this with the new sinks to be released with 1.12.
I don't think it's worth the effort implementing this for 1.11: We might potentially introduce new stability bugs into an old release.

I'm closing this PR for now. Please re-open or comment if you have a different opinion.