windows fixes

fix a preprocessor operator
fix sdfconversions test failure on windows
also fix a str escape warning from pytests

Signed-off-by: Jason Gorski<EMAIL_ADDRESS>

Changes look good! Setup was flawless on my system. Just a few items:

Please rebase to master - a fix was applied to setup.py that will let it pass the CI test.
Please create a setenv.bat version of setenv.sh and update the README accordingly.

I'd recommend also including in the Windows instructions, either immediately before or after the vcvars64.bat command, the following:
set DISTUTILS_USE_SDK=1
I've had to do that each time.  Yes it's in the output as a suggestion when you try to run "python setup.py" but it would save dealing with the error to explicitly mention that in the Windows instructions.

I worked on the beginning of a setenv.bat for Windows.  It got the pytest errors down to 23... so still some issue with setting library paths I think since I still see errors like:
`(kaolin) λ pytest kaolin\tests
=================================================== test session starts ==================================================== platform win32 -- Python 3.7.4, pytest-5.2.1, py-1.9.0, pluggy-0.13.1
rootdir: D:\AI\NVidia\kaolin
plugins: arraydiff-0.3, doctestplus-0.4.0, openfiles-0.4.0, remotedata-0.3.2
collected 36 items / 23 errors / 1 skipped / 12 selected
========================================================== ERRORS ========================================================== __________________________________ ERROR collecting tests/test_compute_adjacency_info.py ___________________________________ ImportError while importing test module 'D:\AI\NVidia\kaolin\tests\test_compute_adjacency_info.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
kaolin\tests\test_compute_adjacency_info.py:19: in
from kaolin.rep import TriangleMesh
E   ModuleNotFoundError: No module named 'kaolin.rep'`
But at least it some progress...
Partial setenv.bat:
`:: Assign all Path variables
SET KAOLIN_HOME="D:\AI\NVidia\kaolin"
SET PYTHONPATH=.;"C:\Users\mabrandt\AppData\Local\Continuum\anaconda3\envs\kaolin";"C:\Users[INSERT_USERNAME]\AppData\Local\Continuum\anaconda3\envs\kaolin\Lib\site-packages"
SET PATH=%PATH%;%PYTHONPATH%;"C:\Users[INSERT_USERNAME]\AppData\Local\Continuum\anaconda3\envs\kaolin\Lib\site-packages"`
Kaolin imports in Python properly for me in Windows 10... just have some issues with the pytests.

Another crucial fix for Windows 10 -- in order to get Matplotlib plots to display from Pycharm properly, in:
kaolin\datasets_init_.py
I had to comment out:
#matplotlib.use('Agg')


fix #526

Can you add a test which triggers this bug to the cross entropy tests - https://github.com/tensorflow/java/blob/master/tensorflow-framework/src/test/java/org/tensorflow/framework/losses/CategoricalCrossentropyTest.java. I think this used to work so I worry it's due to a TF upgrade and we didn't catch it with tests.

No, the problem is older, and it is probably the dynamic batch size which triggers the problems. I will try to do a test case

@Test
public void testCategoricalCrossEntopyWithDynamicBatchSize() {
try (Graph graph = new Graph()) {
Ops tf = Ops.create(graph);
Operand yPred = tf.placeholder(TFloat32.class, Placeholder.shape(Shape.of(-1, 3)));
Operand yTrue = tf.reshape(tf.constant(new float[] { 1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f }), tf.array(3, 3));
CategoricalCrossentropy instance = new CategoricalCrossentropy(true);
Operand loss = instance.call(tf, yTrue, yPred);// Throw TFInvalidArgument Exception without fix
try (Session session = new Session(graph); TFloat32 result = (TFloat32) session.runner().feed(yPred, TFloat32.tensorOf(Shape.of(3, 3), DataBuffers.of(new float[] { 1.f, 0.f, 0.f, 0.f, 1.f, 0.f, 0.f, 0.f, 1.f }))).fetch(loss).run().get(0)) {
if (Math.abs(0.5514477f - result.getFloat()) > 0.01)
throw new IllegalStateException("Invalid result :" + result.getFloat());
}
}
}

I am confused because I have the impression that there has not yet been a test carried out by feeding a model with batches of dynamic size. I know from experience that it is largely possible, but that you have to track down a few small bugs. How would you integrate my test so that it would be suitable?

Add it next to the other tests for that loss. If there are more issues then let's fix them.
More of the framework was in flight a couple of years ago, but we didn't get all of it merged, so I assume that some of those things were tested in the original codebase before it was broken up into smaller PRs.

Thanks


feat: add strategies for command discovery

Support three strategies for command discovery:

pattern - this is the current behavior
explicit - find commands that are default exported from a specified file
single - CLI contains a single command executed by top-level bin

pattern Strategy
For pattern, plugins could continue to do this:
{
  "oclif": {
    "commands": "./dist/commands",
  }
}

which will tell oclif to look for commands in that directory (this is skipped if an oclif.manifest.json is present)
Alternatively, plugins could set this configuration:
{
  "oclif": {
    "commands": {
      "strategy": "pattern",
      "target": "./dist/commands"
    }
  }
}

And they could even add globPatterns to override the glob patterns that oclif uses when searching for command files:
{
  "oclif": {
    "commands": {
      "strategy": "pattern",
      "target": "./dist/commands",
      "globPatterns": [
         "**/*.+(js|cjs|mjs|ts|tsx|mts|cts)",
        "!**/*.+(d.*|test.*|spec.*|helpers.*)?(x)"
      ]
    }
  }
}

explicit Strategy
For explicit, plugins would add a new file (e.g. src/commands.ts) and then add this configuration to the package.json
{
  "oclif": {
    "commands": {
      "strategy": "explicit",
      "target": "./dist/commands.js"
    }
  }
}

src/commands.ts would then need to have a default export that's an object of command names to command classes, e.g.
import Hello from './commands/hello'
import HelloWorld from './commands/hello/world'

export default {
  hello: Hello,
  'hello:world': HelloWorld,
}

