Add support for macOS and Android platforms

Tested with godot-4.3.dev6 on

[x] macOS 12.7.5 on x86_64 arch
[X] macOS 14.3.1 on arm64 arch
[X] Ubuntu 22.04 on x86_64 arch
[X] Meta Quest2 on arm64 arch

This should fix #1 and fix #4.

Sorry for the delay, I wasn't at home. Thank you very much, not a big fan of depending on makefiles but hey if it works.


Keep logins and display_names in sync

...between users and their identity groups

This is moving us towards #1139.
Really these fields probably belong in a separate identity table that is shared by users and groups.

Do you want to add an issue in future plans to extract the fields to a seperate table?


Option to hide certain LMS server settings

Add server-side config file only settings to hide (e.g.) Music folder setting

Implemented for 2.7.0


Add max_broadcast_queue for rai::active_transactions

Additionally decreasing broadcast_interval_ms for live/beta networks

../node/libnode.a(node.cpp.o): In function `rai::active_transactions::announce_loop()':
/workspace/rai/node/node.cpp:3247: undefined reference to `rai::active_transactions::max_broadcast_queue'

ons::max_broadcast_que

Fixed

Fixed


Add options for fixing #84, #73, #99

Add some options for fixing various issues reported by users. Details are described
in each commit.
Signed-off-by: Jin Xu<EMAIL_ADDRESS>

Replaced by #106, which doesn't contain the commit that adds the option ignore-config-file.

Close this one due to #106 merged.
We can talk about Add option to ignore existing config file in an separate issue.


Merge     GO:0001199 transcription factor activity, metal ion regulated sequence-specific DNA binding & children into parent ?

These functions terms are probably not necessary - DNA binding transcription factor activity is probably sufficient. I would like to find the correct way to describe the process before merging the function terms. See review here for a better way to capture the process:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4631667/pdf/nihms714072.pdf

Change in one complex where we used it.

Hello,
Looking more closely at this: I think we can safely merge these terms into their parents, and use 'activated_by' or 'inhibited_by' in P2GO, similar to what was recommended for nuclear receptors (see #16540)
Annotations are here: https://docs.google.com/spreadsheets/d/1GT5f-qZOyB9kfJfmw_sw6xTTzNp5KezlMwypRy5UX1s/edit#gid=0
Impacted groups:
EcoCyc @keseler
CAFA @ggeorghiou
SGD @srengel
TAIR @tberardini  (2 annotations - requested review)
PomBase @ValWood
UniProt @ggeorghiou  (1 annotation - requested review)
Let me know if this is OK with you.
Thanks, Pascale

so will they merge into
"DNA-binding transcription factor activity"?
v

I mean
DNA-binding transcription factor activity, RNA polymerase II-specific

DNA-binding transcription factor activity, RNA polymerase II-specific
Yes, or 'bacterial RNA polymerase ...', as appropriate.

done.


The latest sunk file is overwritten locally when resuming a stream.

Let's assume a stream is sunk until block 100000, as stated in issue #2, the latest file is 80000-90000.jsonl.
When resuming the sinking process to get the newest data (giving a new stop range e.g 120000), the latest file from the previous extraction (80000-90000.jsonl) is overwritten by an empty file.
Note: this behavior only appears when the output file path is a local path. (Sinking data to S3 doesn't overwrite the latest file)

Any resolution on this issue?

Hey @dkdocs it should be fixed, on the develop branch !


Ipopt related things

info: https://github.com/JuliaSmoothOptimizers/NLPModelsIpopt.jl/blob/main/src/NLPModelsIpopt.jl#L119
options of ipopt: https://coin-or.github.io/Ipopt/OPTIONS.html
callback: https://github.com/jump-dev/Ipopt.jl#solver-specific-callback
solution field 'stats': https://juliasmoothoptimizers.github.io/SolverCore.jl/stable/reference/#SolverCore.GenericExecutionStats
We typically use the non-default options:

mu_strategy="adaptive" appears better than the default option (monotone) for OCP problems
sb="yes" to remove the ipopt header at the start

Informations of IPOPT

What is the primal_inf in IPOPT ?
What is exactly the dual_inf (dual feasibility) in IPOPT ?
https://coin-or.github.io/Ipopt/OUTPUT.html
https://link.springer.com/article/10.1007/s10107-004-0559-y

Advanced call: see https://github.com/JuliaSmoothOptimizers/NLPModelsIpopt.jl/discussions/103


pull request repo 1

pls let me pull the repo

jsonpickle is meant to be used in trusted environments.  You don't blindly use jsonpickle on random json that you get, same as you don't do curl | bash.


[simple] add duckduckgo to load_tools.py

duckduckgo was introduced in https://github.com/hwchase17/langchain/pull/3206/, but it’s not enabled in load_tools.py yet.
this PR simply enables it in load_tools.py with a straightforward agent call (as described in get_started doc) to verify the functionality.
duckduckgo integration test passed.

TODO:

not seeing an agent specific integration. Since I’m still ramping up here, will add it in a following PR.
it looks like DuckDuckGo is using a different naming convention with postfix “-Tool” vs “-Run” comparing with others. The work is straightforward and it is a great way to explore the codebase, so I decided to take the chance to deeply read the codebase and then make the straightforward change in the next PR. :)

This is my first PR. Please let me know if there is anything I can improve. Thank you so much!
Agent Call with DuckDuckGo instead.

trunk has a lint error. fixed it in the latest commit.
TODO: will add missing annotation to the rest variables. It will touch a lot of them. So to keep the commit focus and clear, I’ll do them in another PR.

thank you for accepting my PR, @vowelparrot ! I found there is a lint error in the latest trunk. Just fixed it in one the commit here. Please take a look when you have time. As commented above, I’ll add annotation to the rest variables in the file to keep them consistent. Thanks!


[BUG] File Storage upload (~3mb) returns 413 'Request Entity Too Large'

Describe the bug
When uploading an image to file storage of conduit, for images > ~3mb then the api returns status code 413
To Reproduce
Steps to reproduce the behavior:

Try to upload a new image to conduit file storage
For images > 3mb of size
The api call returns status code 413 request entity too large

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context

Conduit version: 0.10.6

Closing issue, since this was in fact an Nginx error.


New version: Microsoft.AzureDataStudio version 1.48.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Didnt realize my manifest creator was the stale. canceling. will supbit new PR with correct manifest version


Question regarding peak learning rate and minimum learning rate in pretraining stages of BLIP-2

Hello, I'm currently working on replicating BLIP-2 and I have some questions regarding the learning rate settings in the two pretraining stages.

Is the peak learning rate set to 1e-4 in both pretraining stages?
In the paper, the minimum learning rate for the second stage is mentioned as 5e-5, but in the configuration file lavis/projects/blip2/train/pretrain_stage2.yaml, the minimum learning rate is set to 1e-5. Can you please clarify the reason for this discrepancy?
What is the minimum learning rate for the first pretraining stage?

I would appreciate your assistance in understanding these settings. Thank you for your time and effort in developing this great project!

Have you been able to reproduce stage 1 and stage 2 of BLIP-2 ?

Thanks for your questions.

Yes the peak learning rate is 1e-4 for both stages.
The minimum learning rate is 5e-5. Please follow the paper for hyperparameter setting, the config file is shown as an example.
The minimum learning rate for stage-1 is 1e-5.

Hello,
Thanks for providing the details.
One more question I have is that in the paper you mention that the model is trained for 250k steps in stage 1 and 80k steps in stage2.
In order to properly configure the learning rate scheduler, we also need the values for the following config parameters which are not discussed in the paper:
max_epoch
iters_per_epoch
Thanks

@Swetha5 Is there any update on max_epoch and iters_per_epoch?


Prerequisite Steps:
1. Make sure your provider has community provider attributes and your contact details (email, website):
  Example:
  $ provider-services query provider get akash1<REDACTED> -o text
  ...
  attributes:
  ...
  - key: host
  value: akash
  - key: tier
  value: community
  info:
    email: "<your email>"
    website: "<your website>"

Ref documentation:.
2. Make sure your provider *.ingress resolves to your provider IP (ideally worker node IP)
host <anything>.ingress.<yourdomain>

Example:
$ host anything.ingress.akash.pro
anything.ingress.akash.pro is an alias for nodes.akash.pro.
nodes.akash.pro has address <IP_ADDRESS>

More info on what DNS records should look like are available in the Akash Documentation here.

3. Please make sure your Akash provider doesn't block any Akash specific ports.

If you are using a firewall, please follow this doc:
https://akash.network/docs/providers/build-a-cloud-provider/akash-cloud-provider-build-with-helm-charts/#step-11---firewall-rule-review
If you are behind NAT, then you need to make sure these ports are open between your provider worker nodes and the internet.

Audit Steps:
1. Title the issue: " [Provider Audit]: Provider Address" (e.g. "[Provider Audit]: provider.europlots.com")
2. Wait for response via comments. If no issues during provider Audit, process will be complete, provider should start bidding on leases, and Audit ticket will be closed.
3. If there are issues during the provider Audit, debug those issues, and Audit will be complete.
4. Audit Issue will be closed by core team member.
Leave contact information (optional)

Tyler Wellener
Discord: twell1
Contact email address<EMAIL_ADDRESS>

Hi @twellener,
Your provider has misconfigured attributes.
Current Attributes:
provider-services query provider get akash14f4jr40pvtvsa57u3arf3kexyrk87df5c72g3d -o text
attributes:

key: organization
value: GPU Base

key: arch
value: amd64

key: capabilities/gpu/vendor/nvidia/model/4090
value: "true"

key: capabilities/gpu/vendor/nvidia/model/rtx4090/interface/pcie
value: "true"

key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi/interface/pcie
value: "true"

key: capabilities/gpu/vendor/nvidia/model/rtx4090
value: "true"

key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram.24Gi
value: "true"

key: Discord
value: twell1

key: Website
value: gpubase.xyz
host_uri: https://provider.gpubase.xyz:8443
info:
email: ""
website: ""
owner: akash14f4jr40pvtvsa57u3arf3kexyrk87df5c72g3d

key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram.24Gi
value: "true"

This is a typo, the last dot should really be a /
Like this:

key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi
value: "true"

Second, the provider has missing attributes:

key: tier
value: community
key: host
value: akash

And third issue is that the provider is not responding on port 8444 / GRPC:
grpcurl -insecure provider.gpubase.xyz:8444 akash.provider.v1.ProviderRPC.GetStatus
Failed to dial target host "provider.gpubase.xyz:8444": context deadline exceeded
Please fix those issues and we can continue,
thank you!

Thanks @shimpa1. I've updated the misconfigured attributes. Please let me know if there's any other issues

@twellener
The contact information should be in the info section. Having a key value pair for that is optional.
As soon as this is updated, the provider will be ready to be signed.

Just updated this on the following page: https://console.akash.network/providers/akash14f4jr40pvtvsa57u3arf3kexyrk87df5c72g3d?network=mainnet
Thanks for your help

@twellener
there are now double attributes for website and email.
Please remove the ones in capital.
If your provider has persistent storage enabled then you also need this key:

key: feat-persistent-storage
value: true

If your provider does not have persistent storage enable then please remove attribute:

key: capabilities/storage/2/class
value: beta2

thank you,

Please do the following:
Log into the provider and edit the file ~/.praetor/provider.yaml
Add the lines:
email:           # set your email here
website:         # set your website (if you have)
Then do helm upgrade --install akash-provider akash/provider -n akash-services -f provider.yaml
This should do the update, I've tested it.
Once done please let me know.
thank you,

Hey @shimpa1 - thanks again for your help on this. Just updated the file and upgraded!

@andy108369 Provider akash14f4jr40pvtvsa57u3arf3kexyrk87df5c72g3d ready to be signed.

Signed!
https://www.mintscan.io/akash/txs/87732F97B3042B924B24D669F4D9CEEBD08CB414FBE41E88A9DE3D093B5ED1A2


Not displayed issue with radio buttons

Hi, I'm trying to automate a form submission. It seems that I cannot successfully 'click' a radio button.
It seems that it is always IsDisplayed = false.
Below is the portion of my code that I'm testing:
driver.ExecuteScript ("document.querySelector(""#\\31 966d0f1-b12c-11ee-a3ac-654a343ae04f"").style.opacity = ""1.0""")
driver.ExecuteScript ("document.querySelector(""#\\31 966d0f1-b12c-11ee-a3ac-654a343ae04f"").style.visibility = ""visible""")
driver.ExecuteScript ("document.querySelector(""#\\31 966d0f1-b12c-11ee-a3ac-654a343ae04f"").style.display = ""inline-block""")
driver.Wait 20000
driver.ExecuteScript("return document.querySelector(""#\\31 966d0f1-b12c-11ee-a3ac-654a343ae04f"")").SetFocus
driver.ExecuteScript("return document.querySelector(""#\\31 966d0f1-b12c-11ee-a3ac654a343ae04f"")").WaitUntilDisplayed(60000).Click

The above code will result into:
Run-time error '1':
Error in WaitUntilDisplayed method: maximum wait time exceeded while waiting for element to be displayed.
Also, I think the SetFocus line is working since I can see that the page scrolls up to show the radio button.
I cannot find a sample code that uses a radio button.
Am I missing something?
Thank you very much

Hi @edwindalaniel,
It is hard to give you feedback definitive feedback without more context. If you cannot share reproducible code, then maybe you can share the actual radio button html source.
Anyway, here is a very simple example that works for me on my system (Windows 11, Excel 365 64-bit, latest Chrome browser and driver).
Sub test_radio()
    Dim driver As WebDriver
    Dim html As String

    Set driver = New WebDriver

    driver.StartChrome
    driver.OpenBrowser

    'create a radio button sample
    html = "<!DOCTYPE html>"
    html = html & "
Display Radio Buttons
"
    html = html & "<form action='/action_page.php'>"
    html = html & "
Please select your favorite Web language:
"
    html = html & "  <input type='radio' id='html' name='fav_language' value='HTML'>"
    html = html & "  HTML
"
    html = html & "  <input type='radio' id='css' name='fav_language' value='CSS'>"
    html = html & "  CSS
"
    html = html & "  <input type='radio' id='javascript' name='fav_language' value='JavaScript'>"
    html = html & "  JavaScript"
    html = html & "</form>"
    html = html & ""

    filePath = ".\radio.html"
    driver.SaveStringToFile html, filePath

    driver.NavigateToFile filePath
    driver.ActiveWindow.Maximize
    driver.Wait 1000

    'simulate without scripts - click "css"
    driver.FindElement(By.ID, "css").Click

    driver.Wait 1000

    'simulate with scripts - click "javascript"
    'driver.ExecuteScript ("document.querySelector(""#javascript"").style.opacity = ""1.0""")
    'driver.ExecuteScript ("document.querySelector(""#javascript"").style.visibility = ""visible""")
    'driver.ExecuteScript ("document.querySelector(""#javascript"").style.display = ""inline-block""")
    'driver.ExecuteScript("return document.querySelector(""#javascript"")").SetFocus
    driver.ExecuteScript("return document.querySelector(""#javascript"")").WaitUntilDisplayed(3000).Click

    driver.Wait 3000

    driver.CloseBrowser
    driver.Shutdown
End Sub

Hi @GCuser99
Thank you very much for the test code. I was able to reproduce my issue using it.
The problem was not only the radio button's opacity was 0, also the width and height of the radio buttons are 0.
Now it is working.
Thank you very much.


Added new category: Open Source - Generic

As part of issue #550, I’ve pulled a few resources into a new category.

Not sure I'm much of a fan of this change, I think that awesome-OpenSourcePhotography should definitely be under Media instead.

Maybe, but what about the others?

Yeah, me neither. FOSS for Developers should rather be under Dev Environment. Open Source Documents under media too. Thanks for trying though @AllThingsSmitty. Open to other suggestions ;)


Exported excels don't import empty tables

When a table does not have information the excel does not import it, when it should.
Also, parameters are being exported as original tables with headers when they should be exported as key -> value. Otherwise, the schema will fail when reusing the excel.

PR that fixes this issue: https://github.com/baobabsoluciones/cornflow-ui/pull/60


Api endpoints

I implemented the above on this repo...

[ ] Created an API endpoint to list all posts for a user.
[ ] Created an API endpoint to list all comments for a user's post.
[ ] Created an API endpoint to add a comment to a post. Remember that the owner of the comment is the user who makes it; it should not be set by passing a parameter.
[ ] My API endpoints received JSON and responded JSON as well.

Dear Reviewer...

Here is a screenshot to show I am on solo this week.
Thank you so much 👍


K8s emptyDir on virtio-fs provisioned on memory filesystem

Description of problem
When using virtio-fs for the shared_fs, Kubernetes emptyDirs are being provisioned on a memory based filesystem. This is incorrect, as emptyDir should be on a disk.
I believe this is due to the changes made in https://github.com/kata-containers/runtime/pull/1485, where the emptyDir is provisioned on the file system of the sandbox container. This worked fine when using 9p or devicemapper for rootfs, but when using virtio-fs, the rootfs of the sandbox container is being provisioned on a memory filesystem.
Note: we are NOT referring to emptyDir medium: Memory, but the default medium for emptyDir.
Expected result
emptyDir to be provisioned with virtio-fs and to have the same performance as the rootfs of of the non-sandbox containers.
Actual result
emptyDir is being provisioned in the sandbox container's filesystem, which is memory backed. Thus, the IO performance of emptyDir, is the same as a emptyDir with medium: Memory.
Just to prove that the emptyDir is being provisioned on memory, I ran the following command in an emptyDir - sync; dd if=/dev/zero of=./tempfile bs=1M count=102400; sync, which will create a 100GB file.
We can then see the tmpfs for /run now has a 100GB file in it:
df -h | grep /run
Filesystem       Size  Used Avail Use% Mounted on
tmpfs            252G  101G  152G  40% /run

Other stuff
The pod I am using to test this:
apiVersion: v1
kind: Pod
metadata:
  name: test
  namespace: default
  annotations:
    io.kubernetes.cri.untrusted-workload: "true"
spec:
  containers:
    - name: sleep
      image: ubuntu
      command:
        - sleep
        - "3600"
      volumeMounts:
        - mountPath: /host-emptydir
          name: host-emptydir
        - mountPath: /memory-emptydir
          name: memory-emptydir
  volumes:
    - name: host-emptydir
    - name: memory-emptydir
      emptyDir:
        medium: "Memory"

Show kata-collect-data.sh details

Meta details
Running kata-collect-data.sh version 1.8.0-alpha1 (commit 7aaf61d44d1e79e792af707387bbbc7e809e98c2) at 2019-06-21.06:50:14.771979354+0000.

Runtime is /opt/kata/bin/kata-runtime.
kata-env
Output of "/opt/kata/bin/kata-runtime kata-env":
[Meta]
  Version = "1.0.23"

[Runtime]
  Debug = false
  Trace = false
  DisableGuestSeccomp = true
  DisableNewNetNs = false
  Path = "/opt/kata/bin/kata-runtime"
  [Runtime.Version]
    Semver = "1.8.0-alpha1"
    Commit = "7aaf61d44d1e79e792af707387bbbc7e809e98c2"
    OCI = "1.0.1-dev"
  [Runtime.Config]
    Path = "/etc/kata-containers/configuration.toml"

[Hypervisor]
  MachineType = "virt"
  Version = "NEMU (like QEMU) version 4.0.0 (kata-static)\nCopyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers"
  Path = "/opt/kata/bin/nemu-system-x86_64"
  BlockDeviceDriver = "virtio-scsi"
  EntropySource = "/dev/urandom"
  Msize9p = 8192
  MemorySlots = 10
  Debug = false
  UseVSock = false
  SharedFS = "virtio-fs"

[Image]
  Path = "/opt/kata/share/kata-containers/kata-containers-ubuntu-console.img"

[Kernel]
  Path = "/opt/kata/share/kata-containers/vmlinuz-4.19.28-41"
  Parameters = "init=/usr/lib/systemd/systemd systemd.unit=kata-containers.target systemd.mask=systemd-networkd.service systemd.mask=systemd-networkd.socket"

[Initrd]
  Path = ""

[Proxy]
  Type = "kataProxy"
  Version = "kata-proxy version 1.8.0-alpha1-d1dc8639bc30b099ee560afbf971e61dd7ce3b2f"
  Path = "/opt/kata/libexec/kata-containers/kata-proxy"
  Debug = false

[Shim]
  Type = "kataShim"
  Version = "kata-shim version 1.8.0-alpha1-9ac42424de1748ddaabff8bc744e6313ddaec3f2"
  Path = "/opt/kata/libexec/kata-containers/kata-shim"
  Debug = false

[Agent]
  Type = "kata"
  Debug = false
  Trace = false
  TraceMode = ""
  TraceType = ""

[Host]
  Kernel = "4.19.43-coreos"
  Architecture = "amd64"
  VMContainerCapable = true
  SupportVSocks = true
  [Host.Distro]
    Name = "Container Linux by CoreOS"
    Version = "2079.4.0"
  [Host.CPU]
    Vendor = "GenuineIntel"
    Model = "Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz"

[Netmon]
  Version = "kata-netmon version 1.8.0-alpha1"
  Path = "/opt/kata/libexec/kata-containers/kata-netmon"
  Debug = false
  Enable = false

Runtime config files
Runtime default config files
/etc/kata-containers/configuration.toml
/opt/kata/share/defaults/kata-containers/configuration.toml

Runtime config file contents
Output of "cat "/etc/kata-containers/configuration.toml"":
# Copyright (c) 2019 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

# XXX: WARNING: this file is auto-generated.
# XXX:
# XXX: Source file: "cli/config/configuration-nemu.toml.in"
# XXX: Project:
# XXX:   Name: Kata Containers
# XXX:   Type: kata

# nemu utilizes the 'qemu' hypervisor template type, since it closely matches qemu
[hypervisor.qemu]
path = "/opt/kata/bin/nemu-system-x86_64"
kernel = "/opt/kata/share/kata-containers/vmlinuz.container"
image = "/opt/kata/share/kata-containers/kata-containers.img"
machine_type = "virt"