The explicit strategy is useful to those who can't rely on file paths because they've bundled their code (https://github.com/oclif/oclif/issues/653). Unfortunately, there is no notable performance improvement for development since most of the time is spent auto-transpiling typescript with ts-node
single Strategy
This strategy is for single command CLIs, i.e. CLIs whose bin invoke a single command.
The current way to achieve this to set this in the package.json
{
  "oclif": {
    "default": ".",
    "commands": "./dist",
  }
}

The default tells oclif to use . as the command id when no command is found and commands tells oclif where to find the command file. In the example, ./dist will resolve to to ./dist/index.js
The default property has always been a less-than-ideal workaround and will be deprecated in favor of these settings:
{
  "oclif": {
    "commands": {
      "strategy": "single",
      "target": "./dist"
    }
  }
}

Note about oclif.manifest.json
For all strategies, the oclif.manifest.json will be used to load the commands instead of the default behavior of the strategy.
Closes #943
Fixes https://github.com/oclif/oclif/issues/653
Fixes https://github.com/oclif/oclif/issues/1053
@W-15005785@

QA:

published a QA release
used yarn resolutions to make everything in plugin-marketplace to go to this oclif/core (confirmed with yarn why)
linked that into sf via plugins link .   [intentionally putting a plugin with new strategies in a CLI based on an oclif that doesn't know about them]

✅  as is (no pjson.oclif changes): works fine
"commands": {
      "strategy": "pattern",
      "target": "./lib/commands"
    },

🟡  command executes, but it also displayed this before.
(node:74010) TypeError Plugin: @salesforce/cli: orig.startsWith is not a function
module<EMAIL_ADDRESS>plugin: @salesforce/cli
root: /Users/shane.mclaughlin/.local/share/sf/client/2.29.1-374fd9f

I feel like this is likely an artifact of plugin linking doing tsnode things?

ok, let's publish the plugin via npm and manually install it into sf instead of linking.
"as is"<EMAIL_ADDRESS>✅   sf plugins discover

<EMAIL_ADDRESS>includes
"commands": {
      "strategy": "pattern",
      "target": "./lib/commands"
    },

❌
TypeError: orig.startsWith is not a function

QA cont
❌ when building with @oclif/plugin-command-snapshot the snapshot plugin is looking in the folders.
Error: No return type found for file /Users/shane.mclaughlin/eng/salesforcecli/plugin-marketplace/src/commands/plugins/discover/discoverQuery.ts

I think that traces to https://github.com/oclif/plugin-command-snapshot/blob/19a332cfc2773632e469378acc62dab816805cf7/src/commands/schema/generate.ts#L104 which isn't going to be aware of these new globs.

Review afterthought: have you considered how bundling would work with hooks?  As is, I think hooks are defined in pjson with filepaths.  ex:
"hooks": {
      "sf-doctor-@salesforce/plugin-deploy-retrieve": "./lib/hooks/diagnostics"
    },

Wouldn't you need the hook to point to something inside the bundled file instead of an entire file?

📓 I'm trying to break stuff, so I made. Is there a way to make these type-safe? Like the right side should be a Record<string, CommandClass> (or whatever the correct oclif interface is?)

Fixed (sorta). It will error out with command X not found if it's not given a legitimate command - which is consistent with how it currently works if you have src/commands/my-command and my-command doesn't export a valid Command.

💡 if not, maybe we could doc/recommend export const COMMANDS = {} satisfies Record<string, whatever> to catch mistakes

Done.

❓ hooks are running on --help. That's expected?

Yes.
❌ I can make a hook run twice if there is a non-existent identifier
Fixed.

QA continued
✅  resolved [❌ I can make a hook run twice if there is a non-existent identifier]
still messing around with hooks.  Tried using non-default export
❌ this does produce hook2 in the bundled code, but it runs INIT_HOOK twice
"hooks": {
      "init": [
        {
          "target": "./dist/index.js",
          "identifier": "INIT_HOOK"
        },
        {
          "target": "./dist/index.js",
          "identifier": "hook2"
        }
      ]
    }

import ESBuild from './commands/esbuild'
import Hello from './commands/hello'
import HelloWorld from './commands/hello/world'
export {default as INIT_HOOK} from './hooks/init/init'
export {hook2} from './hooks/init/init2'

export const COMMANDS = {
  esbuild: ESBuild,
  hello: Hello,
  'hello:alias': HelloWorld,
  'hello:world': HelloWorld,
}

import {Hook, ux} from '@oclif/core'

export const hook2: Hook<'init'> = async () => {
  ux.log("I'm the other hook")
}

QA cont
bad target like
"hooks": {
      "init": [
        {
          "target": "./dist/bad.js",
          "identifier": "hook2"
        }
      ]
    }

✅ /❓ runs without error.  DEBUG=* is needed to shows the MODULE_NOT_FOUND stuff.
✅ hook also doesn't run or throw if the target is supplied but not the identifier.

export const COMMANDS = {
  'bad:cmd': 'foo',

using bin/run.js bad:cmd results in an uglier node error.
➜  plugin-test-esbuild git:(main) ✗ ./bin/run.js bad cmd
(node:77116) Error Plugin: @oclif/plugin-test-esbuild: command bad:cmd not found
module<EMAIL_ADDRESS>task: cacheCommand
plugin: @oclif/plugin-test-esbuild
root: /Users/shane.mclaughlin/eng/oclif/plugin-test-esbuild
See more details with DEBUG=*
(Use `node --trace-warnings ...` to show where the warning was created)
I'm the other hook
Greetings! from plugin-test-esbuild init hook
 ›   Error: command bad:cmd not found

other oclif and sf plugins provide a nicer error
➜  plugin-plugins git:(main) ✗ ./bin/run.js bad:cmd
 ›   Error: command bad:cmd not found

export const COMMANDS = {
  esbuild: ESBuild,
  hello: Hello,
  'hello:alias': HelloWorld,
  'hello:world': HelloWorld,
}

with    "flexibleTaxonomy": true,
✅ honors tax-free

QA:
plugins-plugins 4.2.6-0.dev into an sf that has yarn-linked this oclif/core
✅ installs the signups plugin, runs help and org shape list
sf plugins link . in https://github.com/oclif/plugin-test-esbuild
❌  plugin-test-esbuild git:(main) sf plugins link .
 ›   Warning: Plugin @oclif/plugin-plugins (4.2.6-dev.0) differs from the version specified by sf (4.2.5)
Linking plugin .... !
    TypeError: orig.startsWith is not a function

✅ successfully installed plugin-test-esbuild.  hellos work, including hooks from dependency @oclif/plugin-test-esm-1

QA cont [using only plugin-test-esbuild and its bin/run.js]
✅  install @oclif/plugin-commands
✅  commands shows commands including from other plugins (esm1)
✅ can see help for esm1
✅  install more plugins
@oclif/plugin-not-found 3.0.13
@oclif/plugin-search 1.0.18
@oclif/plugin-which 3.1.2
❌ ./bin/run.js search , then select any command
? Search for a command hello world
TypeError: orig.startsWith is not a function
✅ which works (as expected, always says that it's the root plugin)
✅ ./bin/run.js bad:cmd =>  plugin-not-found is working correctly, and answer the prompt y works!
›   Warning: bad cmd is not a bundle command.
Did you mean esbuild? [y/n]: y
hello I am a bundled (esbuild) plugin from /Users/shane.mclaughlin/eng/oclif/plugin-test-esbuild!

QA cont
✅ linking an oclif plugin works fine
➜  plugin-test-esbuild git:(main) ./bin/run.js version --verbose
›   Warning: @oclif/plugin-version is a linked ESM module and cannot be auto-transpiled. Existing compiled source will be used instead.
Greetings! from plugin-test-esbuild init hook
Greetings! from plugin-test-esm-1 init hook
CLI Version:
@oclif/plugin-test-esbuild/0.4.3
Architecture:
darwin-arm64
Node Version:
node-v20.9.0
Plugin Version:
@oclif/plugin-commands 3.1.7 (user)
@oclif/plugin-not-found 3.0.13 (user)
@oclif/plugin-search 1.0.18 (user)
@oclif/plugin-test-esbuild 0.4.3 (core)
@oclif/plugin-version 2.0.13 (link) /Users/shane.mclaughlin/eng/oclif/plugin-version
@oclif/plugin-which 3.1.2 (user)
OS and Version:
Darwin 23.3.0
Shell:
zsh
Root Path:
/Users/shane.mclaughlin/eng/oclif/plugin-test-esbuild

QA: install https://github.com/oclif/plugin-autocomplete from github
autocomplete command runs.  Not tested: using the generated autocomplete (since using bin/run for testing)


Add CI metadata checks and replace sec group

Neutron Metadata fails intermittently, adding this check to ensure metadata is working
Neutron security group creation also fails intermittently, replacing it with openstack CLI

retest

retest

retest

retest

retest

retest

retest

retest

retest

retest

retest


"make tools" results in riscv-gnu-toolchain "critical programs are missing or too old"

Issue: while running "make tools" on kk9, I received the following error message:
*** These critical programs are missing or too old: make
*** Check the INSTALL file for required versions
[stamps/build-glibc-linux-rv64ima-lp64] Error 1
[gnu_build] Error 2
Platform: CentOS 7
Suggested solution: scl enable devtoolset-8 bash
This serves as a reminder to add the suggested solution to the docs

Closing with #685


Expose MaterialApp  navigatorObservers and builder

I'm using bot_toast

In it's new version, I need pass BotToastInit BotToastNavigatorObserver. Could you please add this feature?

Yeah, makes sense to me, will take a look.

Done in 0.5.1.


ci: add versioning workflow

Adding a ci workflow for versioning you can learn more about this, here:

https://github.com/google-github-actions/release-please-action

Your code aligns with the basic configuration provided through the link :)


Error when deploying a project with multiple RunSpecifiedTests classes

Summary
When I using the command project deploy start with RunSpecifiedTests and having multiple test classes, the deployment is failing: 'Fatal error' code coverage at 0%.
But when we only specify one test class, it is working as expected.
Steps To Reproduce:
Repository to reproduce:

Run this command: sf project deploy start -d env-specific-default -d force-app-o dev -l RunSpecifiedTests -t "ClassA_TEST,ClassB_TEST" --ignore-conflicts
Check the deployment Result: it is falling: "Status: Failed"

Expected result
The deployment should be OK.
Actual result
The deployment is falling
Cli Status:
*** Deploying with SOAP API v57.0 ***
Deploy ID: 0Af1l000023MelnCAC
Status: Failed | ████████████████████████████████████████ | 757/757 Components
Test Results Summary
Passing: 0
Failing: 0
Total: 0
UI Status: 'Fatal error'
System Information

Which shell/terminal are you using? Powershell
{
"cliVersion"<EMAIL_ADDRESS>"architecture": "win32-x64",
"nodeVersion": "node-v18.15.0",
"osVersion": "Windows_NT 10.0.19045",
"shell": "cmd.exe",
"rootPath": "C:\Users\XXX\AppData\Local\sfdx\client\7.198.7-cad6700\sf",
"pluginVersions": [
"@oclif/plugin-autocomplete 2.1.9 (core)",
"@oclif/plugin-commands 2.2.14 (core)",
"@oclif/plugin-help 5.2.9 (core)",
"@oclif/plugin-not-found 2.3.23 (core)",
"@oclif/plugin-plugins 2.4.6 (core)",
"@oclif/plugin-search 0.0.16 (core)",
"@oclif/plugin-update 3.1.12 (core)",
"@oclif/plugin-version 1.3.3 (core)",
"@oclif/plugin-warn-if-update-available 2.0.35 (core)",
"@oclif/plugin-which 2.2.19 (core)",
"@salesforce/cli 1.76.1 (core)",
"apex 2.2.13 (core)",
"auth 2.7.12 (core)",
"data 2.3.10 (core)",
"deploy-retrieve 1.8.15 (core)",
"info 2.6.7 (core)",
"limits 2.3.13 (core)",
"login 1.2.5 (core)",
"org 2.7.0 (core)",
"schema 2.3.8 (core)",
"settings 1.4.4 (core)",
"sobject 0.1.17 (core)",
"source 2.10.3 (core)",
"telemetry 2.1.4 (core)",
"templates 55.4.9 (core)",
"trust 2.4.9 (core)",
"user 2.3.8 (core)"
]
}

I believe with this command sf project deploy start you need to list each test class individually.  E.g., -t  ClassA_TEST -t ClassB_TEST which is different from sfdx force:source:deploy.  Can you try that and let me know if it solves your issue?

I have the same issue and list the test classes separatly works for me.
But this is not the same as what the document says:
Separate multiple test names with commas, and enclose the entire flag value in double quotes if a test contains a space.

Indeed, I just made a test and if I'm putting -t and the list of classes separatly it is working @shetzel.
But it is in contradiction with what it is specified in the documentation.

@Orkhidion I think this is related to https://github.com/forcedotcom/cli/issues/2083


Remove duplicate lin in OpenAI manifest

The file was auto-generated, but this duplicated line would only disappear if the file was deleted before. It got added but also fixed by running dotnet run -- --publisher manifest --output-path aspire-manifest.json
Microsoft Reviewers: Open in CodeFlow

/azp run


Search no longer works when passing in custom input

Describe the problem
I'm trying to get an icon to display within my text as well as change the selection color which this library doesn't seem to have an option for, but when I pass in a component into the InputComp property of textInputProps, it correctly replaces my input with the custom one but it also completely breaks the search function.
Reproduction - (required - issue will be closed without this)
Steps to reproduce the behavior - a minimal reproducible code example, link to a snack or a repository.
Please provide a FULLY REPRODUCIBLE example.

The component works fine until I pass the component into the InputComp, at which point the search results no longer update.
  import React, { useRef } from "react"
import { Text, StyleSheet, View, ViewProps } from "react-native"
import { IconButton, List, TextInput } from "react-native-paper"
import { GOOGLE_MAPS_API_KEY } from "react-native-dotenv"
import { GooglePlacesAutocomplete, GooglePlacesAutocompleteRef } from "react-native-google-places-autocomplete"
import { color, spacing } from "@theme"
import sharedStyles from "@styles/shared"
import { TEST_IDS } from "@utils/constants"
import { useScreenOrientation } from "@hooks"
import { useStores } from "@stores"

const styles = StyleSheet.create({
...sharedStyles,
searchResult: {
  flexDirection: "row",
  justifyContent: "flex-start",
  alignItems: "center",
  height: 28,
},
searchResultIcon: {
  margin: 0,
  padding: 0,
},
locationSearchBar: {
  textAlign: "auto",
  backgroundColor: color.palette.white,
  borderRadius: 4,
  flex: 1,
  height: 48,
  fontWeight: "bold",
  fontSize: 14,
  letterSpacing: 1,
  marginBottom: 0,
  marginHorizontal: spacing[1],
  paddingRight: spacing[5],
},
})

const SearchResultRow = ({ data }) => {
return (
  <View style={styles.searchResult}>
    <List.Icon icon="crosshairs-gps" style={styles.searchResultIcon} />
    <Text>{data.description}</Text>
  </View>
)
}

const LocationSearchBar = () => {
const customTheme = { colors: { primary: color.palette.white } }
return (
  <TextInput
      testID={TEST_IDS.searchLocationBar}
      style={styles.searchInput}
      selectionColor={color.primary}
      underlineColor={color.deprecatedTransparent}
      placeholder="Search map location"
      left={<TextInput.Icon name="magnify" />}
      theme={customTheme}
      numberOfLines={1}
    />
)
}

export const SearchGoogleLocationBar = ({ navigation }) => {
const searchRef = useRef<GooglePlacesAutocompleteRef | null>(null)
const { isLandscape } = useScreenOrientation()
const responsiveBarWidth = { width: isLandscape ? "50%" : "100%" }
const { settingsStore } = useStores()

return (
  <View style={{ ...styles.searchLocationBar, ...responsiveBarWidth } as ViewProps}>
    <IconButton
      testID={TEST_IDS.menuTrigger}
      color={color.background}
      onPress={navigation.openDrawer}
      icon={"menu-open"}
      style={styles.primaryMapScreenButton}
    />
    <GooglePlacesAutocomplete
      ref={searchRef}
      placeholder="Search map location"
      debounce={2000}
      enablePoweredByContainer={false}
      renderRow={(data) => <SearchResultRow data={data} />}
      textInputProps={{
        InputComp: LocationSearchBar
      }}
      styles={{
        listView: {
          backgroundColor: color.palette.white,
          borderRadius: 4,
          marginHorizontal: spacing[1],
          marginTop: 54,
          position: "absolute",
        },
        row: {
          borderRadius: 4,
        },
      }}
      onPress={(data, details = null) => {
        // 'details' is provided when fetchDetails = true
        console.log(data, details)
      }}
      onFail={(error) => console.error(error)}
      query={{
        key: GOOGLE_MAPS_API_KEY,
        language: "en",
        components: "country:us",
      }}
    />
  </View>
)
}

Please remember to remove you google API key from the code you provide here
Additional context

Library Version: [e.g. 1.4.2]

React Native Version: [e.g. 0.62.2]

[ ] iOS

[X] Android

[ ] Web

If you are using expo please indicate here:

[ ] I am using expo

Add any other context about the problem here, screenshots etc

I think I had to make sure I was passing the ref properly.


Under gcc v7.1.0, the FALLTHRU comments need to be placed differently

Hi, when I was trying to build jerryscript under arm-none-eabi-gcc, I found that the FALLTHRU comments need to placed after right brackets.
So here is the interesting part: I wrote a minor fix on this, but found it can't pass the vera++ check (which forced us to place FALLTHRU before right bracket).

What version of JerryScript are you using? #1878 should solve this issue. Please check the latest master if you are working with an older version.

I've tried out the current master with the arm-non-eabi-gcc v7.1 (toolchain file: cmake/toolchain_mcu_stm32f4.cmake) and there was no error report.
The PR mentioned above should disable the warning report till we improve the vera++ checker.


Update GPU operator

Summary
Update GPU operator to version 1.10.1
Closes #34
Closes https://github.com/canonical/microk8s/issues/3218
Testing
Install and test on an AWS g3s.xlarge instance. Without this change, the GPG key error comes up. With this change, the driver is properly built and loaded:

root@ip-172-31-12-67:/home/ubuntu# microk8s.kubectl logs -n gpu-operator-resources nvidia-driver-daemonset-2thc7
Defaulted container "nvidia-driver-ctr" out of: nvidia-driver-ctr, k8s-driver-manager (init)
DRIVER_ARCH is x86_64
Creating directory NVIDIA-Linux-x86_64-510.47.03
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 510.47.03..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

WARNING: Unable to determine the default X library path. The path /tmp/null/lib will be used, but this path was not detected in the ldconfig(8) cache, and no directory exists at this path, so it is likely that libraries installed there will not be found by the loader.

WARNING: You specified the '--no-kernel-module' command line option, nvidia-installer will not install a kernel module as part of this driver installation, and it will not remove existing NVIDIA kernel modules not part of an earlier NVIDIA driver installation.  Please ensure that an NVIDIA kernel module matching this driver version is installed separately.

========== NVIDIA Software Installer ==========

Starting installation of NVIDIA driver version 510.47.03 for Linux kernel version 5.13.0-1025-aws

Stopping NVIDIA persistence daemon...
Unloading NVIDIA driver kernel modules...
Unmounting NVIDIA driver rootfs...
Checking NVIDIA driver packages...
Updating the package cache...
Resolving Linux kernel version...
Proceeding with Linux kernel version 5.13.0-1025-aws
Installing Linux kernel headers...
Installing Linux kernel module files...
Generating Linux kernel version string...
Compiling NVIDIA driver kernel modules...
/usr/src/nvidia-510.47.03/kernel/nvidia-uvm/uvm.c: In function 'uvm_mmap':
/usr/src/nvidia-510.47.03/kernel/nvidia-uvm/uvm.c:887:1: warning: label 'out_va_space_unlock' defined but not used [-Wunused-label]
  887 | out_va_space_unlock:
      | ^~~~~~~~~~~~~~~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia/nv-dma.c:986: warning: "IMPORT_SGT_STUBS_NEEDED" redefined
  986 | #define IMPORT_SGT_STUBS_NEEDED 0
      |
/usr/src/nvidia-510.47.03/kernel/nvidia/nv-dma.c:980: note: this is the location of the previous definition
  980 | #define IMPORT_SGT_STUBS_NEEDED 1
      |
/usr/src/nvidia-510.47.03/kernel/nvidia-peermem/nvidia-peermem.c: In function 'nv_mem_client_init':
/usr/src/nvidia-510.47.03/kernel/nvidia-peermem/nvidia-peermem.c:445:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  445 |     int status = 0;
      |     ^~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-modeset.c: In function '__will_generate_flip_event':
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-modeset.c:98:10: warning: unused variable 'overlay_event' [-Wunused-variable]
   98 |     bool overlay_event = false;
      |          ^~~~~~~~~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-modeset.c:97:10: warning: unused variable 'primary_event' [-Wunused-variable]
   97 |     bool primary_event = false;
      |          ^~~~~~~~~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-modeset.c:96:23: warning: unused variable 'primary_plane' [-Wunused-variable]
   96 |     struct drm_plane *primary_plane = crtc->primary;
      |                       ^~~~~~~~~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c: In function 'cursor_plane_req_config_update':
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c:81:32: warning: unused variable 'nv_drm_plane_state' [-Wunused-variable]
   81 |     struct nv_drm_plane_state *nv_drm_plane_state =
      |                                ^~~~~~~~~~~~~~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c:80:27: warning: unused variable 'nv_dev' [-Wunused-variable]
   80 |     struct nv_drm_device *nv_dev = to_nv_device(plane->dev);
      |                           ^~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c: In function 'plane_req_config_update':
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c:182:9: warning: unused variable 'ret' [-Wunused-variable]
  182 |     int ret = 0;
      |         ^~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c: In function 'nv_drm_plane_atomic_set_property':
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c:497:32: warning: unused variable 'nv_drm_plane_state' [-Wunused-variable]
  497 |     struct nv_drm_plane_state *nv_drm_plane_state =
      |                                ^~~~~~~~~~~~~~~~~~
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c: In function 'nv_drm_enumerate_crtcs_and_planes':
/usr/src/nvidia-510.47.03/kernel/nvidia-drm/nvidia-drm-crtc.c:1141:13: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 1141 |             struct drm_plane *overlay_plane =
      |             ^~~~~~
Skipping BTF generation for /usr/src/nvidia-510.47.03/kernel/nvidia-peermem.ko due to unavailability of vmlinux
Skipping BTF generation for /usr/src/nvidia-510.47.03/kernel/nvidia-modeset.ko due to unavailability of vmlinux
Skipping BTF generation for /usr/src/nvidia-510.47.03/kernel/nvidia-drm.ko due to unavailability of vmlinux
Skipping BTF generation for /usr/src/nvidia-510.47.03/kernel/nvidia.ko due to unavailability of vmlinux
Skipping BTF generation for /usr/src/nvidia-510.47.03/kernel/nvidia-uvm.ko due to unavailability of vmlinux
Relinking NVIDIA driver kernel modules...
Building NVIDIA driver package nvidia-modules-5.13.0-1025...
Installing NVIDIA driver kernel modules...

WARNING: The nvidia-drm module will not be installed. As a result, DRM-KMS will not function with this installation of the NVIDIA driver.

ERROR: Unable to open 'kernel/dkms.conf' for copying (No such file or directory)

Welcome to the NVIDIA Software Installer for Unix/Linux

Detected 4 CPUs online; setting concurrency level to 4.
Installing NVIDIA driver version 510.47.03.
Performing CC sanity check with CC="/usr/bin/cc".
Performing CC check.
Kernel source path: '/lib/modules/5.13.0-1025-aws/build'

Kernel output path: '/lib/modules/5.13.0-1025-aws/build'

Performing Compiler check.
Performing Dom0 check.
Performing Xen check.
Performing PREEMPT_RT check.
Performing vgpu_kvm check.
Cleaning kernel module build directory.
Building kernel modules
  : [##############################] 100%
Kernel module compilation complete.
Unable to determine if Secure Boot is enabled: No such file or directory
Kernel messages:
[  615.835270] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld . All Rights Reserved.
[  617.564751] Initializing XFRM netlink socket
[  620.917924] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  620.917958] IPv6: ADDRCONF(NETDEV_CHANGE): cali2f22ed99be4: link becomes ready
[  887.124147] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  887.124178] IPv6: ADDRCONF(NETDEV_CHANGE): cali1356407a1bc: link becomes ready
[  962.524126] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  962.524179] IPv6: ADDRCONF(NETDEV_CHANGE): cali86fa53a1dfb: link becomes ready
[  962.691155] IPv6: ADDRCONF(NETDEV_CHANGE): cali749c4d623d1: link becomes ready
[  962.789012] IPv6: ADDRCONF(NETDEV_CHANGE): cali6b6334de78b: link becomes ready
[  973.792945] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  973.793048] IPv6: ADDRCONF(NETDEV_CHANGE): cali8f8a6776d17: link becomes ready
[  973.902383] IPv6: ADDRCONF(NETDEV_CHANGE): cali5f1d0dcf998: link becomes ready
[ 1211.143277] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 1211.159008] nvidia-nvlink: Nvlink Core is being initialized, major device number 511