# Optional space-separated list of options to pass to the guest kernel.
# For example, use `kernel_params = "vsyscall=emulate"` if you are having
# trouble running pre-2.15 glibc.
#
# WARNING: - any parameter specified here will take priority over the default
# parameter value of the same name used to start the virtual machine.
# Do not set values here unless you understand the impact of doing so as you
# may stop the virtual machine from booting.
# To see the list of default parameters, enable hypervisor debug, create a
# container and look for 'default-kernel-parameters' log entries.
kernel_params = ""

# Path to the firmware.
# If you want that qemu uses the default firmware leave this option empty
firmware = "/opt/kata/share/kata-nemu/OVMF.fd"

# Machine accelerators
# comma-separated list of machine accelerators to pass to the hypervisor.
# For example, `machine_accelerators = "nosmm,nosmbus,nosata,nopit,static-prt,nofw"`
machine_accelerators=""

# Default number of vCPUs per SB/VM:
# unspecified or 0                --> will be set to 1
# < 0                             --> will be set to the actual number of physical cores
# > 0 <= number of physical cores --> will be set to the specified number
# > number of physical cores      --> will be set to the actual number of physical cores
default_vcpus = 1

# Default maximum number of vCPUs per SB/VM:
# unspecified or == 0             --> will be set to the actual number of physical cores or to the maximum number
#                                     of vCPUs supported by KVM if that number is exceeded
# > 0 <= number of physical cores --> will be set to the specified number
# > number of physical cores      --> will be set to the actual number of physical cores or to the maximum number
#                                     of vCPUs supported by KVM if that number is exceeded
# WARNING: Depending of the architecture, the maximum number of vCPUs supported by KVM is used when
# the actual number of physical cores is greater than it.
# WARNING: Be aware that this value impacts the virtual machine's memory footprint and CPU
# the hotplug functionality. For example, `default_maxvcpus = 240` specifies that until 240 vCPUs
# can be added to a SB/VM, but the memory footprint will be big. Another example, with
# `default_maxvcpus = 8` the memory footprint will be small, but 8 will be the maximum number of
# vCPUs supported by the SB/VM. In general, we recommend that you do not edit this variable,
# unless you know what are you doing.
default_maxvcpus = 0

# Bridges can be used to hot plug devices.
# Limitations:
# * Currently only pci bridges are supported
# * Until 30 devices per bridge can be hot plugged.
# * Until 5 PCI bridges can be cold plugged per VM.
#   This limitation could be a bug in the kernel
# Default number of bridges per SB/VM:
# unspecified or 0   --> will be set to 1
# > 1 <= 5           --> will be set to the specified number
# > 5                --> will be set to 5
default_bridges = 1

# Default memory size in MiB for SB/VM.
# If unspecified then it will be set 2048 MiB.
default_memory = 2048
#
# Default memory slots per SB/VM.
# If unspecified then it will be set 10.
# This is will determine the times that memory will be hotadded to sandbox/VM.
#memory_slots = 10

# The size in MiB will be plused to max memory of hypervisor.
# It is the memory address space for the NVDIMM devie.
# If set block storage driver (block_device_driver) to "nvdimm",
# should set memory_offset to the size of block device.
# Default 0
#memory_offset = 0

# Disable block device from being used for a container's rootfs.
# In case of a storage driver like devicemapper where a container's
# root file system is backed by a block device, the block device is passed
# directly to the hypervisor for performance reasons.
# This flag prevents the block device from being passed to the hypervisor,
# 9pfs is used instead to pass the rootfs.
disable_block_device_use = false

# Shared file system type:
#   - virtio-fs (default)
#   - virtio-9p
shared_fs = "virtio-fs"

# Path to vhost-user-fs daemon.
virtio_fs_daemon = "/opt/kata/bin/virtiofsd-x86_64"

# Default size of DAX cache in MiB
virtio_fs_cache_size = 1024

# Cache mode:
#
#  - none
#    Metadata, data, and pathname lookup are not cached in guest. They are
#    always fetched from host and any changes are immediately pushed to host.
#
#  - auto
#    Metadata and pathname lookup cache expires after a configured amount of
#    time (default is 1 second). Data is cached while the file is open (close
#    to open consistency).
#
#  - always
#    Metadata, data, and pathname lookup are cached in guest and never expire.
virtio_fs_cache = "always"

# Block storage driver to be used for the hypervisor in case the container
# rootfs is backed by a block device. This is virtio-scsi, virtio-blk
# or nvdimm.
block_device_driver = "virtio-scsi"

# Specifies cache-related options will be set to block devices or not.
# Default false
#block_device_cache_set = true

# Specifies cache-related options for block devices.
# Denotes whether use of O_DIRECT (bypass the host page cache) is enabled.
# Default false
#block_device_cache_direct = true

# Specifies cache-related options for block devices.
# Denotes whether flush requests for the device are ignored.
# Default false
#block_device_cache_noflush = true

# Enable iothreads (data-plane) to be used. This causes IO to be
# handled in a separate IO thread. This is currently only implemented
# for SCSI.
#
enable_iothreads = false

# Enable pre allocation of VM RAM, default false
# Enabling this will result in lower container density
# as all of the memory will be allocated and locked
# This is useful when you want to reserve all the memory
# upfront or in the cases where you want memory latencies
# to be very predictable
# Default false
#enable_mem_prealloc = true

# Enable huge pages for VM RAM, default false
# Enabling this will result in the VM memory
# being allocated using huge pages.
# This is useful when you want to use vhost-user network
# stacks within the container. This will automatically
# result in memory pre allocation
enable_hugepages = false

# Enable swap of vm memory. Default false.
# The behaviour is undefined if mem_prealloc is also set to true
#enable_swap = true

# This option changes the default hypervisor and kernel parameters
# to enable debug output where available. This extra output is added
# to the proxy logs, but only when proxy debug is also enabled.
#
# Default false
#enable_debug = true

# Disable the customizations done in the runtime when it detects
# that it is running on top a VMM. This will result in the runtime
# behaving as it would when running on bare metal.
#
#disable_nesting_checks = true

# This is the msize used for 9p shares. It is the number of bytes
# used for 9p packet payload.
#msize_9p = 8192

# If true and vsocks are supported, use vsocks to communicate directly
# with the agent (no proxy is started).
# Default true
#use_vsock = true

# VFIO devices are hotplugged on a bridge by default.
# Enable hotplugging on root bus. This may be required for devices with
# a large PCI bar, as this is a current limitation with hotplugging on
# a bridge. This value is valid for "pc" machine type.
# Default false
#hotplug_vfio_on_root_bus = true

# If host doesn't support vhost_net, set to true. Thus we won't create vhost fds for nics.
# Default false
#disable_vhost_net = true
#
# Default entropy source.
# The path to a host source of entropy (including a real hardware RNG)
# /dev/urandom and /dev/random are two main options.
# Be aware that /dev/random is a blocking source of entropy.  If the host
# runs out of entropy, the VMs boot time will increase leading to get startup
# timeouts.
# The source of entropy /dev/urandom is non-blocking and provides a
# generally acceptable source of entropy. It should work well for pretty much
# all practical purposes.
#entropy_source= "/dev/urandom"

# Path to OCI hook binaries in the *guest rootfs*.
# This does not affect host-side hooks which must instead be added to
# the OCI spec passed to the runtime.
#
# You can create a rootfs with hooks by customizing the osbuilder scripts:
# https://github.com/kata-containers/osbuilder
#
# Hooks must be stored in a subdirectory of guest_hook_path according to their
# hook type, i.e. "guest_hook_path/{prestart,postart,poststop}".
# The agent will scan these directories for executable files and add them, in
# lexicographical order, to the lifecycle of the guest container.
# Hooks are executed in the runtime namespace of the guest. See the official documentation:
# https://github.com/opencontainers/runtime-spec/blob/v1.0.1/config.md#posix-platform-hooks
# Warnings will be logged if any error is encountered will scanning for hooks,
# but it will not abort container execution.
#guest_hook_path = "/usr/share/oci/hooks"

[factory]
# VM templating support. Once enabled, new VMs are created from template
# using vm cloning. They will share the same initial kernel, initramfs and
# agent memory by mapping it readonly. It helps speeding up new container
# creation and saves a lot of memory if there are many kata containers running
# on the same host.
#
# When disabled, new VMs are created from scratch.
#
# Note: Requires "initrd=" to be set ("image=" is not supported).
#
# Default false
#enable_template = true

# Specifies the path of template.
#
# Default "/run/vc/vm/template"
#template_path = "/run/vc/vm/template"

# The number of caches of VMCache:
# unspecified or == 0   --> VMCache is disabled
# > 0                   --> will be set to the specified number
#
# VMCache is a function that creates VMs as caches before using it.
# It helps speed up new container creation.
# The function consists of a server and some clients communicating
# through Unix socket.  The protocol is gRPC in protocols/cache/cache.proto.
# The VMCache server will create some VMs and cache them by factory cache.
# It will convert the VM to gRPC format and transport it when gets
# requestion from clients.
# Factory grpccache is the VMCache client.  It will request gRPC format
# VM and convert it back to a VM.  If VMCache function is enabled,
# kata-runtime will request VM from factory grpccache when it creates
# a new sandbox.
#
# Default 0
#vm_cache_number = 0

# Specify the address of the Unix socket that is used by VMCache.
#
# Default /var/run/kata-containers/cache.sock
#vm_cache_endpoint = "/var/run/kata-containers/cache.sock"

[proxy.kata]
path = "/opt/kata/libexec/kata-containers/kata-proxy"

# If enabled, proxy messages will be sent to the system log
# (default: disabled)
#enable_debug = true

[shim.kata]
path = "/opt/kata/libexec/kata-containers/kata-shim"

# If enabled, shim messages will be sent to the system log
# (default: disabled)
#enable_debug = true

# If enabled, the shim will create opentracing.io traces and spans.
# (See https://www.jaegertracing.io/docs/getting-started).
#
# Note: By default, the shim runs in a separate network namespace. Therefore,
# to allow it to send trace details to the Jaeger agent running on the host,
# it is necessary to set 'disable_new_netns=true' so that it runs in the host
# network namespace.
#
# (default: disabled)
#enable_tracing = true

[agent.kata]
# If enabled, make the agent display debug-level messages.
# (default: disabled)
#enable_debug = true

# Enable agent tracing.
#
# If enabled, the default trace mode is "dynamic" and the
# default trace type is "isolated". The trace mode and type are set
# explicity with the `trace_type=` and `trace_mode=` options.
#
# Notes:
#
# - Tracing is ONLY enabled when `enable_tracing` is set: explicitly
#   setting `trace_mode=` and/or `trace_type=` without setting `enable_tracing`
#   will NOT activate agent tracing.
#
# - See https://github.com/kata-containers/agent/blob/master/TRACING.md for
#   full details.
#
# (default: disabled)
#enable_tracing = true
#
#trace_mode = "dynamic"
#trace_type = "isolated"

[netmon]
# If enabled, the network monitoring process gets started when the
# sandbox is created. This allows for the detection of some additional
# network being added to the existing network namespace, after the
# sandbox has been created.
# (default: disabled)
#enable_netmon = true

# Specify the path to the netmon binary.
path = "/opt/kata/libexec/kata-containers/kata-netmon"

# If enabled, netmon messages will be sent to the system log
# (default: disabled)
#enable_debug = true

[runtime]
# If enabled, the runtime will log additional debug messages to the
# system log
# (default: disabled)
#enable_debug = true
#
# Internetworking model
# Determines how the VM should be connected to the
# the container network interface
# Options:
#
#   - bridged
#     Uses a linux bridge to interconnect the container interface to
#     the VM. Works for most cases except macvlan and ipvlan.
#
#   - macvtap
#     Used when the Container network interface can be bridged using
#     macvtap.
#
#   - none
#     Used when customize network. Only creates a tap device. No veth pair.
#
#   - tcfilter
#     Uses tc filter rules to redirect traffic from the network interface
#     provided by plugin to a tap interface connected to the VM.
#
internetworking_model="tcfilter"

# disable guest seccomp
# Determines whether container seccomp profiles are passed to the virtual
# machine and applied by the kata agent. If set to true, seccomp is not applied
# within the guest
# (default: true)
disable_guest_seccomp=true

# If enabled, the runtime will create opentracing.io traces and spans.
# (See https://www.jaegertracing.io/docs/getting-started).
# (default: disabled)
#enable_tracing = true

# If enabled, the runtime will not create a network namespace for shim and hypervisor processes.
# This option may have some potential impacts to your host. It should only be used when you know what you're doing.
# `disable_new_netns` conflicts with `enable_netmon`
# `disable_new_netns` conflicts with `internetworking_model=bridged` and `internetworking_model=macvtap`. It works only
# with `internetworking_model=none`. The tap device will be in the host network namespace and can connect to a bridge
# (like OVS) directly.
# If you are using docker, `disable_new_netns` only works with `docker run --net=none`
# (default: false)
#disable_new_netns = true

# Enabled experimental feature list, format: ["a", "b"].
# Experimental features are features not stable enough for production,
# They may break compatibility, and are prepared for a big version bump.
# Supported experimental features:
# 1. "newstore": new persist storage driver which breaks backward compatibility,
#				expected to move out of experimental in 2.0.0.
# (default: [])
experimental=[]

Output of "cat "/opt/kata/share/defaults/kata-containers/configuration.toml"":
# Copyright (c) 2017-2019 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

# XXX: WARNING: this file is auto-generated.
# XXX:
# XXX: Source file: "cli/config/configuration-qemu.toml.in"
# XXX: Project:
# XXX:   Name: Kata Containers
# XXX:   Type: kata

[hypervisor.qemu]
path = "/opt/kata/bin/qemu-system-x86_64"
kernel = "/opt/kata/share/kata-containers/vmlinuz.container"
image = "/opt/kata/share/kata-containers/kata-containers.img"
machine_type = "pc"

# Optional space-separated list of options to pass to the guest kernel.
# For example, use `kernel_params = "vsyscall=emulate"` if you are having
# trouble running pre-2.15 glibc.
#
# WARNING: - any parameter specified here will take priority over the default
# parameter value of the same name used to start the virtual machine.
# Do not set values here unless you understand the impact of doing so as you
# may stop the virtual machine from booting.
# To see the list of default parameters, enable hypervisor debug, create a
# container and look for 'default-kernel-parameters' log entries.
kernel_params = ""

# Path to the firmware.
# If you want that qemu uses the default firmware leave this option empty
firmware = ""

# Machine accelerators
# comma-separated list of machine accelerators to pass to the hypervisor.
# For example, `machine_accelerators = "nosmm,nosmbus,nosata,nopit,static-prt,nofw"`
machine_accelerators=""

# Default number of vCPUs per SB/VM:
# unspecified or 0                --> will be set to 1
# < 0                             --> will be set to the actual number of physical cores
# > 0 <= number of physical cores --> will be set to the specified number
# > number of physical cores      --> will be set to the actual number of physical cores
default_vcpus = 1

# Default maximum number of vCPUs per SB/VM:
# unspecified or == 0             --> will be set to the actual number of physical cores or to the maximum number
#                                     of vCPUs supported by KVM if that number is exceeded
# > 0 <= number of physical cores --> will be set to the specified number
# > number of physical cores      --> will be set to the actual number of physical cores or to the maximum number
#                                     of vCPUs supported by KVM if that number is exceeded
# WARNING: Depending of the architecture, the maximum number of vCPUs supported by KVM is used when
# the actual number of physical cores is greater than it.
# WARNING: Be aware that this value impacts the virtual machine's memory footprint and CPU
# the hotplug functionality. For example, `default_maxvcpus = 240` specifies that until 240 vCPUs
# can be added to a SB/VM, but the memory footprint will be big. Another example, with
# `default_maxvcpus = 8` the memory footprint will be small, but 8 will be the maximum number of
# vCPUs supported by the SB/VM. In general, we recommend that you do not edit this variable,
# unless you know what are you doing.
default_maxvcpus = 0

# Bridges can be used to hot plug devices.
# Limitations:
# * Currently only pci bridges are supported
# * Until 30 devices per bridge can be hot plugged.
# * Until 5 PCI bridges can be cold plugged per VM.
#   This limitation could be a bug in qemu or in the kernel
# Default number of bridges per SB/VM:
# unspecified or 0   --> will be set to 1
# > 1 <= 5           --> will be set to the specified number
# > 5                --> will be set to 5
default_bridges = 1

# Default memory size in MiB for SB/VM.
# If unspecified then it will be set 2048 MiB.
default_memory = 2048
#
# Default memory slots per SB/VM.
# If unspecified then it will be set 10.
# This is will determine the times that memory will be hotadded to sandbox/VM.
#memory_slots = 10

# The size in MiB will be plused to max memory of hypervisor.
# It is the memory address space for the NVDIMM devie.
# If set block storage driver (block_device_driver) to "nvdimm",
# should set memory_offset to the size of block device.
# Default 0
#memory_offset = 0

# Disable block device from being used for a container's rootfs.
# In case of a storage driver like devicemapper where a container's
# root file system is backed by a block device, the block device is passed
# directly to the hypervisor for performance reasons.
# This flag prevents the block device from being passed to the hypervisor,
# 9pfs is used instead to pass the rootfs.
disable_block_device_use = false

# Shared file system type:
#   - virtio-9p (default)
#   - virtio-fs
shared_fs = "virtio-9p"

# Path to vhost-user-fs daemon.
virtio_fs_daemon = "/opt/kata/bin/virtiofsd-x86_64"

# Default size of DAX cache in MiB
virtio_fs_cache_size = 1024

# Cache mode:
#
#  - none
#    Metadata, data, and pathname lookup are not cached in guest. They are
#    always fetched from host and any changes are immediately pushed to host.
#
#  - auto
#    Metadata and pathname lookup cache expires after a configured amount of
#    time (default is 1 second). Data is cached while the file is open (close
#    to open consistency).
#
#  - always
#    Metadata, data, and pathname lookup are cached in guest and never expire.
virtio_fs_cache = "always"

# Block storage driver to be used for the hypervisor in case the container
# rootfs is backed by a block device. This is virtio-scsi, virtio-blk
# or nvdimm.
block_device_driver = "virtio-scsi"

# Specifies cache-related options will be set to block devices or not.
# Default false
#block_device_cache_set = true

# Specifies cache-related options for block devices.
# Denotes whether use of O_DIRECT (bypass the host page cache) is enabled.
# Default false
#block_device_cache_direct = true

# Specifies cache-related options for block devices.
# Denotes whether flush requests for the device are ignored.
# Default false
#block_device_cache_noflush = true

# Enable iothreads (data-plane) to be used. This causes IO to be
# handled in a separate IO thread. This is currently only implemented
# for SCSI.
#
enable_iothreads = false

# Enable pre allocation of VM RAM, default false
# Enabling this will result in lower container density
# as all of the memory will be allocated and locked
# This is useful when you want to reserve all the memory
# upfront or in the cases where you want memory latencies
# to be very predictable
# Default false
#enable_mem_prealloc = true

# Enable huge pages for VM RAM, default false
# Enabling this will result in the VM memory
# being allocated using huge pages.
# This is useful when you want to use vhost-user network
# stacks within the container. This will automatically
# result in memory pre allocation
#enable_hugepages = true

# Enable file based guest memory support. The default is an empty string which
# will disable this feature. In the case of virtio-fs, this is enabled
# automatically and '/dev/shm' is used as the backing folder.
# This option will be ignored if VM templating is enabled.
#file_mem_backend = ""

# Enable swap of vm memory. Default false.
# The behaviour is undefined if mem_prealloc is also set to true
#enable_swap = true

# This option changes the default hypervisor and kernel parameters
# to enable debug output where available. This extra output is added
# to the proxy logs, but only when proxy debug is also enabled.
#
# Default false
#enable_debug = true

# Disable the customizations done in the runtime when it detects
# that it is running on top a VMM. This will result in the runtime
# behaving as it would when running on bare metal.
#
#disable_nesting_checks = true

# This is the msize used for 9p shares. It is the number of bytes
# used for 9p packet payload.
#msize_9p = 8192

# If true and vsocks are supported, use vsocks to communicate directly
# with the agent and no proxy is started, otherwise use unix
# sockets and start a proxy to communicate with the agent.
# Default false
#use_vsock = true

# VFIO devices are hotplugged on a bridge by default.
# Enable hotplugging on root bus. This may be required for devices with
# a large PCI bar, as this is a current limitation with hotplugging on
# a bridge. This value is valid for "pc" machine type.
# Default false
#hotplug_vfio_on_root_bus = true

# If host doesn't support vhost_net, set to true. Thus we won't create vhost fds for nics.
# Default false
#disable_vhost_net = true
#
# Default entropy source.
# The path to a host source of entropy (including a real hardware RNG)
# /dev/urandom and /dev/random are two main options.
# Be aware that /dev/random is a blocking source of entropy.  If the host
# runs out of entropy, the VMs boot time will increase leading to get startup
# timeouts.
# The source of entropy /dev/urandom is non-blocking and provides a
# generally acceptable source of entropy. It should work well for pretty much
# all practical purposes.
#entropy_source= "/dev/urandom"

# Path to OCI hook binaries in the *guest rootfs*.
# This does not affect host-side hooks which must instead be added to
# the OCI spec passed to the runtime.
#
# You can create a rootfs with hooks by customizing the osbuilder scripts:
# https://github.com/kata-containers/osbuilder
#
# Hooks must be stored in a subdirectory of guest_hook_path according to their
# hook type, i.e. "guest_hook_path/{prestart,postart,poststop}".
# The agent will scan these directories for executable files and add them, in
# lexicographical order, to the lifecycle of the guest container.
# Hooks are executed in the runtime namespace of the guest. See the official documentation:
# https://github.com/opencontainers/runtime-spec/blob/v1.0.1/config.md#posix-platform-hooks
# Warnings will be logged if any error is encountered will scanning for hooks,
# but it will not abort container execution.
#guest_hook_path = "/usr/share/oci/hooks"

[factory]
# VM templating support. Once enabled, new VMs are created from template
# using vm cloning. They will share the same initial kernel, initramfs and
# agent memory by mapping it readonly. It helps speeding up new container
# creation and saves a lot of memory if there are many kata containers running
# on the same host.
#
# When disabled, new VMs are created from scratch.
#
# Note: Requires "initrd=" to be set ("image=" is not supported).
#
# Default false
#enable_template = true