[ 1211.161808] xen: --> pirq=32 -> irq=43 (gsi=43)
[ 1211.161934] nvidia 0000:00:1e.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[ 1211.162637] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  510.47.03  Mon Jan 24 22:58:54 UTC 2022
[ 1211.201555] nvidia_uvm: module uses symbols from proprietary module nvidia, inheriting taint.
[ 1211.205996] nvidia-uvm: Loaded the UVM driver, major device number 509.
[ 1211.213235] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  510.47.03  Mon Jan 24 22:51:43 UTC 2022
[ 1211.218669] nvidia-modeset: Unloading
[ 1211.238459] nvidia-uvm: Unloaded the UVM driver.
[ 1211.259234] nvidia-nvlink: Unregistered the Nvlink Core, major device number 511
Installing 'NVIDIA Accelerated Graphics Driver for Linux-x86_64' (510.47.03):
  Installing: [##############################] 100%
Driver file installation is complete.
Running post-install sanity check:
  Checking: [##############################] 100%
Post-install sanity check passed.

Installation of the kernel module for the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version 510.47.03) is now complete.

Parsing kernel module parameters...
Loading ipmi and i2c_core kernel modules...
Loading NVIDIA driver kernel modules...
+ modprobe nvidia
+ modprobe nvidia-uvm
+ modprobe nvidia-modeset
+ set +o xtrace -o nounset
Starting NVIDIA persistence daemon...
ls: cannot access '/proc/driver/nvidia-nvswitch/devices/*': No such file or directory
Mounting NVIDIA driver rootfs...
Done, now waiting for signal

+1
I've manually tested this and confirmed it's working now with the same scenario with https://github.com/canonical/microk8s/issues/3218.
$ microk8s kubectl logs job.batch/nvidia-smi
Tue Jun  7 10:38:17 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  On   | 00000000:00:1E.0 Off |                    0 |
| N/A   30C    P0    23W / 300W |      0MiB / 16384MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Addon installation log
$ bash -eux ./enable 'noop'
+ set -e
+ source /snap/microk8s/3272/actions/common/utils.sh
++ [[ ./enable == \/\s\n\a\p\/\m\i\c\r\o\k\8\s\/\3\2\7\2\/\a\c\t\i\o\n\s\/\c\o\m\m\o\n\/\u\t\i\l\s\.\s\h ]]
+ readonly CONFIG=/var/snap/microk8s/3272/args/containerd-template.toml
+ CONFIG=/var/snap/microk8s/3272/args/containerd-template.toml
+ readonly SOCKET=/var/snap/microk8s/common/run/containerd.sock
+ SOCKET=/var/snap/microk8s/common/run/containerd.sock
+ echo 'Enabling NVIDIA GPU'
Enabling NVIDIA GPU
+ read -ra ARGUMENTS
+ [[ noop == \f\o\r\c\e\-\s\y\s\t\e\m\-\d\r\i\v\e\r ]]
+ [[ noop == \f\o\r\c\e\-\o\p\e\r\a\t\o\r\-\d\r\i\v\e\r ]]
+ lsmod
+ grep nvidia
+ echo 'Using operator driver'
Using operator driver
+ readonly ENABLE_INTERNAL_DRIVER=true
+ ENABLE_INTERNAL_DRIVER=true
+ sudo mkdir -p /var/snap/microk8s/3272/var/lock
+ sudo touch /var/snap/microk8s/3272/var/lock/gpu
+ /snap/microk8s/3272/microk8s-enable.wrapper dns
Infer repository core for addon dns
Enabling DNS
Applying manifest
serviceaccount/coredns created
configmap/coredns created
deployment.apps/coredns created
service/kube-dns created
clusterrole.rbac.authorization.k8s.io/coredns created
clusterrolebinding.rbac.authorization.k8s.io/coredns created
Restarting kubelet
DNS is enabled
+ /snap/microk8s/3272/microk8s-enable.wrapper helm3
Infer repository core for addon helm3
Enabling Helm 3
Fetching helm version v3.8.0.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.9M  100 12.9M    0     0  35.1M      0 --:--:-- --:--:-- --:--:-- 35.1M
Helm 3 is enabled
+ echo 'Installing NVIDIA Operator'
Installing NVIDIA Operator
+ /snap/microk8s/3272/microk8s-helm3.wrapper repo add nvidia https://nvidia.github.io/gpu-operator
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /var/snap/microk8s/3272/credentials/client.config
"nvidia" has been added to your repositories
+ /snap/microk8s/3272/microk8s-helm3.wrapper repo update
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /var/snap/microk8s/3272/credentials/client.config
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "nvidia" chart repository
Update Complete. ⎈Happy Helming!⎈
+ /snap/microk8s/3272/microk8s-helm3.wrapper install gpu-operator nvidia/gpu-operator --create-namespace --namespace gpu-operator-resources --version=v1.10.1 --set operator.defaultRuntime=containerd --set driver.enabled=true --set 'toolkit.env[0].name=CONTAINERD_CONFIG' --set 'toolkit.env[0].value=/var/snap/microk8s/3272/args/containerd-template.toml' --set 'toolkit.env[1].name=CONTAINERD_SOCKET' --set 'toolkit.env[1].value=/var/snap/microk8s/common/run/containerd.sock'
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /var/snap/microk8s/3272/credentials/client.config
NAME: gpu-operator
LAST DEPLOYED: Tue Jun  7 10:29:19 2022
NAMESPACE: gpu-operator-resources
STATUS: deployed
REVISION: 1
TEST SUITE: None
+ echo 'NVIDIA is enabled'
NVIDIA is enabled

@neoaggelos could we please backport this fix to the rest of the supported microk8s versions? Thank you.

Also, can you take a look at https://github.com/canonical/microk8s/issues/3226? It looks like 1.21 has a different problem than a straightforward backport.

Also, can you take a look at https://github.com/canonical/microk8s/issues/3226? It looks like 1.21 has a different problem than a straightforward backport.

For 1.21, see https://github.com/canonical/microk8s/issues/3226#issuecomment-1169591323


Running on Ubuntu 22.10 : can't use nvidia-docker, running into hydra error without docker

Hi again,
To avoid any additional XY problem, here's what I'm trying to do : I'd like to run your code, but I only have a Ubuntu 22.10 machine at hand. nvidia-docker does not work with Ubuntu 22.10 (see this), hence I tried running everything inside a 22.04 VirtualBox VM. That does not work, because the VM can't get proper access to the GPU.
To avoid all this, I tried running the code without docker, but that triggers an exception when initializing the dataset :
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 2.22.2ubuntu3 is an invalid version and will not be supported in a future release
  warnings.warn(
$HOME/.local/lib/python3.10/site-packages/hydra/experimental/initialize.py:43: UserWarning: hydra.experimental.initialize() is no longer experimental. Use hydra.initialize()
  deprecation_warning(message=message)
$HOME/.local/lib/python3.10/site-packages/hydra/experimental/initialize.py:45: UserWarning:
The version_base parameter is not specified.
Please specify a compatability version level, or None.
Will assume defaults for version 1.1
  self.delegate = real_initialize(
$HOME/.local/lib/python3.10/site-packages/hydra/experimental/compose.py:25: UserWarning: hydra.experimental.compose() is no longer experimental. Use hydra.compose()
  deprecation_warning(message=message)
$HOME/.local/lib/python3.10/site-packages/hydra/core/default_element.py:124: UserWarning: In 'model/lafan_inbetween_default': Usage of deprecated keyword in package header '# @package _group_'.
See https://hydra.cc/docs/next/upgrades/1.0_to_1.1/changes_to_package_header for more information
  deprecation_warning(
Traceback (most recent call last):
  File "$HOME/.local/lib/python3.10/site-packages/hydra/_internal/instantiate/_instantiate2.py", line 92, in _call_target
    return _target_(*args, **kwargs)
TypeError: LafanSequenceDataset.__init__() missing 1 required positional argument: 'source'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "delta-interpolator/run.py", line 143, in <module>
    main(filepath=args.config, overrides=args.overrides)
  File "delta-interpolator/run.py", line 133, in main
    run(cfg.model)
  File "delta-interpolator/run.py", line 47, in run
    dm = instantiate(cfg.dataset)
  File "$HOME/.local/lib/python3.10/site-packages/hydra/_internal/instantiate/_instantiate2.py", line 222, in instantiate
    return instantiate_node(
  File "$HOME/.local/lib/python3.10/site-packages/hydra/_internal/instantiate/_instantiate2.py", line 334, in instantiate_node
    value = instantiate_node(
  File "$HOME/.local/lib/python3.10/site-packages/hydra/_internal/instantiate/_instantiate2.py", line 339, in instantiate_node
    return _call_target(_target_, partial, args, kwargs, full_key)
  File "$HOME/.local/lib/python3.10/site-packages/hydra/_internal/instantiate/_instantiate2.py", line 97, in _call_target
    raise InstantiationException(msg) from e
hydra.errors.InstantiationException: Error in call to target 'src.data.batched_sequence_dataset.LafanSequenceDataset':
TypeError("LafanSequenceDataset.__init__() missing 1 required positional argument: 'source'")
full_key: dataset.backbone

Now I know that the Dockerfile was provided to help with reproducibility and I'm bypassing all of that, but I feel out of options here and I don't want to downgrade my OS to run this. I haven't been able to fix the above errors by digging into the code a bit, but maybe this'll be clearer to you ?
Would appreciate any help!

Have you solved the problem?

this problem is caused by the version of hydra. you could reinstall the version of which is in readme.md.


Java 11 dependency error on 1.8 projects

First of all I want to thank you for this library.
We are currently using NodeJS with https://github.com/lalalilo/express-sequelize-crud to make the MySQL db talk with the RA interface . I'm experimenting with your library to make all consistent with the Java technology I'm using for the main API backend developed for a small app, which is Spring Boot of course.
Our Spring Boot is compiled with Java 1.8 (<java.version>1.8</java.version>), but you use 11. So we end up with an error that looks like this:
Application run failed
java.lang.UnsupportedClassVersionError: com/nooul/apihelpers/springbootrest/repositories/BaseRepository has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

I'm recompiling your code with "<java.version>1.8</java.version>" and all seems to work. Is there a reason why you set it to 11? Do you know how to make it compliant with 8?
Also I've to delete the application-test.properties and the related dipendencies cause it makes any @SpringBootTest fails due to circular dependencies error on DataSourceInitializer.
Anyway I've forked your project and now it's working.
I'm building a Generic Controller and a DataProvider for RA which works with custom table Ids (like "users_id" instead of id), and Joins directly on entity. If anyone is interested i can share those two files.
This is my fork: https://github.com/telemedicacloud/spring-boot-rest-api-helpers

thank you for the suggestion - the project is definitely not ready to be a
mvn repo and it has probably more dependencies and constraints than
needed.  One of them might be that it could support java 8
On Wed, Mar 17, 2021, 18:38 sb-davidegironi @.***>
wrote:

First of all I want to thank you for this library.
We are currently using NodeJS with
https://github.com/lalalilo/express-sequelize-crud to make the MySQL db
talk with the RA interface . I'm experimenting with your library to make
all consistent with the Java technology I'm using for the main API backend
developed for a small app, which is Spring Boot of course.
Our Spring Boot is compiled with Java 1.8
(<java.version>1.8</java.version>), but you use 11. So we end up with an
error that looks like this:
Application run failed
java.lang.UnsupportedClassVersionError: com/nooul/apihelpers/springbootrest/repositories/BaseRepository has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
I'm recompiling your code with "<java.version>1.8</java.version>" and all
seems to work. Is there a reason why you set it to 11? Do you know how to
make it compliant with 8?
Also I've to delete the application-test.properties and the related
dipendencies cause it makes any @SpringBootTest
https://github.com/SpringBootTest fails due to circular dependencies
error on DataSourceInitializer.
Anyway I've forked your project and now it's working.
I'm building a Generic Controller and a DataProvider for RA which works
with custom table Ids (like "users_id" instead of id), and Joins directly
on entity. If anyone is interested i can share those two files.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Nooul/spring-boot-rest-api-helpers/issues/18, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEAN3UA3Z2MVFEWSDXRG3TTEDLJHANCNFSM4ZK57DOA
.

Here (master branch) you can find the refactored project, based on the your master branch:
https://github.com/telemedicacloud/spring-boot-rest-api-helpers
The only test that is not working (even in your master branch is not working is reference_test_conjunctive_equality_in_list__fetch_actors_that_have_played_in_all_movies_of_query)
Speaking about tests, JSON has to be changed cause values in query need to be comma delimited.

pom.xml now includes only the "com.github.openjson" dependency, the dependency is included in the jar package.
No @Bean is required
org.json was abandoned cause to his licence clausole ("The Software shall be used for Good, not Evil."), and compatibility issue using this library in production
Java version is 1.8

This makes easier the integration with other webservices.
In samplecode folder you can find the Generic Controller for Spring Boot and dataprovider for RA, with the full CRUD.
I'm testing this library, I'll let  you know.
This refactor I've made is a bit "strong". If you want I can pull my mods as a request, otherwise I will start up a new project. Keeping the MIT LICENSE and reference to your original project.

Thank you for the explanation - ok I will have a look and possibly the next
weekend I will make it work with 1.8. Test is failing since I had a big
performance issue with unneeded joins - so I succrificed a feature for
performance
On Mon, Mar 22, 2021, 23:47 sb-davidegironi @.***>
wrote:

Here (master branch) you can find the refactored project, based on the
your master branch:
https://github.com/telemedicacloud/spring-boot-rest-api-helpers
The only test that is not working (even in your master branch is not
working is
reference_test_conjunctive_equality_in_list__fetch_actors_that_have_played_in_all_movies_of_query)
Speaking about tests, JSON has to be changed cause values in query need to
be comma delimited.

pom.xml now includes only the "com.github.openjson" dependency, the
dependency is included in the jar package.
No @bean https://github.com/bean is required
org.json was abandoned cause to his licence clausole ("The Software
shall be used for Good, not Evil."), and compatibility issue using this
library in production
Java version is 1.8

This makes easier the integration with other webservices.
In samplecode folder you can find the Generic Controller for Spring Boot
and dataprovider for RA, with the full CRUD.
I'm testing this library, I'll let you know.
This refactor I've made is a bit "strong". If you want I can pull my mods
as a request, otherwise I will start up a new project. Keeping the MIT
LICENSE and reference to your original project.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Nooul/spring-boot-rest-api-helpers/issues/18#issuecomment-804417763,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEAN3SX3T3OZ3DOCC53OKDTE63IDANCNFSM4ZK57DOA
.

yes please make a pull request. Thank you
On Mon, Mar 22, 2021, 23:47 sb-davidegironi @.***>
wrote:

Here (master branch) you can find the refactored project, based on the
your master branch:
https://github.com/telemedicacloud/spring-boot-rest-api-helpers
The only test that is not working (even in your master branch is not
working is
reference_test_conjunctive_equality_in_list__fetch_actors_that_have_played_in_all_movies_of_query)
Speaking about tests, JSON has to be changed cause values in query need to
be comma delimited.

pom.xml now includes only the "com.github.openjson" dependency, the
dependency is included in the jar package.
No @bean https://github.com/bean is required
org.json was abandoned cause to his licence clausole ("The Software
shall be used for Good, not Evil."), and compatibility issue using this
library in production
Java version is 1.8

This makes easier the integration with other webservices.
In samplecode folder you can find the Generic Controller for Spring Boot
and dataprovider for RA, with the full CRUD.
I'm testing this library, I'll let you know.
This refactor I've made is a bit "strong". If you want I can pull my mods
as a request, otherwise I will start up a new project. Keeping the MIT
LICENSE and reference to your original project.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Nooul/spring-boot-rest-api-helpers/issues/18#issuecomment-804417763,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEAN3SX3T3OZ3DOCC53OKDTE63IDANCNFSM4ZK57DOA
.

Hello @zifnab87
I've made a pull request from my personal github. Hope this helps.

This commit should resolve the issue with java version - please let me know if there is anything in the current master that is conflicting with you. I made the least amount of changes possible that's why I decided to not merge #19. If you can make a pull request with sample-code folder and readme.md changes only I can merge so you can take credit . Thank you

The thing is that using spring-boot-starter-web, lombok, org.json:json, commons-text and jackson-dataformat-csv as dependency may occurs in error while using this project in other project that does not use those library. This is the reason why I removed all those libs from my fork. Anyay thank you for merging a few changes from my code.

@davidegironi please let me know which of those actually cause problems - so I can see what I can do. One of the biggest complaints I have and others (previous issues) is by inclusion of spring-security which is honestly a must for any serious production API - is that it is making all the endpoint to be Forbidden if there is not whitelisting policy. So I had to remove it. Thanks for your time. I hope we can narrow down anything that needs to be removed (I believe you can always use exclusions too ) and add later on sample code for react-admin. I had a repo that was combining the two with java and react-admin code to serve both and see it live but it is seriously outdated

From my test is org.json:json, but that's because all the other I've already imported in project or I call functions that does not use the dependency.
As for "samplecode" i think the fastest thing will be for you to download the code from my git, and paste the folder to your git.


Feat/spv 1061 new ef converter

Another piece for new future broadcaster.
AI generated summary
This pull request introduces a new Converter class for converting transactions to EF format and includes comprehensive unit tests and error handling. The most important changes are the creation of the Converter class, the addition of error handling, and the implementation of unit tests.
New Features:

engine/chain/internal/ef/converter.go: Added a Converter class with a method Convert to convert transactions to EF format, including handling unsourced inputs and hydrating them with source transactions.

Error Handling:

engine/chain/internal/ef/errors.go: Introduced new error types ErrMissingSourceTXID, ErrGetTransactions, and ErrEFHexGeneration for better error handling in the conversion process.

Unit Tests:

engine/chain/internal/ef/converter_test.go: Added unit tests for the Converter class, covering various scenarios including successful conversions and different error cases.
engine/chain/internal/ef/mock_txgetter_test.go: Implemented a mock TransactionsGetter for testing purposes, including different behaviors for missing transactions.

Helper Classes:

engine/chain/internal/ef/unsourced_inputs.go: Added unsourcedInputsManager to manage unsourced inputs in transactions, including methods to find, count, and hydrate unsourced inputs.

Pull Request Checklist

[ ] 📖 I created my PR using provided  : CODE_STANDARDS
[ ] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[ ] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[ ] 📝 I have used conventional commits.
[ ] 📗 I have updated any related documentation.
[ ] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 83.05085% with 10 lines in your changes missing coverage. Please review.

Project coverage is 46.10%. Comparing base (65b5bd7) to head (39ce613).

Files with missing lines
Patch %
Lines

engine/chain/internal/ef/unsourced_inputs.go
79.31%
3 Missing and 3 partials :warning:

engine/chain/internal/ef/converter.go
86.66%
2 Missing and 2 partials :warning:

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #729      +/-   ##
==========================================
+ Coverage   45.92%   46.10%   +0.18%
==========================================
  Files         316      318       +2
  Lines       13066    13125      +59
==========================================
+ Hits         6000     6051      +51
- Misses       6509     6512       +3
- Partials      557      562       +5

Flag
Coverage Δ

unittests
46.10% <83.05%> (+0.18%)
:arrow_up:

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

Files with missing lines
Coverage Δ

engine/chain/internal/ef/converter.go
86.66% <86.66%> (ø)

engine/chain/internal/ef/unsourced_inputs.go
79.31% <79.31%> (ø)

... and 1 file with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Formulas not rendering in code block

I recently installed the Obsidian Chat View plugin and noticed that it cannot render formulas in its code block. I am using the latest version of Obsidian and I have tried re-installing the plugin to no avail. Is there any way to fix this issue?
```chat
< XXX | Maxwell's equations in LaTeX are as follows:  $$\begin{align*} \nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_{0}}\\ \nabla \cdot \mathbf{B} &= 0\\ \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t}\\ \nabla \times \mathbf{B} &= \mu_{0} \mathbf{J} + \mu_{0} \epsilon_{0} \frac{\partial \mathbf{E}}{\partial t} \end{align*}$$
```

Hi @dustinksi. Nice catch. This one's a swinger. Chat View actually doesn't support LaTeX formatting yet. There's already a Markdown-to-HTML processor that is being used, so I'll have to find someway to add LaTeX as well.
Let me see what I can do. I'll back to you soon.

Hi @dustinksi. As per your request, I've added the ability to render LaTeX equations in Chat Blocks. Here's an example of this latest capability:
```chat
< Ronaldo | <h5>Maxwell's equations in LaTeX are as follows:</h5> $$\begin{align*} \nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_{0}}\\ \nabla \cdot \mathbf{B} &= 0\\ \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t}\\ \nabla \times \mathbf{B} &= \mu_{0} \mathbf{J} + \mu_{0} \epsilon_{0} \frac{\partial \mathbf{E}}{\partial t} \end{align*}$$<br>Maxwell's equations, or Maxwell–Heaviside equations, are a set of coupled partial differential equations that, together with the Lorentz force law, form the foundation of classical electromagnetism, classical optics, and electric circuits.
```

The above code block will render the following Chat View:

Kindly confirm if the render in the example above is accurate and meets your requirement specs. I'll subsequently publish it in the next release. Awaiting your feedback.

I've done some initial testing - and LaTeX parsing & rendering seems to be performing up to spec. Since there has been no updates on this thread, I'll be closing this issue as solved.
If this hasn't solved your issue, please feel free to update on this thread and I'll reopen it. Thank you for your feedback.


only get all workspace tasks if default glob configured

another regression from #141230
fixes https://github.com/microsoft/vscode/issues/185960
this dramatically speeds up the execution of the build task and now only the necessary extension gets activated.
tested the single repo and multi repo cases
while it's true that this will break for people that are using it, it's probably a small minority  (given there's no description of the property or auto completion when in the tasks.json file) and they'll make an issue and i can say you can enable it with this setting.

I wonder if instead of a setting, we can figure this out when the tasks.json is parsed?

instead of the setting, @tyriar suggested I try _getConfiguration


add genome build to association script

assocTestSingle takes a genome_build argument to correctly assign the PAR on sex chromosomes

If this turns out to be more complicated downgrade to "wishlist"


Suggestion: support for Fabric versions below 0.14.14

Support for Fabric v0.14.13 in particular would allow this mod to be used with the most recent version of Quilt as well. Not sure if this is viable, so it's just a suggestion.

you can easily change the required loader-version inside the mod.json.
just change this to whatever version you need as a minimum. for example >=0.14.13 works on 0.14.13 and above. or just use * to allow every version.


Update RxJava to 1.2.1.

ref: https://github.com/ReactiveX/RxJava/releases/tag/v1.2.1

👀

LGTM! Thanks!

🙌


First implementation of spare capacity management

This commit contains the first implementation to handle the spare capacity ("Notstromreserve").
_Features
-Read the current spare capacity over the Web-API implementation
-Change/set the spare capacity over the Web-API implementation
To do so, just add the new sensor to a dashboard an use the provided slider to update the spare capacity.
Please note: The new sensor is deactivated by default, since it's still under development (please see "state of development" below)
_Changes
-Implementation of a the "number" plattform
-Added a number-sensor
-Added the needed requests to the Web-API
_State of development
Reading and updating the spare capacity works.
Nevertheless the shown spare capacity in the dashboard is not updated directly after you changed it. The change will just be shown, after the next update intervall of the Web-API.
Here I still have to find a way, how to force an update, that the chance is visible directly.
Happy, if you should have an idea. :-)

Thank you very much - beside really few comment's the change seams to be a great addon...
I would ask you, 1) to add yourself to the 'codeowners' list 2) also include an updated readme.md file in the PR that explains the functionality (since I assume, this requires on of the "Notstrom"Packages (which I don't have)...

Code changes done.
I'll update the readme.md in the next minutes.

So, all changes are now commited.
Also the integration now updates the data, after a user changed the spare capacity. So a dashboard shows the changed spare capacity immediately.


Tags not reset

If you move either a single cell or a merged range the From cell tags are not set back to null.  They  remain the unchanged.  The To cell tags all contain the correct copies of the From tags so no problem there.  The From cell Data property does seem to be reset to null after the move so that seems to work as expected.  The reason I am checking is to see if a row is empty.  My check has to account for the scenario where a cell or merged range have been moved to another row.  I was checking the Tag property since when I put a value in a cell I also set that cell's tag with the record key from my database table.  Now I will use the Data property so this not a problem for me.  However it is obvious to me that you are committed to whatever you decide ReoGrid will do, it will do well.  So I thought you would like to know.
unvell.ReoGrid.Worksheet sheet = Grid1.CurrentWorksheet;
sheet.SetSettings(WorksheetSettings.Edit_DragSelectionToMoveCells, true);
sheet.AfterRangeMove += Sheet_AfterRangeMove;

private void Sheet_AfterRangeMove(object sender, CopyOrMoveRangeEventArgs e)
{
        unvell.ReoGrid.Cell currCell = Grid1.CurrentWorksheet.Cells[e.FromRange.Row, e.FromRange.Col];
        MessageBox.Show($"From tag = {currCell.Tag}");
}

Thanks for your good work.

Thanks for your information. Can you please explain more about what is the problem?


[cluster-test] Land blocking support in cluster test

We need to do few things in cluster test to allow it to be used in land blocking

Adjustments to cti [done]
Generate JSON report [done]
Simplify access to logs
Shut down cluster after test is done (this is needed now since we don't want non-master to run in cluster test for long time)
Address any problems with stability/error rate if they are shown during 1 week canary of the feature

This was done thanks for huge help of dev-infra


Feature request - some kind of the "hook" before shutdown

As part of this feature request we would like to see some kind of the "hook" function or callback that is going to be executed before shutdown of the kong (go-pluginserver) that we can program as we need. For instance if we need to open pool of connections to external database and gracefully close them on this hook before we shutdown application.

This is unlikely to ever be implemented.  Since the pluginserver can host plugins of different origins in the same process space, any of these must be prepared to crash at any moment and operate normally.   Even if we use OS facilities like signal trapping, there's no guarantee that the Go runtime is in any valid state during an unexpected shutdown.
In the case of databases, all ACID-capable servers are prepared to efficiently ROLLBACK any open transaction on unexpectedly-closed connections.  Just be sure to COMMIT transactions when they're ready, and it's OK to keep open connections that could be killed at any time.


Fixing documentation 404-URL

Can one of the admins verify this patch?

@tensorflow-jenkins test this please


How to deserialize a list?

I've tried to run simple GraphQL query returning a list:
query { allTeams { name } }
Here is the DTO class that I use to build a GraphQLRequestEntity:
@GraphQLProperty(name = "allTeams")
public class AllTeamsQuery {
    String name;
    @GraphQLIgnore
    @GraphQLProperty(name="allTeams")
    List<TeamQuery> allTeams;
    ... getters and setters

The GraphQL query is good and run successfully against the server. However the result is not deserialized properly: Cannot deserialize instance of io.superherosample.model.AllTeamsQuery out of START_ARRAY token which seems to be a Jackson problem.
I guess ST is wrong in my DTO class. I've tried many options and I'm totally blocked. It would be nice that the documentation provides some examples on how to fetch lists.

duplicate of #26

Thanks it works! It would help a lot to have an example on how to get a list in the documentation.


Fix storage size calculation to include old versions

I don't think this exactly matches what's used on disk (probably only stores changed chunks ?), because it just sums the size of all versions. I didn't find actual data usage exposed.
Seems AWS has an API to calculate actual size per prefix (see https://stackoverflow.com/a/35095500/13690651), but didn't find anything like that with boto3...
Still, I think it makes sense to simply sum the versions, as it's easier to understand for users anyway.
Some questions:

Currently, Project.storage_size() will result on API calls each time it is invoked, meaning that it's not really usable for anything else than displaying one at a time in the admin (which is the only usage of it currently as far as I can see). I guess we need to persist that in the database. But then when exactly do we update it ? In a cronjob ? Or rightaway after uploads ? Depends a bit how exactly we want to deal with quotas.

Task linked: QF-1548 Complete storage size calculation function including versions


Implement path_filestat_set_times using nix instead of libc.

As advised in #16.
Obsoletes #61. Still needs tests from https://github.com/CraneStation/wasi-misc-tests/pull/19.
There are two calls to transmute left because TimeSpec from nix doesn't expose UTIME_OMIT and UTIME_NOW. This PR will stay as draft until support for those special TimeSpec values is added to nix.

LGTM! Even though it'd be nice to have UTIME_OMIT and UTIME_NOW exposed by nix, I'll merge it as-is for now as it nicely cleaned up that bit of code :-)


ly only runs on tty2

I changed the config.ini to:
tty = 1
but ly only seem to run at tty2 (not 1. Also tested on tty3)

How are you invoking ly? Try the following:
# agetty -n -l /usr/bin/ly tty1 38400 linux

Replace /usr/bin/ly with the path to ly.
Replace tty1 with the TTY you want to use.

I am also having this problem.

I am also having this problem.

I fixed this by modifying the lines referencing tty2 in res/ly.service to reference tty1.

I fixed this by modifying the lines referencing tty2 in res/ly.service to reference tty1.

can i know how to change res/ly.service? it says permission denied even with sudo

May i know where is that res/ly.service file located at?

https://github.com/nullgemm/ly/blob/master/res/ly.service
I modified it in my local clone of the repository. I then installed ly from source.

res/ly.service

Type the command, and you will figure it out  ;)
$ systemctl status ly.service

● ly.service - TUI display manager
     Loaded: loaded (/usr/lib/systemd/system/ly.service; enabled; preset: disabled)
     Active: active (running) since Fri 2023-12-15 10:20:55 CET; 3min 56s ago
   Main PID: 9986 (ly)
      Tasks: 1 (limit: 17773)
     Memory: 376.0K
        CPU: 115ms
     CGroup: /system.slice/ly.service
             └─9986 /usr/bin/ly

Dec 15 10:20:55 fedora systemd[1]: Started ly.service - TUI display manager.


Update WebAssembly demo

WebAssembly Demo is 1735 commits behind master.
https://github.com/RustPython/RustPython/blob/master/wasm/README.md#updating-the-demo

We're sorta leading up to a 0.2 release right now, so we might want to wait until then. Additionally, @mireille-raad is working on a jupyter-ish notebook demo right now, so we might want to wait for that as well. Our main "deadline" right now is preparing/polishing for a call for participation for rustfest in November, so there's no real rush atm, but we'll definitely do it within a month or so.

I thought our release schedule is not short enough but I just realized last release was just 3 months ago :O

I'm going to close this for now; because of this PR, we're running double CI when we push to master, so we can reopen or make another PR when we're ready to merge to release.


Limit exchange rate queries

artx-market-app-1       | 2023-11-16T01:38:29.365344184Z     data: {
artx-market-app-1       | 2023-11-16T01:38:29.365347818Z       status: {
artx-market-app-1       | 2023-11-16T01:38:29.365351484Z         error_code: 429,
artx-market-app-1       | 2023-11-16T01:38:29.365355226Z         error_message: "You've exceeded the Rate Limit. Please visit https://www.coingecko.com/en/api/pricing to subscribe to our API plans for higher rate limits."
artx-market-app-1       | 2023-11-16T01:38:29.365359276Z       }

Fixed in https://github.com/macterra/artx-market/commit/a4d777f73d56ab56a56c6c7ee56e8ef89db2dc06


Parser fails on quotes inside quotes

The following fails
{
"foo": "{\"bar\":0}"
}

Thanks for catching this bug, this has been fixed now with a new release.


⚠ Mobitopup has degraded performance

In 95e8c72, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3894 ms

Resolved: Mobitopup performance has improved in 2b38655.


feat: isolate context by different appoach

Per https://github.com/koishijs/chatgpt-bot/issues/8#issuecomment-1340258845
So then we can maintain the conversation context history within one channel.
为了 https://github.com/koishijs/chatgpt-bot/issues/8#issuecomment-1340258845
于是我们可以在一个频道里维持对话上下文历史。

cc @shigma @TimeBather

And for the "getMapKey" function , I think there is a better naming , "getContextRecoverKey"  or "getContextStorageKey" , which means "Get the key for recover/storage the Context"


Missing input length check at imap.imap.lib.convertor.Opendrive2Apollo.add_lane_sample

Version
$ python3 -m pip show imap_box | grep Version
Version: 0.1.6

Traceback
...
    total_s = lane.center_line[0].s
IndexError: list index out of range

Fix
https://github.com/daohu527/imap/blob/e4afa8f0cc555f9fd41a8d32b5363f8c74dd7c2a/imap/lib/convertor.py#L260-L263
Check if the list is empty.
Suggested fix
    total_s = lane.center_line[0].s if lane.center_line else .0

@xqgex
Thank you for your suggestion, I see that you have submitted multiple issues, I will deal with it as soon as possible

This scenario is too extreme, will there be a lane without a center line?


[Resolves issue #5542 — Correct Bot message with right image

This PR resolves #5542 by correcting the bot message to display the right image.
Signed-off-by: Santosh <santoshdts<EMAIL_ADDRESS>Description
This PR fixes #5542
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Thanks, @Santosh1176

My pleasure @leecalcote

😄 @Santosh1176.
will you take a quick moment to execute these command in order to sign-off on your commit? - https://github.com/meshery/meshery/pull/5544/checks?check_run_id=6608403649

😄 @Santosh1176.
will you take a quick moment to execute these command in order to sign-off on your commit? - https://github.com/meshery/meshery/pull/5544/checks?check_run_id=6608403649

I had signed-off the commit using commit -s -m “commit message. Not sure, why I am getting this message. However, I’ll follow the instructions in the link to rectify it.

😄 @Santosh1176.
will you take a quick moment to execute these command in order to sign-off on your commit? - https://github.com/meshery/meshery/pull/5544/checks?check_run_id=6608403649

@Santosh1176 these are the commands that you need to run - https://github.com/meshery/meshery/pull/5544/checks?check_run_id=6622200675

smile @Santosh1176.
will you take a quick moment to execute these command in order to sign-off on your commit? - https://github.com/meshery/meshery/pull/5544/checks?check_run_id=6608403649

@Santosh1176 these are the commands that you need to run - https://github.com/meshery/meshery/pull/5544/checks?check_run_id=6622200675

Done as advised and thanks for helping out.


Control stories programmatically

Hi, i want to change story page programmatically like page controller, how can i do that? thanks

Hi @Snoobdog10x
That kind of implementation is not possible at the moment. I think it would be better to update it.

I think that will make the package even better. I have a situation where I want to programmatically control how long a particular story stays before moving to the next one

#53


feat: loadbalancer source range

Closes #610

This is a feature I really want.  I hope this PR gets merged into the release as soon as possible.
Let me know if you'd like any changes!

This is definitely useful, it would be great if we could have CEL validation here, as we're doing with other fields.
In the TenantControlPlaneSpec struct something like this:
// +kubebuilder:validation:XValidation:rule="(self.controlPlane.service.serviceType != 'LoadBalancer') && size(self.networkProfile.loadBalancerSourceRanges) > 0", message="load balancer source ranges are supported only with LoadBalancer Service type"

@jds9090 may I ask you to give it a try? According to the CEL Playground it seems correct, but better having a real smoke test!

Thank you for the suggestion to leverage CEL for the validation logic. However, after further review, I realized that validating CIDR formats exceeds the capabilities of CEL. CEL is excellent for field existence checks, size validations, and relational comparisons but lacks the capability to handle complex logic such as network-related validation like CIDR parsing.
In our case, the ability to:

Ensure valid CIDR formats (e.g., identifying malformed inputs like <IP_ADDRESS>/33).

What do you think about it?

I got your point and you're right. Let's keep the handler just for the cidr validation, then, there shouldn't be any problem with CEL and custom validation.

This is definitely useful, it would be great if we could have CEL validation here, as we're doing with other fields.
In the TenantControlPlaneSpec struct something like this:
// +kubebuilder:validation:XValidation:rule="(self.controlPlane.service.serviceType != 'LoadBalancer') && size(self.networkProfile.loadBalancerSourceRanges) > 0", message="load balancer source ranges are supported only with LoadBalancer Service type"

@jds9090 may I ask you to give it a try? According to the CEL Playground it seems correct, but better having a real smoke test!

I changed the rule because it is not valid in my test cases.
// +kubebuilder:validation:XValidation:rule="!has(self.networkProfile.loadBalancerSourceRanges) || (size(self.networkProfile.loadBalancerSourceRanges) == 0 || self.controlPlane.service.serviceType == 'LoadBalancer')", message="LoadBalancer source ranges are supported only with LoadBalancer service type"

Components of the Rule

!has(self.networkProfile.loadBalancerSourceRanges)
This checks whether the loadBalancerSourceRanges field is missing or not present. If the field is not present, the rule allows the object to pass validation.

size(self.networkProfile.loadBalancerSourceRanges) == 0
This checks if the loadBalancerSourceRanges is an empty list (i.e., []). If it is empty, the rule allows the object to pass.

self.controlPlane.service.serviceType == 'LoadBalancer'
This ensures that if there are non-empty CIDR ranges in loadBalancerSourceRanges, the serviceType must be 'LoadBalancer'. This means CIDR ranges are only allowed for LoadBalancer` type services.

Logical OR (||)
The OR logic ensures that any of the following conditions allows the resource to pass:

If loadBalancerSourceRanges is not provided.
If loadBalancerSourceRanges is an empty list.
If serviceType is 'LoadBalancer' when loadBalancerSourceRanges is non-empty.

What This Rule Enforces
This validation logic ensures the following:

LoadBalancerSourceRanges is optional.
If loadBalancerSourceRanges is provided, it can be empty (no specific CIDR restrictions).
If non-empty CIDR ranges are provided, the serviceType must be 'LoadBalancer'`.
If the serviceType is not 'LoadBalancer', CIDR ranges must not be provided (they can only be present for LoadBalancer services).


Write full path_labels in HDF5 file "band.HDF5"

Dear Dr. Togo,
Updated, phonopy/phonons/band_structure.py to write path 'pair-wise'.
For the calculation of NaCl-VASPdfpt from example folder with BAND=AUTO(using seekpath),
when trying to get labels from band.yaml and from band.hdf5
from YAML format its printed in pairs, like:

[ '$\Gamma$', '$\mathrm{X}$' ]
[ '$\mathrm{X}$', '$\mathrm{U}$' ] .  <<-- here is a break in path--->>
[ '$\mathrm{K}$', '$\Gamma$' ]
[ '$\Gamma$', '$\mathrm{L}$' ]
[ '$\mathrm{L}$', '$\mathrm{W}$' ]
[ '$\mathrm{W}$', '$\mathrm{X}$' ]

however, from the HDF5 file, using the key 'label' it is like:
['$\Gamma$', $\mathrm{X}$', '$\mathrm{U}$', '$\mathrm{K}$', '$\Gamma$', '$\mathrm{L}$', '$\mathrm{W}$', '$\mathrm{X}$']
and information about a break in the path was missing.
after the update of the code, in HDF5 file for the key label it now writes like:
[[b'$\Gamma$', b'$\mathrm{X}$'],
[b'$\mathrm{X}$', b'$\mathrm{U}$'],
[b'$\mathrm{K}$', b'$\Gamma$'],
[b'$\Gamma$', b'$\mathrm{L}$'],
[b'$\mathrm{L}$', b'$\mathrm{W}$'],
[b'$\mathrm{W}$', b'$\mathrm{X}$']]
Once again, thank you for writing Phonopy so wonderfully, while making the code easily readable.
Thanks

Merged. Thanks!


Second installation attempt failed

the first insall failed，but already installed same  package，when i  second time run “./kismatic  install apply”，there is  the error：
Validating==========================================================================
Reading installation plan file "kismatic-cluster.yaml"                          [OK]
Validating installation plan file                                               [OK]
1/2....  Configure Cluster Prerequisites                                        [OK]
2/2....  Run Cluster Pre-Flight Checks
=> The following checks failed on "master":
   - Port Available: 2379
   - Port Available: 6666
   - Port Available: 2380
   - Port Available: 6660
   - Port Available: 6443
   - Port Available: 8080
   - Port Accessible: 2379
   - Port Accessible: 6666
   - Port Accessible: 2380
   - Port Accessible: 6660
   - Port Accessible: 6443

error validating plan: error running preflight: error running playbook: error running ansible: exit status 2

I stopped the program（etcd kube...） ，and i run again the “./kismatic  install apply”，there is  the  error：
root@master:~# ./kismatic  install apply

Validating==========================================================================
Reading installation plan file "kismatic-cluster.yaml"                          [OK]
Validating installation plan file                                               [OK]
1/2....  Configure Cluster Prerequisites                                        [OK]
2/2....  Run Cluster Pre-Flight Checks                                          [OK]

Configuring Certificates============================================================
Found key and certificate for node "master"                                     [OK]
Found key and certificate for node "slave01"                                    [OK]
Found key and certificate for service accounts                                  [OK]
Found key and certificate for user "admin"                                      [OK]
Cluster certificates can be found in the "generated" directory                  [OK]

Installing Cluster==================================================================
1/16...  Configure Cluster Prerequisites                                        [OK]
2/16...  Install Kismatic packages                                              [OK]
3/16...  Install Kubernetes Etcd Cluster
- Running task: verify etcd cluster health
  master                                                                        [ERROR]
---- STDOUT ----
cluster may be unhealthy: failed to list members
---- STDERR ----
Error:  client: etcd cluster is unavailable or misconfigured
error #0: dial tcp <IP_ADDRESS>:2379: getsockopt: connection refused
---------------
error installing: error running playbook: error running ansible: exit status 2

@pennpeng are you still experiencing an issue installing?
I would suggest updating to the newest version of Kismatic if you are
If you are still seeing issues please share the details of you cluster (OS versions, where are these machines) and the plan file you are using.

Closing due to inactivity.

I'm facing the same issue as @pennpeng . @alexbrand I would like to reopen this issue.

Same.  I am having this issue as well.


Add classic function that performs Grover's search algorithm

Add an implementation of Grover's search algorithm in the Classic class

Classic.search() has this now.


SRPM in Copr: target env does not match the one selected in the job

This is how we create build using the custom script method:
                build = self.api.copr_helper.copr_client.build_proxy.create_from_custom(
                    ownername=owner,
                    projectname=self.job_project,
                    script=script,
                    script_builddeps=self.get_packit_copr_download_urls()
                    + self.package_config.srpm_build_deps,
                    buildopts={
                        "chroots": list(self.build_targets),
                    },
                )

We're not filling this one important value:
        :param script_chroot: [optional] what chroot to use to generate
            sources (defaults to fedora-latest-x86_64)

Here is the consequence:
{'appstream': True,
 'background': False,
 'build_id': 3580935,
 'chroot': 'fedora-36-x86_64',
 'project_dirname': 'TomasTomecek-ansible-lint-2-stg',
 'project_name': 'TomasTomecek-ansible-lint-2-stg',
 'project_owner': 'packit',
 'sandbox': 'packit/TomasTomecek-ansible-lint-2-stg--packit',
 'source_json': {'builddeps': 'https://download.copr.fedorainfracloud.org/results/packit/packit-dev/fedora-35-x86_64/03543667-packit/packit-0.46.1.dev21+gb9fc3f9-1.20220224155042545406.main.21.gb9fc3f9.fc35.noarch.rpm '
                              'https://download.copr.fedorainfracloud.org/results/packit/packit-dev/fedora-35-x86_64/03543667-packit/python3-packit-0.46.1.dev21+gb9fc3f9-1.20220224155042545406.main.21.gb9fc3f9.fc35.noarch.rpm '
                              'python3-build python3-setuptools_scm',
                 'chroot': 'fedora-36-x86_64',
                 'resultdir': '',
                 'script': '\n'
                           '#!/bin/sh\n'
                           '\n'
                           'git config --global user.email<EMAIL_ADDRESS>                           'git config --global user.name "Packit"\n'
                           'resultdir=$PWD\n'
                           'packit -d prepare-sources --result-dir "$resultdir" --pr-id 2 --merge-pr --target-branch '
                           'main https://github.com/TomasTomecek/ansible-lint\n'
                           '\n'},
 'source_type': 9,
 'submitter': 'packit',
 'task_id': '3580935'}

Even though I requested F35 only build, the SRPM is being created in F36, which I assume is fedora-latest.
The problem is 1:N, SRPM is created once for all the builds while we request multiple binary builds.
Since F36 is being enforced here (and still in development), I'd love to see us using a stable fedora target instead of one in development.

We can make this configurable via a new key in the config or pick the first target in the list and document this behaviour.


Update Marathon to 1.8.207-9f3550487

High-level description
What features does this change enable? What bugs does this change fix?

MARATHON-8631 Persistent volumes with profile now default to DiskType.Mount

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[x] Test Results:  Jenkins
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot label Ready For Review

@mesosphere-mergebot label Ship It

@mesosphere-mergebot label Ship It

@mesosphere-mergebot label Ship It

Hey @jeschkies @meichstedt @zen-dog this PR was missing an update for CHANGES.md. I am doing that out of band.


About the training time and training data set size of diffusion model

Hello, thank you very much for your excellent work. I am very interested in the work you have done, but I still have some doubts. May I ask the size of the training data set of diffusion model and the corresponding training time？Thank you again.

@XCZhou520 We combined publicly available remote sensing images to train the diffusion model. As I remember we utilized about 20k images.


Unable to run test containers as DinD in EKS

We are trying to run testcontainers in our cicd where we setup dynamic slaves ( EKS ) for executing the builds. In that, we get
{ 404 network bridge not found } anything we need to configure extra from networking standpoint

Can you share the full log? And do you have a Docker daemon available?

Yes, we have docker deamon available.
com.github.dockerjava.api.exception.NotFoundException:
Status 404: {"message":"network bridge not found"}

I found this former issue and it might help with your setup as well:
https://github.com/testcontainers/testcontainers-java/issues/2921#issuecomment-668852103
Can you try this stated solution:

To enable the docker bridge on EKS, add the --enable-docker-bridge true flag to the EC2 userdata script that bootstraps the EKS nodes.

@sriram0721 any update regarding to the last comment?

Closing due to the last message was not acknowledged.


Fix parsed static desktop items by allowing "true" | "false"

I was trying to update the mailreader Himalaya which uses a *.desktop
file in their Git repository cp’d over in the build step. This
should be supported however, the new code from the GitHub merge
request #161374, the desktop file fails on Terminal=true saying the
value must be a boolean or none. This makes sense, but the way this
configuration file is parsed, true is not considered a boolean. This
is interesting because the boolOrNullToString checks for boolean type
then immediately casts to string. My quick & dirty solution is to check
if the string is specifically true or false and if so, allow it.
Additionally nixpkgs-fmt was ran, because these are the nixpkgs.

If you're copying the file over as a file, makeDesktopItem shouldn't be involved at all. If you're including it as Nix code, you can use Nix types.

@K900 I'm not a Nix expert in the slightest. Here's the problem point in that repository:
https://github.com/soywod/himalaya/blob/master/flake.nix#L44-L45
mkdir -p $out/share/applications/
cp assets/himalaya.desktop $out/share/applications/

By adding this additional value == "true" || value == "false" line, the build starts working again. I can't tell you any more specifics about the situation (whether or not the file is parsed,or at what point it is parsed) other than the derivation no longer works after the change to make-desktopitem.nix.

makeDesktopItem shouldn't be involved here whatsoever. Can you try building it with --show-trace to see where it's invoked?

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/pkgs/build-support/make-desktopitem/default.nix:93:60:

           92|   # need to be escaped. There are currently none in nixpkgs though, so this is OK.
           93|   renderLine = name: value: if value != null then "${name}=${value}" else null;
             |                                                            ^
           94|

       … while evaluating 'renderLine'

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/pkgs/build-support/make-desktopitem/default.nix:93:22:

           92|   # need to be escaped. There are currently none in nixpkgs though, so this is OK.
           93|   renderLine = name: value: if value != null then "${name}=${value}" else null;
             |                      ^
           94|

       … from call site

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/lib/attrsets.nix:259:16:

          258|   mapAttrsToList = f: attrs:
          259|     map (name: f name attrs.${name}) (attrNames attrs);
             |                ^
          260|

       … while evaluating anonymous lambda

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/lib/attrsets.nix:259:10:

          258|   mapAttrsToList = f: attrs:
          259|     map (name: f name attrs.${name}) (attrNames attrs);
             |          ^
          260|

       … from call site

       … while evaluating anonymous lambda

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/pkgs/build-support/make-desktopitem/default.nix:100:25:

           99|       (lib.mapAttrsToList renderLine)
          100|       (builtins.filter (v: !isNull v))
             |                         ^
          101|       (builtins.concatStringsSep "\n")

       … from call site

       … while evaluating 'reverseApply'

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/lib/trivial.nix:62:27:

           61|   pipe = val: functions:
           62|     let reverseApply = x: f: f x;
             |                           ^
           63|     in builtins.foldl' reverseApply val functions;

       … from call site

       at /nix/store/1083282v145l24mlr4irm5vabdpzaxbk-source/lib/trivial.nix:63:8:

           62|     let reverseApply = x: f: f x;
           63|     in builtins.foldl' reverseApply val functions;
             |        ^
           64|

       … while evaluating 'pipe'

... and keeps going.

The failing derivation here is line-messenger-app.desktop, which presumably originates in your config somewhere, as it's not in nixpkgs.

And if we look at the *.desktop file in question: https://github.com/soywod/himalaya/blob/master/assets/himalaya.desktop
Terminal=true

Then you're going to want to change it to terminal = false (literal false, not the string "false"), and categories = ["Chat"] (a list instead of one string. Also, you can drop type = "Application" as that's the default anyway.

I had done the Chat already... but haven't pushed to my remote in a while. This is all resolved now. Thanks.
I was equally confused why a copied file would have failed here....

No problem, and sorry for the breakage.


Terraform Cloud Business Tier - Cost/Benefit Analysis

Describe the issue
The Product Owner needs to know which of our options provide the best value. An input to this decision is a financial cost/benefit analysis.
Additional context

This will require the PO to provide some info on how many resources we might need to do this.
Connect after the hackathon after 23rd

Definition of done
Cost/Benefit Analysis that compares the following options:

Terraform Cloud Business Tier
2.. Status Quo (do nothing)
Build our own

Meeting with Hashicorp completed.
Cost/benefit analysis completed and stored in CP Internal/Procurement/Hashicorp Terraform Cloud folder


MPSC ring buffer

What does this PR do?
Add MPSC ring buffer
Design is based on BPF ring buffer (https://www.kernel.org/doc/html/latest/bpf/ringbuf.html).
* Writer first reserves some space at ring buffer head by first taking a lock, advancing
writer position, marking sample as busy and releasing lock. Lock is required because
advancing position / marking sample cannot be done atomically.
* Writer commits a sample by atomically setting its state to ready or discarded
* Reader is almost the same as for Perf ring buffer, it just additionally check sample state:
if sample is busy it continues waiting, if sample is discarded, it silently drops it

Thanks for the explanations @nsavoire! Learned a bunch of modern C++ things with this PR :)

Thanks @sanchda, @ivoanjo and @r1viollet for all your comments !


Fail CI if Stata code exited with an error

Currently, the CI succeed (implicit exit 0) all the time, even if the Stata code exited with an error.
Indeed, stata* -b do main.do always exits with a 0 — even if the code didn't run successfully.
To check whether main.do was run successfully, one need to look at the last line of the log file:

if the run is successful, then the last line is "end of do-file",
else it is an error code of the form: "r(*);".

Failing the CI means exiting with a non-0 exit code — cf. documentation.
We here look at the last line of the logs and checks whether it matches the pattern of an error code (concretely, we check whether the first letter of the last line is r); if so, we exit with an error code.
Fixes #9

An MWE of this updated workflow at work (i.e., succeeding if code is correct and failing if code exits with an error) can be found on this repo.

Fix #9