# Specifies the path of template.
#
# Default "/run/vc/vm/template"
#template_path = "/run/vc/vm/template"

# The number of caches of VMCache:
# unspecified or == 0   --> VMCache is disabled
# > 0                   --> will be set to the specified number
#
# VMCache is a function that creates VMs as caches before using it.
# It helps speed up new container creation.
# The function consists of a server and some clients communicating
# through Unix socket.  The protocol is gRPC in protocols/cache/cache.proto.
# The VMCache server will create some VMs and cache them by factory cache.
# It will convert the VM to gRPC format and transport it when gets
# requestion from clients.
# Factory grpccache is the VMCache client.  It will request gRPC format
# VM and convert it back to a VM.  If VMCache function is enabled,
# kata-runtime will request VM from factory grpccache when it creates
# a new sandbox.
#
# Default 0
#vm_cache_number = 0

# Specify the address of the Unix socket that is used by VMCache.
#
# Default /var/run/kata-containers/cache.sock
#vm_cache_endpoint = "/var/run/kata-containers/cache.sock"

[proxy.kata]
path = "/opt/kata/libexec/kata-containers/kata-proxy"

# If enabled, proxy messages will be sent to the system log
# (default: disabled)
#enable_debug = true

[shim.kata]
path = "/opt/kata/libexec/kata-containers/kata-shim"

# If enabled, shim messages will be sent to the system log
# (default: disabled)
#enable_debug = true

# If enabled, the shim will create opentracing.io traces and spans.
# (See https://www.jaegertracing.io/docs/getting-started).
#
# Note: By default, the shim runs in a separate network namespace. Therefore,
# to allow it to send trace details to the Jaeger agent running on the host,
# it is necessary to set 'disable_new_netns=true' so that it runs in the host
# network namespace.
#
# (default: disabled)
#enable_tracing = true

[agent.kata]
# If enabled, make the agent display debug-level messages.
# (default: disabled)
#enable_debug = true

# Enable agent tracing.
#
# If enabled, the default trace mode is "dynamic" and the
# default trace type is "isolated". The trace mode and type are set
# explicity with the `trace_type=` and `trace_mode=` options.
#
# Notes:
#
# - Tracing is ONLY enabled when `enable_tracing` is set: explicitly
#   setting `trace_mode=` and/or `trace_type=` without setting `enable_tracing`
#   will NOT activate agent tracing.
#
# - See https://github.com/kata-containers/agent/blob/master/TRACING.md for
#   full details.
#
# (default: disabled)
#enable_tracing = true
#
#trace_mode = "dynamic"
#trace_type = "isolated"

[netmon]
# If enabled, the network monitoring process gets started when the
# sandbox is created. This allows for the detection of some additional
# network being added to the existing network namespace, after the
# sandbox has been created.
# (default: disabled)
#enable_netmon = true

# Specify the path to the netmon binary.
path = "/opt/kata/libexec/kata-containers/kata-netmon"

# If enabled, netmon messages will be sent to the system log
# (default: disabled)
#enable_debug = true

[runtime]
# If enabled, the runtime will log additional debug messages to the
# system log
# (default: disabled)
#enable_debug = true
#
# Internetworking model
# Determines how the VM should be connected to the
# the container network interface
# Options:
#
#   - bridged
#     Uses a linux bridge to interconnect the container interface to
#     the VM. Works for most cases except macvlan and ipvlan.
#
#   - macvtap
#     Used when the Container network interface can be bridged using
#     macvtap.
#
#   - none
#     Used when customize network. Only creates a tap device. No veth pair.
#
#   - tcfilter
#     Uses tc filter rules to redirect traffic from the network interface
#     provided by plugin to a tap interface connected to the VM.
#
internetworking_model="tcfilter"

# disable guest seccomp
# Determines whether container seccomp profiles are passed to the virtual
# machine and applied by the kata agent. If set to true, seccomp is not applied
# within the guest
# (default: true)
disable_guest_seccomp=true

# If enabled, the runtime will create opentracing.io traces and spans.
# (See https://www.jaegertracing.io/docs/getting-started).
# (default: disabled)
#enable_tracing = true

# If enabled, the runtime will not create a network namespace for shim and hypervisor processes.
# This option may have some potential impacts to your host. It should only be used when you know what you're doing.
# `disable_new_netns` conflicts with `enable_netmon`
# `disable_new_netns` conflicts with `internetworking_model=bridged` and `internetworking_model=macvtap`. It works only
# with `internetworking_model=none`. The tap device will be in the host network namespace and can connect to a bridge
# (like OVS) directly.
# If you are using docker, `disable_new_netns` only works with `docker run --net=none`
# (default: false)
#disable_new_netns = true

# Enabled experimental feature list, format: ["a", "b"].
# Experimental features are features not stable enough for production,
# They may break compatibility, and are prepared for a big version bump.
# Supported experimental features:
# 1. "newstore": new persist storage driver which breaks backward compatibility,
#				expected to move out of experimental in 2.0.0.
# (default: [])
experimental=[]

Config file /usr/share/defaults/kata-containers/configuration.toml not found

KSM throttler
version
Output of " --version":
./kata-collect-data.sh: line 178: --version: command not found

systemd service
Image details
---
osbuilder:
  url: "https://github.com/kata-containers/osbuilder"
  version: "1.7.0-rc1-1afb7e56854f16892b22312b5cc07b55fa0ea221"
rootfs-creation-time: "2019-05-22T04:09:05.860112951+0000Z"
description: "osbuilder rootfs"
file-format-version: "0.0.2"
architecture: "x86_64"
base-distro:
  name: "bionic"
  version: "18.04"
  packages:
    default:
      - "systemd,iptables,init,chrony,fuse,bash"
    extra:
      - "bash"
      - "fuse"
agent:
  url: "https://github.com/kata-containers/agent"
  name: "kata-agent"
  version: "1.7.0-714bf625cc68505f31d802f98b84bf2b8006e146"
  agent-is-init-daemon: "no"

Initrd details
No initrd

Logfiles
Runtime logs
No recent runtime problems found in system journal.
Proxy logs
No recent proxy problems found in system journal.
Shim logs
No recent shim problems found in system journal.
Throttler logs
No recent throttler problems found in system journal.

Container manager details
Have docker
Docker
Output of "docker version":
Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.8
 Git commit:        d7080c1
 Built:             Tue Feb 19 23:07:53 2019
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Output of "docker info":
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Transient=no
Perpetual=no
StartLimitIntervalUSec=10s
StartLimitBurst=5
StartLimitAction=none
FailureAction=none
FailureActionExitStatus=-1
SuccessAction=none
SuccessActionExitStatus=-1
CollectMode=inactive

No kubectl
No crio
Have containerd
containerd
Output of "containerd --version":
containerd github.com/containerd/containerd v1.2.6 894b81a4b802e4eb2a91d1ce216b8817763c29fb

Output of "systemctl show containerd":
Type=simple
Restart=always
NotifyAccess=none
RestartUSec=5s
TimeoutStartUSec=1min 30s
TimeoutStopUSec=1min 30s
RuntimeMaxUSec=infinity
WatchdogUSec=0
WatchdogTimestampMonotonic=0
RootDirectoryStartOnly=no
RemainAfterExit=no
GuessMainPID=yes
MainPID=2924
ControlPID=0
FileDescriptorStoreMax=0
NFileDescriptorStore=0
StatusErrno=0
Result=success
UID=[not set]
GID=[not set]
NRestarts=0
ExecMainStartTimestamp=Fri 2019-06-21 06:46:20 UTC
ExecMainStartTimestampMonotonic=66297538
ExecMainExitTimestampMonotonic=0
ExecMainPID=2924
ExecMainCode=0
ExecMainStatus=0
ExecStartPre={ path=/sbin/modprobe ; argv[]=/sbin/modprobe overlay ; ignore_errors=no ; start_time=[Fri 2019-06-21 06:46:18 UTC] ; stop_time=[Fri 2019-06-21 06:46:18 UTC] ; pid=2850 ; code=exited ; status=0 }
ExecStartPre={ path=/opt/bin/containerd-init.sh ; argv[]=/opt/bin/containerd-init.sh ; ignore_errors=no ; start_time=[Fri 2019-06-21 06:46:18 UTC] ; stop_time=[Fri 2019-06-21 06:46:20 UTC] ; pid=2852 ; code=exited ; status=0 }
ExecStart={ path=/opt/containerd/bin/containerd ; argv[]=/opt/containerd/bin/containerd --log-level=debug --config=/etc/containerd/config.toml ; ignore_errors=no ; start_time=[Fri 2019-06-21 06:46:20 UTC] ; stop_time=[n/a] ; pid=2924 ; code=(null) ; status=0/0 }
Slice=system.slice
ControlGroup=/system.slice/containerd.service
MemoryCurrent=2239016960
CPUUsageNSec=[not set]
TasksCurrent=290
IPIngressBytes=18446744073709551615
IPIngressPackets=18446744073709551615
IPEgressBytes=18446744073709551615
IPEgressPackets=18446744073709551615
Delegate=yes
DelegateControllers=cpu cpuacct io blkio memory devices pids bpf-firewall bpf-devices
CPUAccounting=no
CPUWeight=[not set]
StartupCPUWeight=[not set]
CPUShares=[not set]
StartupCPUShares=[not set]
CPUQuotaPerSecUSec=infinity
IOAccounting=no
IOWeight=[not set]
StartupIOWeight=[not set]
BlockIOAccounting=no
BlockIOWeight=[not set]
StartupBlockIOWeight=[not set]
MemoryAccounting=yes
MemoryMin=0
MemoryLow=0
MemoryHigh=infinity
MemoryMax=infinity
MemorySwapMax=infinity
MemoryLimit=infinity
DevicePolicy=auto
TasksAccounting=yes
TasksMax=73727
IPAccounting=no
UMask=0022
LimitCPU=infinity
LimitCPUSoft=infinity
LimitFSIZE=infinity
LimitFSIZESoft=infinity
LimitDATA=infinity
LimitDATASoft=infinity
LimitSTACK=infinity
LimitSTACKSoft=8388608
LimitCORE=infinity
LimitCORESoft=infinity
LimitRSS=infinity
LimitRSSSoft=infinity
LimitNOFILE=1048576
LimitNOFILESoft=1048576
LimitAS=infinity
LimitASSoft=infinity
LimitNPROC=infinity
LimitNPROCSoft=infinity
LimitMEMLOCK=65536
LimitMEMLOCKSoft=65536
LimitLOCKS=infinity
LimitLOCKSSoft=infinity
LimitSIGPENDING=2063281
LimitSIGPENDINGSoft=2063281
LimitMSGQUEUE=819200
LimitMSGQUEUESoft=819200
LimitNICE=0
LimitNICESoft=0
LimitRTPRIO=0
LimitRTPRIOSoft=0
LimitRTTIME=infinity
LimitRTTIMESoft=infinity
OOMScoreAdjust=-999
Nice=0
IOSchedulingClass=0
IOSchedulingPriority=0
CPUSchedulingPolicy=0
CPUSchedulingPriority=0
TimerSlackNSec=50000
CPUSchedulingResetOnFork=no
NonBlocking=no
StandardInput=null
StandardInputData=
StandardOutput=journal
StandardError=inherit
TTYReset=no
TTYVHangup=no
TTYVTDisallocate=no
SyslogPriority=30
SyslogLevelPrefix=yes
SyslogLevel=6
SyslogFacility=3
LogLevelMax=-1
LogRateLimitIntervalUSec=0
LogRateLimitBurst=0
SecureBits=0
CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend
AmbientCapabilities=
DynamicUser=no
RemoveIPC=no
MountFlags=
PrivateTmp=no
PrivateDevices=no
ProtectKernelTunables=no
ProtectKernelModules=no
ProtectControlGroups=no
PrivateNetwork=no
PrivateUsers=no
PrivateMounts=no
ProtectHome=no
ProtectSystem=no
SameProcessGroup=no
UtmpMode=init
IgnoreSIGPIPE=yes
NoNewPrivileges=no
SystemCallErrorNumber=0
LockPersonality=no
RuntimeDirectoryPreserve=no
RuntimeDirectoryMode=0755
StateDirectoryMode=0755
CacheDirectoryMode=0755
LogsDirectoryMode=0755
ConfigurationDirectoryMode=0755
MemoryDenyWriteExecute=no
RestrictRealtime=no
RestrictNamespaces=no
MountAPIVFS=no
KeyringMode=private
KillMode=process
KillSignal=15
FinalKillSignal=9
SendSIGKILL=yes
SendSIGHUP=no
WatchdogSignal=6
Id=containerd.service
Names=containerd.service
Requires=sysinit.target system.slice
WantedBy=multi-user.target
Conflicts=shutdown.target
Before=multi-user.target shutdown.target
After=basic.target systemd-journald.socket kata-init.service system.slice sysinit.target containerd-devicemapper-init.service
Documentation=https://containerd.io
Description=containerd container runtime
LoadState=loaded
ActiveState=active
SubState=running
FragmentPath=/etc/systemd/system/containerd.service
UnitFileState=enabled
UnitFilePreset=enabled
StateChangeTimestamp=Fri 2019-06-21 06:46:20 UTC
StateChangeTimestampMonotonic=66297589
InactiveExitTimestamp=Fri 2019-06-21 06:46:18 UTC
InactiveExitTimestampMonotonic=64328825
ActiveEnterTimestamp=Fri 2019-06-21 06:46:20 UTC
ActiveEnterTimestampMonotonic=66297589
ActiveExitTimestampMonotonic=0
InactiveEnterTimestampMonotonic=0
CanStart=yes
CanStop=yes
CanReload=no
CanIsolate=no
StopWhenUnneeded=no
RefuseManualStart=no
RefuseManualStop=no
AllowIsolate=no
DefaultDependencies=yes
OnFailureJobMode=replace
IgnoreOnIsolate=no
NeedDaemonReload=no
JobTimeoutUSec=infinity
JobRunningTimeoutUSec=infinity
JobTimeoutAction=none
ConditionResult=yes
AssertResult=yes
ConditionTimestamp=Fri 2019-06-21 06:46:18 UTC
ConditionTimestampMonotonic=64327507
AssertTimestamp=Fri 2019-06-21 06:46:18 UTC
AssertTimestampMonotonic=64327507
Transient=no
Perpetual=no
StartLimitIntervalUSec=10s
StartLimitBurst=5
StartLimitAction=none
FailureAction=none
FailureActionExitStatus=-1
SuccessAction=none
SuccessActionExitStatus=-1
InvocationID=46f1cc9369fd4feea631193cd86c8470
CollectMode=inactive

Output of "cat /etc/containerd/config.toml":
[grpc]
address = "/run/containerd/containerd.sock"
uid = 0
gid = 0

[plugins]
  [plugins.cri.containerd]
    snapshotter = "overlayfs"
    [plugins.cri.containerd.default_runtime]
      runtime_type = "io.containerd.runtime.v1.linux"
      runtime_engine = "/usr/bin/runc"
      runtime_root = ""
    [plugins.cri.containerd.untrusted_workload_runtime]
      runtime_type = "io.containerd.kata.v2"

[plugins.cri]
  max_container_log_line_size = 262144

[plugins.linux]
  shim = "/opt/containerd/bin/containerd-shim"
  runtime = "runc"

[plugins.cri.registry]
  [plugins.cri.registry.mirrors]
    [plugins.cri.registry.mirrors."docker.io"]
       endpoint = []

Packages
No dpkg
No rpm

/cc @amshinde @mcastelino @sboeuf

Just spent some time with @amshinde on this issue. The problem is the same for both 9p and virtio-fs. Because you create the host-emptydir inside / and because / is the actual shared directory, whenever you create a 100G file inside the host-emptydir (from a container perspective), you see this file being created on the host under /run/katacontainers/<pod_id>/.... That's why tmpfs is growing.
The simple solution is to not ignore the host-emptydir created by k8s and simply bind mount it inside the shared directory on the host. This way, everytime you want to create 100G file from the container, it will be created all the way back into the directory provided by k8s.
The only question raised was about performance because now we will have to go over the guest/host boundary when using this empty dir. Well the answer is that if you expect performance out of this directory, you should use it as Memory, this way it will directly rely on the tmpfs inside the guest.
And if you think about virtio-fs, because it will be as performant as block, you might not see any difference with how it performs right now in the context of block.
The only case where we would see a difference would be the combo block(for container rootfs) and 9p for the empty dir, but who really cares about 9p?

Bind mounting the shared directory created by k8s on the host sounds like a solid plan. Where would a good place to start to solve this?
Ideally if someone wanted performance with an emptyDir, they should be using medium: Memory.

@awprice What @sboeuf was referring to was essentially reverting #https://github.com/kata-containers/runtime/pull/1485 or special casing it for devicemapper.
We bind-mount all the container rootfs under /run/katacontainers/<pod_id>/... which kind of explains the increase in disk usage for /run.

@awprice I thought with #1485, we are creating the emptydirs in the sandbox rootfs.
But I am surprised to see the directory created outside the sandbox rootfs as:
ls 58e6c1ac260f08dae65bea58ffff0b175caf8e41087951befd6b6191ac594af9/58e6c1ac260f08dae65bea58ffff0b175caf8e41087951befd6b6191ac594af9/
local  rootfs

I think the local directory needs to created under the sandbox rootfs directory, which could explain the memory usage under /run. Will try to dig deeper and post my findings here.

Nice find @amshinde! This is where the path is constructed - https://github.com/kata-containers/runtime/blob/3d4729d6b20e89f6a439f14e083343addca4d948/virtcontainers/kata_agent.go#L1297
As you said, maybe we need to move local into the rootfs directory?

@awprice @amshinde

maybe we need to move local into the rootfs directory

That's an option, but you have to keep in mind that by doing so, you're using the space made available by the container rootfs overlay snapshot. And this space might not be as large as you could expect the host-emptydir directory provided by k8s on the host. That's why I would suggest to treat this empty directory as any other directory that we share between host and guest.
Unless I'm missing some context, it really seems that only the Memory emptyDir directories should have special treatment.

@sboeuf The original intention behind https://github.com/kata-containers/runtime/pull/1485 was to provision emptyDir inside the sandbox container, and so if the user was using devicemapper, emptyDir would benefit from the speed of devicemapper.

That's why I would suggest to treat this empty directory as any other directory that we share between host and guest.

I've tested this behaviour with virtio-fs, and reverting the changes made in https://github.com/kata-containers/runtime/pull/1485 would achieve this. I haven't tested 9p, but I think it would work the same as virtio-fs.
Where you lose out is if you use devicemapper, the emptyDir will be shared with virtio-fs/9p and you won't benefit from the performance of devicemapper.

@awprice

Where you lose out is if you use devicemapper, the emptyDir will be shared with virtio-fs/9p and you won't benefit from the performance of devicemapper.

True, but as we discussed, one should use Memory emptyDir if he wants to get performance out of empty directories. And in this case, devicemapper or not, things are the same.
And secondly, I expect virtio-fs to be as performant as block if used with correct parameters, which means you should have equivalent performances.

@sboeuf @awprice I would like to keep #1485 around, till we move virtio-fs to a stable feature.
Once we deprecate 9p for good, we can then get rid of #1485.
@awprice I think this patch should fix the issue you are  seeing:
diff --git a/virtcontainers/kata_agent.go b/virtcontainers/kata_agent.go
index c9451f0..61e739d 100644
--- a/virtcontainers/kata_agent.go
+++ b/virtcontainers/kata_agent.go
@@ -1173,7 +1173,7 @@ func (k *kataAgent) createContainer(sandbox *Sandbox, c *Container) (p *Process,
        epheStorages := k.handleEphemeralStorage(ociSpec.Mounts)
        ctrStorages = append(ctrStorages, epheStorages...)

-       localStorages := k.handleLocalStorage(ociSpec.Mounts, sandbox.id)
+       localStorages := k.handleLocalStorage(ociSpec.Mounts, sandbox.id, c.rootfsSuffix)
        ctrStorages = append(ctrStorages, localStorages...)

        // We replace all OCI mount sources that match our container mount
@@ -1285,7 +1285,7 @@ func (k *kataAgent) handleEphemeralStorage(mounts []specs.Mount) []*grpc.Storage

 // handleLocalStorage handles local storage within the VM
 // by creating a directory in the VM from the source of the mount point.
-func (k *kataAgent) handleLocalStorage(mounts []specs.Mount, sandboxID string) []*grpc.Storage {
+func (k *kataAgent) handleLocalStorage(mounts []specs.Mount, sandboxID string, rootfsSuffix string) []*grpc.Storage {
        var localStorages []*grpc.Storage
        for idx, mnt := range mounts {
                if mnt.Type == KataLocalDevType {
@@ -1294,7 +1294,7 @@ func (k *kataAgent) handleLocalStorage(mounts []specs.Mount, sandboxID string) [
                        // We rely on the fact that the first container in the VM has the same ID as the sandbox ID.
                        // In Kubernetes, this is usually the pause container and we depend on it existing for
                        // local directories to work.
-                       mounts[idx].Source = filepath.Join(kataGuestSharedDir, sandboxID, KataLocalDevType, filepath.Base(mnt.Source))
+                       mounts[idx].Source = filepath.Join(kataGuestSharedDir, sandboxID, rootfsSuffix, KataLocalDevType, filepath.Base(mnt.Source))

                        // Create a storage struct so that the kata agent is able to create the
                        // directory inside the VM.

Let me know if that works for you.

Thanks @amshinde, I will give that a test as soon as possible.

@amshinde I've tested your PR and can confirm it fixes this issue. When running the dd command to create the 100gb file, it is now being created on disk, rather than in memory.


ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform

[ ] I have a question.
[ ] A feature does not work as expected.
[X] I found a bug (see error log below).

Version

newest version

Detailed description
The upgrade process are startet via the upgrade button in HA. After that a restart of HA was done the error mesage occurred.
HA is running in a docker (PI4). In this moment only homee is connectet to log the statistik for the the solar / Grid power.
Error log
2023-11-05 18:29:44.857 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform homee.alarm_control_panel: Platform not found (cannot import name 'DeviceInfo' from 'homeassistant.helpers.device_registry' (/usr/src/homeassistant/homeassistant/helpers/device_registry.py)).

To assess the severity of this error - does this prevent Homee from working in HA?

The rest looks like normal. In this moment I collect only the different messages from the sensors and actors....HA did not act active any action.

Which version of HA Core are you running?
It seems this import was  moved recently - as fas as I can see only with 2023.11.1

Then you should check, why you don't get the update information - 2023.11.1 is latest.

The repository isn't updated in this moment. I don't want change to another repository because I need the collected data in history and future for statistical reasons. So I must wait, that the paket received an update ...

Hi,
since you have opened new Issues with one of the latest HA releases, I assume you use this now.
Is this issue solved with that?

Hi, I've updated the full RPI, OS, HA and HACS and hass-homee. The reported message in the sytem log is no more occurred.  So the issue could be close as done . Thx for your help


Add extra CSS variables

Is it possible to add some more CSS variables such as:

Button (.ct-button) padding
Button border
Button border-radius
Container (.cookie-though) border-radius

Please 🐱

Hey Benoit,
As for the .cookie-though container, you're able to style it by targeting the .cookie-though class as it's not inside the shadow DOM.
For the button variables, seeing that the library fits our, and most other implementation, needs we don't want to add more variables just for a single implementation. So for now, we won't be adding these.
That's not to say that you can't style them though :wink:. You can write a JS/TS function, which either:

creates a style tag which can then be appended inside the shadow DOM.
selects the buttons, and then add styling with JS

The following code snippet is an example of adding styling with JS:
const overwriteCSS = () => {
  const cookieThough = document.querySelector('.cookie-though');
  const [declineButton, acceptButton] = cookieThough.shadowRoot.querySelectorAll('.ct-button');

  declineButton.style.border = '1px solid red';
};

Perfect! That works!
But now I'm looking how to run that snippet in a callback after the initialization. I'm using CookieThough via CDN in an older ES5 project.

Hey Benoit, normally when you call the init() function, you should be able to access the banner, so just calling a new function should work!
Let me know if this solves it for you 😄

I'm sorry but some extra button styles would really come in useful. I also had several occasions where I wanted to change the button's border radius and padding. The solutions you provide work but it's not easy and scatters your cookie-though styles over many places.
I think some extra CSS variables won't hurt? 😄

Hey Robrecht,
I've built a v2 recently, which also requires the docs to be updated. I'll make sure to add the button radius and padding to this version!
Just need to have the time to further create the new docs 😅


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/206 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target.git

Docs Build status updates of commit 3869a3e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-11-07-16-02-18 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-11-07-16-02-18

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


clean up of copy-content-style.ts plugin

The PR #10 with commit https://github.com/JohnBra/vite-web-extension/pull/10/commits/2a6241ee879bd87a1fc4ac3b85f165f771c6082b bundles src/pages/content/style.css in content script.js bundle which makes copyContentStyle plugin redundant.

will create PR.

#13


Write a function to check Multiple of 100

Create a function that takes an integer and return true if it's divisible by 100, otherwise return false.
Before jumping into Pr first comment for assign.
Problem statement :Create a function that takes an integer and return true if it's divisible by 100, otherwise return false.
Probelm Link : https://edabit.com/challenge/qMr6wYGr6NaXAPQGF
Choose one Cateorgy - Very Easy, Easy, Medium, Hard, Very Hard, Expert
question category : Very Easy

Before submitting a PR please Check some details.

[ ] fileName formet should be in camelcase
example- returnTheNextNumber.py
[ ]  Choose label for Problem , example- "good first issue", "easy"
[ ]  In file there should be problem statement and link to problem

/* Problem-Task : This program will add two numbers
 * Problem Link : https://edabit.com/challenge/SFzHtm63XT6EYNHWY
*/
int main() {
    int bla;
    return 0;
}

This repository is vaild for HacktoberFest2020
Read before making PR - How to contribute on Github
Good Luck,

please assign this to me.

you need to create your own issue to get it assigned .

Assign this to me

please assign

Please assign me this.

please assign this to me.
hey i like to work on this
Please assign me this.
please assign

the repo organizers assign the issue mostly to the person who created it
check more about it at the first issue pinned up
Edabit solution repository, Create more issue for problem task #1

@aayushi-droid plz assign the issue to me


Ensure message order of broadcasts

Description
This changeset modifies the obcpbft broadcast.go to always send messages in the order in which they were received.
As @corecode was the original author of the broadcast.go his review especially is requested.
Motivation and Context
The previous implementation of the broadcaster would spawn a goroutine per broadcast request, which could wake up in an arbitrary order, delivering messages to recipients in that arbitrary order.  This caused problems for sections of the code which expected and depended on messages arriving in order.
One manifestation of this was request duplication as a request might be prepared and committed before the broadcast of its original contents was received, causing the network to view the request as new and invoke it twice.
The other problem was that these spawned go routines would stack and stack until the underlying gRPC stack would timeout and cause these calls to unwind and be garbage collected.
How Has This Been Tested?
The existing unit tests and CI, plus the busywork stress2b tool.
Checklist:

[X] I have added a Signed-off-by
[X] Either no new documentation is required by this change, OR I added new documentation
[X] Either no new tests are required by this change, OR I added new tests
[X] I have run goimports, go vet, and golint. I have cleaned up all valid errors and warnings in code I have added or modified. These tools may generate false positives.  The goal is clean, consistent, and readable code.

Signed-off-by: Jason Yellick<EMAIL_ADDRESS>

Thanks, LGTM


Add bicoloring.cpp

Added implementation of the algorithm where we check if a graph is bicolorable or not.

Checklist

[x ] Added description of change
[ x] Added file name matches File name guidelines
[x ] Added tests and example, test must pass
[ x] Relevant documentation/comments is changed or added
[ x] PR title follows semantic commit guidelines
[ x] Search previous suggestions before making a new one, as yours may be a duplicate.
[ x] Sort by alphabetical order
[x ] I acknowledge that all my contributions will be made under the project's license.

Notes:

Sorry.  The tests were broken.  Please try this again if you want.  Perhaps under the filename graph/is_bicolorable.cpp


Put Devices in different sub-modules

The Device module will likely bloat. lets create some sub-modules here e.g. inverters and p1meters

done, the categorization is not always easy though... e.g. we may have modbus devices in serveral sub-modules and would then inheritance between siblings or breaking out stuff for more protocol specific things... but one thing at a time.

This happened in the #267 issue integrated in main now.


AFNI 3dTshift error

Hey !
Running into this with the NKI dataset:
RuntimeError: Command:
3dTshift -ignore 0 -prefix sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold_tshift.nii.gz -tpattern @/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/create_custom_slice_timing_file/timings.1D -TR 0.645s /oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz
Standard output:

Standard error:
++ 3dTshift: AFNI version=Debian-16.2.07~dfsg.1-5~nd16.04+1 (Jun 12 2017) [64-bit]
++ WARNING: nifti_read_buffer(/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz):
   data bytes needed = 438080
   data bytes input  = 417236
   number missing    = 20844 (set to 0)
** load bricks: cannot read brick 259 from '/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz'
** ERROR: EDIT_full_copy: input sub-brick 0 is NULL
 +    Dataset /oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz
** FATAL ERROR: Can't copy input dataset '/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz'
** Program compile date = Jun 12 2017

Return code: 1
Interface TShift failed to run.

Full logs here:
NKI_fmriprep_1.out.txt

Is it possible that the input file is corrupted? Can you read it with
nibabel and other viewers?
On Aug 3, 2017 9:04 AM, "Joke Durnez"<EMAIL_ADDRESS>wrote:

Hey !
Running into this with the NKI dataset:
RuntimeError: Command:
3dTshift -ignore 0 -prefix sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold_tshift.nii.gz -tpattern @/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/create_custom_slice_timing_file/timings.1D -TR 0.645s /oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz
Standard output:
Standard error:
++ 3dTshift: AFNI version=Debian-16.2.07~dfsg.1-5~nd16.04+1 (Jun 12 2017) [64-bit]
++ WARNING: nifti_read_buffer(/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz):
data bytes needed = 438080
data bytes input  = 417236
number missing    = 20844 (set to 0)
** load bricks: cannot read brick 259 from '/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz'
�[7m** ERROR:�[0m EDIT_full_copy: input sub-brick 0 is NULL

Dataset /oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz
�[7m** FATAL ERROR:�[0m Can't copy input dataset '/oak/stanford/groups/russpold/data/NKI_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_A00008399_wf/func_preproc_ses_DS2_task_CHECKERBOARD_acq_645_wf/epi_hmc_wf/slice_timing_correction/sub-A00008399_ses-DS2_task-CHECKERBOARD_acq-645_bold.nii.gz'
** Program compile date = Jun 12 2017

Return code: 1
Interface TShift failed to run.
Full logs here:
NKI_fmriprep_1.out.txt
https://github.com/poldracklab/fmriprep/files/1197826/NKI_fmriprep_1.out.txt
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/issues/643, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkpxoOUJDaLjM3E_aRQ_ayzHXhFDYfks5sUe-NgaJpZM4OsqAg
.

Check, it's corrupted.  I can see it with fslview but not with nibabel.


Happy Path Refactor for Marketplace Builder builder_state.rs

Closes #126

This PR:

Attempts to clean up confusing control flow issues in builder_state.rs for the marketplace.  It does this primarly by favoring "Happy Path" programming paradigms which prefer "Bad" or "Negative" paths to be returned early leaving only the "Happy Path" remaining.
This paradigm leads to the avoidance of nested conditionals, which can help alleviate cognitive load by reducing the amount of conditional context that is needed to be help in your mind while reading code.  Additionally, it reduces the indentation level such that the "Happy" path is always at the minimum indentation level within the resulting code.
This also adds comments to many of the methods and logic that occurs within the file to help clarify the purpose of each method, as well as its behavior.
This also splits up event_loop's channel processing into several smaller helper functions to make event_loop look less noisy.
This PR does not:

Change the behavior of the program in any meaningful way.  Everything SHOULD operate the same as it did before.  The only change should be code layout and comments.

Tagging @tbro as requested.


small name changes

neofetch --ascii_distro
couldent display these without "" which annoyed me so i fixed hopefully i dident miss any

:+1:


Use CrossVersion.for3Use2_13 instead of explicit _2.13 suffix in dependencies

Use CrossVersion.for3Use2_13 instead of explicit _2.13 suffix in dependencies.
Also: update .gitignore

Thanks, I was too lazy to do it myself earlier ;)


News and Support pages

Created News and Support pages (with placeholder content), and added them to the top navigation bar.

merged!


Can't install Ruby with jemalloc on macOS Catalina 10.15.1

Hello,
I just set up a new mac, and now RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.5 is failing with this error:
checking for utime.h... yes
checking gmp.h usability... no
checking gmp.h presence... no
checking for gmp.h... no
checking for library containing malloc_conf... no
checking jemalloc/jemalloc.h usability... no
checking jemalloc/jemalloc.h presence... no
checking for jemalloc/jemalloc.h... no
checking for jemalloc with JEMALLOC_MANGLE... no
configure: error: jemalloc requested but not found

I ran brew install rbenv jemalloc to install rbenv 1.1.2 and jemalloc 5.2.1.
How can I fix this issue? Thanks!

Hi thank you for reporting! I have no experience with jemalloc, and I haven't seen this error before. For me it works, but my mac is far from a pristine state.
Can you double check that jemalloc is linked into your /usr/local/bin? I.e. you can check whether running jemalloc-config --bindir works

Hello, here is the output:
$ jemalloc-config --bindir
/usr/local/Cellar/jemalloc/5.2.1/bin

$ ls -l /usr/local/bin/ | grep jemall
lrwxr-xr-x  1 ndbroadbent  admin        44 Dec  4 12:35 jemalloc-config -> ../Cellar/jemalloc/5.2.1/bin/jemalloc-config
lrwxr-xr-x  1 ndbroadbent  admin        40 Dec  4 12:35 jemalloc.sh -> ../Cellar/jemalloc/5.2.1/bin/jemalloc.sh
lrwxr-xr-x  1 ndbroadbent  admin        35 Dec  4 12:35 jeprof -> ../Cellar/jemalloc/5.2.1/bin/jeprof

Well, I'm stumped. https://github.com/ruby/ruby/blob/v2_6_5/configure.ac#L1123-L1131
Not sure what is different in your environment vs mine.

@ndbroadbent I occasionally run into this as well and end up having to uninstall homebrew and reinstall from scratch because I haven't figured out any other way to resolve it. Any tips?

I'm seeing the same behavior on Big Sur (m1) & Catalina (intel). I've tried a bunch of things to resolve this.

I've tried RUBY_CONFIGURE_OPTS="--with-jemalloc-dir=($brew --prefix jemalloc)" (builds, but i don't see jemalloc)

When I pass in --with-jemalloc (no directory) the build fails

jemalloc-config --bindir works (returns a valid path)

I'm using ruby-build via asdf-ruby for my version manager, but i've also tried directly with ruby-build
export RUBY_CONFIGURE_OPTS="--with-jemalloc-dir=$(brew --prefix jemalloc) --with-readline-dir=($(brew --prefix readline)"
ruby-build 3.0.0 ruby-3.0.0

This was a pretty vanilla install on both machines (both new computers that I installed from scratch). Both running newer versions of homebrew. Force reinstalling jemalloc via homebrew doesn't resolve it

I also completely re-installed homebrew from scratch after removing it

Everything looks normal to me, but it won't build with jemalloc on macOS. As far as I can tell, it hasn't for a while (I assumed it was, because it definitely did at one point). I went back and checked some older versions on another machine I had installed.

Similar-ish output from my intel as well (latest versions of nearly everything)

Update: I followed some of the config docs for readline, with same/similar path settings for jemalloc:

This worked for me (in fish shell):
set -gx HOMEBREW_PREFIX "/opt/homebrew";
set -gx CPPFLAGS "$CPPFLAGS -I $HOMEBREW_PREFIX/include"
set -gx LDFLAGS "$LDFLAGS -L $HOMEBREW_PREFIX/lib"


params: cleanup old params that aren't defined

e.g. LaikadEphemeris superseded by LaikadEphemerisV2

@deanlee want to try this one out?


Add notes to provide settings on plugin install

You can provide custom settings to the plugin on install.
I was in doubt about placing the note on the "Modifying the used texts and CSS classes" section or in "Instalation" section.
As suggested in #121

Thanks!


hi，can support rails 3.2?

hi，can support rails 3.2?

I am sorry we don't have that on our plans right now.

@shishirmk Does it support rails 4.2? Or just rails 5?

Rails 4.2 will be supported in next release

1.1 is released, this can be closed

Hi,
Do this gem supports rails version '3.2.14'?


Ability to increase font size/line spacing

Would be nice to have a littles settings icon that the user can click and change the font size of the page and/or line-spacing. Can be something similar to how they did it in this client https://react-hn.appspot.com or something slightly different. Open to suggestions :)

Already added a settings section, now it's just a matter of adding a font toggle to it

Cheers @Antogin, I should have closed this issue a long time ago thanks to your PR :)

Np! i was wondering :)
On Mon, May 22, 2017 at 4:58 PM, Houssein Djirdeh<EMAIL_ADDRESS>wrote:

Closed #25 https://github.com/housseindjirdeh/angular2-hn/issues/25.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/housseindjirdeh/angular2-hn/issues/25#event-1091977885,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASpGnRBfZL1KogVUL0kG5-lctrIULKT0ks5r8aKTgaJpZM4LXDgT
.


Allow ids to be integers

Thanks for the PR! The JSON:API states that "The values of the id and type members MUST be strings." Since we're adhering to this standard, I won't merge this in. Sorry.

Makes sense, thanks for update


Leanback (Google TV) enabled

App works very well on Android TV when sideloading. 👍
Everything seems to be controllable with remote control.
Only issues are:

It doesn't have leanback support and banner. So it doesn't show up on most launchers.
The highlight color when selecting icons is very faint and hard to see.

It would be a great enhancement to have it directly available in TV version of Google Play Store too.

I'm not very experienced with Android TV, so any help would be greatly appreciated.
Regarding the 2. issue, could you please provide more details and include screenshots, if possible?

I don't think you have to do much as your app already works on tv. It's just a few changes in the manifest and adding a 320x180 banner icon.
https://developer.android.com/training/tv/get-started/create
Google have been so "nice" and removed the screenshot option from Google TV. I can't even do it from adb anymore 😡
Best I can do is take a picture of TV using phone.

It's really hard to see, but the "Basic Web Browser" icon is highlighted with a faint pinkish background.

Thank you, I will take a look at it when I have some free time.

I checked the highlighting color on my phone and on an android tv emulator:

I think this is fine. Idk why its hard to see on your tv, maybe check your tv settings (Contrast,...). Moreover, since this color is not directly defined by me, I dont really want to modify it. You can also try to use Dark Mode, contrast is a little bit better there imo...

Its a common "problem" with apps that are not build for TV ND have leanback support setup I'm manifest.
Then the select color is very faint (kinda make sense, as it's not useful in same way on touch devices)
And om android tv boxes, you can't do themes or adjust colors.
But thanks for looking into it. 👍

There is no need to change your theme. There is an in-app option to set the app to Dark Mode. It is the first option on the settings screen.
Regarding contrast, this is not something you set on your Android TV box. Instead, you need to configure this in your display settings on your actual TV, not the box.

I know. But the brightness and contrast is set to correct values for viewing.
But dark mode is much better.
No problems with seeing what is highlighted.
I thought it was disabled at first.
But when I selected "System defaults", first, I could select the dark mode. 👍

Good👍🏽
I am glad that was helpful.
Thank you for reporting the issue. I may consider changing this in the future.


Hi - not sure if anyone can help me.  I think with the Nami update one of my wallets is now showing -5 ada and nothing else.  Do I need to reset the wallet?  Or is all my stuff gone now?

Hi - not sure if anyone can help me.  I think with the Nami update one of my wallets is now showing -5 ada and nothing else.  Do I need to reset the wallet?  Or is all my stuff gone now?

A stony.  I have the same problem.  Check pool.pm.  Your assets should be there.  Just not showing in Nami.  If you get a solution let me know here please and vice versa.   I'm thinking sit tight and wait for Nami myself.   If that don't work I might export my wallet to eternal and ditch the affected wallet.

https://github.com/berry-pool/nami/issues/690#issuecomment-1256372629

everything is showing on pool.pm. Might try to reset the wallet later when I get home to my seed phrase.
under settings it looks like that is an option. Anyone tried that yet?

Kindly open a ticket by sending your address to
<EMAIL_ADDRESS>A team member would respond to you we are sorry for any inconvenience caused , not all Nami addresses was involved
Or
⚠ Attention
Zero Balances
Our devs have informed us not to use the Nami Extension for now pending the time it will be fixed.
Only the web app is up and working for now. We are deeply sorry for the inconveniences. All tokens are safe and secured.
click to connect


Validation fails for number field if no value

Hi,
I'm using JSON schema draft version 4 using following codes -
            let ajv = new Ajv({schemaId: 'id'});
            ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
              let valid = ajv.validate(schema, data);
              if (!valid) throw ajv.errors;

Few of the fields are defined as number and not required. Thus if I pass "" of those fields have no value, validation fails and it says -
"should be a number"
How can I pass empty value then so validator wont through error for that?
Thanks
Musa

An empty string is a value of type string, it is not a number. If the property is absent it would pass.

Thanks @epoberezkin

Hi,
When I defined a schema with a number type & coerceTypes: true.
Why does it not convert an empty string to 0?
    const schema = {
      type: 'object',
      properties: {
        foo: {type: 'integer', default: 0},
        bar: {type: 'boolean'}
      },
      required: ['foo', 'bar']
    };

    const data1 = {foo: '', bar: 'false'}; // fails
    const data2 = {foo: ' ', bar: 'false'}; // passes -> foo = 0
    const data3 = {foo: null, bar: 'false'}; // passes -> foo = 0
    const data4 = {foo: undefined, bar: 'false'}; // passes -> foo = 0

if you type +'' you get 0 so why does the validation fail on an empty string and passes on a blank string


[Security - med] Missing Anti-clickjacking Header zap alert

Risk: Medium
https://pass.local/app/
https://pass.local/app/auth-callback
The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.
Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.
If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

I checked in pass-docker local and PASS JHU stage and prod, and I see the X-Frame-Options response header set to DENY from our server. This was probably resolved with the re-architecting of proxy into pass-core. Setting this as Done.
Some of the js/css resources on our index.html page don't set the X-Frame-Options response header, but these servers are not ours and we have no control over them. js/css resources like jquery, bootstrap, handlebars, etc.

@msp to confirm, https://pass.local/app/auth-callback is no longer a valid URL, right?

Yes. This was handled when we updated spring security in pass-core.


Replace scintillation time clipping by truncation

What does the code in this PR do / what does it improve?
This PR will replace the s1 photon timing clipping by truncation.
Can you briefly describe how it works?
Right now we are clipping the sampled S1 photon scintillation times in the S1PhotonPropagation plugin to the maximum value of maximum_recombination_time. To minimize the effect on the S1 waveform, this PR replaces the clipping by a truncation of the timing distribution at he same maximum_recombination_time. Two safety measures are added to make sure that we always have enough photon times to sample from. As a bonus the S1PhotonPropagation.photon_timings function was cleaned up and the scintillation timing part moved to a dedicated function.
Please include the following if applicable:

[x] Bump plugin version(s)
[x] Tests to check the (new) code is working as desired.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

19 of 20 (95.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 71.607%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

fuse/plugins/detector_physics/s1_photon_propagation.py
19
20
95.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
2121

Relevant Lines:
2962

💛  - Coveralls

A note discussing the proposed changes can be found here.

Hi @ramirezdiego, I think there is a slight performance increase using the code in this PR compared to the main branch. I did not run detailed performance tests but for the simulations done in the note above the raw records simulation time decreased by about 10%. Maybe this is not relevant to the overall simulation time when S2s are also included.