Add checkbox provider

This adds an Intel NPU checkbox provider for the intel-npu-driver snap. The test plan runs the vpu-umd-test command that is installed inside the driver snap.
I used the existing providers for tdx and dss as a reference.
Internal Jira task: PEK-1240
I plan a follow-up PR to update the CI to run the checkbox tests on a testflinger device equpped with a NPU.

All tests pass on hercules running 24.04:
$ checkbox-npu.test-runner-automated
$PROVIDERPATH is defined, so following provider sources are ignored ['/snap/checkbox-npu/x8/providers/checkbox-provider-npu', '/home/ubuntu/.local/share/plainbox-providers-1', '/var/tmp/checkbox-providers-develop']
Preparing...
WARNING:plainbox.secure.providers.v1:Skipped file: /snap/checkbox22/current/providers/checkbox-provider-base/units/stress/suspend_cycles_reboot.md
==========[ Bootstrap com.canonical.certification::executable (1/2) ]===========
=============[ Bootstrap com.canonical.certification::snap (2/2) ]==============
Reports will be saved to: /home/ubuntu/.local/share/checkbox-ng
==============[ Running job 1 / 34. Estimated time left: 0:01:08 ]==============
------------------------------------[ Umd ]-------------------------------------
ID: com.canonical.certification::umd/Umd
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Umd.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from Umd
[ RUN      ] Umd.ZeDevTypeStr
[       OK ] Umd.ZeDevTypeStr (0 ms)
[ RUN      ] Umd.File
[       OK ] Umd.File (7 ms)
[ RUN      ] Umd.ConfigurationCheck
[       OK ] Umd.ConfigurationCheck (0 ms)
[----------] 3 tests from Umd (7 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (33 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 2 / 34. Estimated time left: 0:01:06 ]==============
----------------------------------[ Command ]-----------------------------------
ID: com.canonical.certification::umd/Command
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Command.*
[==========] Running 13 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 13 tests from Command
[ RUN      ] Command.CreateCloseAndDestroyList
[       OK ] Command.CreateCloseAndDestroyList (1 ms)
[ RUN      ] Command.CreateCloseResetAndDestroyList
[       OK ] Command.CreateCloseResetAndDestroyList (0 ms)
[ RUN      ] Command.CreateSynchronizeAndDestroyQueue
[       OK ] Command.CreateSynchronizeAndDestroyQueue (0 ms)
[ RUN      ] Command.CreateExecuteSynchronizeAndDestroyQueueErrorHandle
NPU_LOG: *ERROR* [cmdqueue.cpp:149] Invalid number of command lists
[       OK ] Command.CreateExecuteSynchronizeAndDestroyQueueErrorHandle (0 ms)
[ RUN      ] Command.CreateMultipleCommandQueuesUsingSameOrdinal
[       OK ] Command.CreateMultipleCommandQueuesUsingSameOrdinal (0 ms)
[ RUN      ] Command.CreateTwoCommandListUsingSameOrdinal
[       OK ] Command.CreateTwoCommandListUsingSameOrdinal (0 ms)
[ RUN      ] Command.PassTwoCommandListsToCommandQueueExecuteCommandLists
[       OK ] Command.PassTwoCommandListsToCommandQueueExecuteCommandLists (2 ms)
[ RUN      ] Command.SynchronizeCommandWithTimeoutBeingZero
[       OK ] Command.SynchronizeCommandWithTimeoutBeingZero (1 ms)
[ RUN      ] Command.SynchronizeCommandWithTimeoutBeingMaxUint64
[       OK ] Command.SynchronizeCommandWithTimeoutBeingMaxUint64 (1 ms)
[ RUN      ] Command.UseZeCommandQueueSynchronizeInLoop
[       OK ] Command.UseZeCommandQueueSynchronizeInLoop (1 ms)
[ RUN      ] Command.MultipleCommandQueueSubmissionStressTest
[       OK ] Command.MultipleCommandQueueSubmissionStressTest (1 ms)
[ RUN      ] Command.NNAndCopyCommandQueueCreationAndMultipleCommandsSubmission
[       OK ] Command.NNAndCopyCommandQueueCreationAndMultipleCommandsSubmission (2 ms)
[ RUN      ] Command.MultipleCommandQueueCreationAndCommandsSubmissionToBothQueues
[       OK ] Command.MultipleCommandQueueCreationAndCommandsSubmissionToBothQueues (2 ms)
[----------] 13 tests from Command (17 ms total)

[----------] Global test environment tear-down
[==========] 13 tests from 1 test suite ran. (37 ms total)
[  PASSED  ] 13 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 3 / 34. Estimated time left: 0:01:04 ]==============
------------------------------[ CommandTimestamp ]------------------------------
ID: com.canonical.certification::umd/CommandTimestamp
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandTimestamp.*
[==========] Running 10 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 10 tests from CommandTimestamp
[ RUN      ] CommandTimestamp.AppendGlobalTimestampAndSynchronize
[       OK ] CommandTimestamp.AppendGlobalTimestampAndSynchronize (4 ms)
[ RUN      ] CommandTimestamp.AppendGlobalTimestampOffsetNotZeroAndSynchronize
[       OK ] CommandTimestamp.AppendGlobalTimestampOffsetNotZeroAndSynchronize (1 ms)
[ RUN      ] CommandTimestamp.AppendGlobalTimestampTwiceAndSynchronize
[       OK ] CommandTimestamp.AppendGlobalTimestampTwiceAndSynchronize (2 ms)
[ RUN      ] CommandTimestamp.AppendGlobalTimestampCloseListResetListAppendGlobalTimestampAndSynchronize
[       OK ] CommandTimestamp.AppendGlobalTimestampCloseListResetListAppendGlobalTimestampAndSynchronize (1 ms)
[ RUN      ] CommandTimestamp.AppendGlobalTimestampAndSynchronizeReuseCommandListAndRepeat
[       OK ] CommandTimestamp.AppendGlobalTimestampAndSynchronizeReuseCommandListAndRepeat (2 ms)
[ RUN      ] CommandTimestamp.TwoCommandQueusWithinSameGroupExecuteTimestampAndSynchronizePerQueue
[       OK ] CommandTimestamp.TwoCommandQueusWithinSameGroupExecuteTimestampAndSynchronizePerQueue (1 ms)
[ RUN      ] CommandTimestamp.CopyQueueTimestampSubmission
[       OK ] CommandTimestamp.CopyQueueTimestampSubmission (1 ms)
[ RUN      ] CommandTimestamp.TwoCommandQueusWithinSameGroupExecuteTimestampAndSynchronize
[       OK ] CommandTimestamp.TwoCommandQueusWithinSameGroupExecuteTimestampAndSynchronize (1 ms)
[ RUN      ] CommandTimestamp.TwoCommandQueusWithDifferentGroupExecuteTimestampAndSynchronize
[       OK ] CommandTimestamp.TwoCommandQueusWithDifferentGroupExecuteTimestampAndSynchronize (1 ms)
[ RUN      ] CommandTimestamp.CommandTimestampStressTest
[       OK ] CommandTimestamp.CommandTimestampStressTest (5115 ms)
[----------] 10 tests from CommandTimestamp (5135 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 1 test suite ran. (5162 ms total)
[  PASSED  ] 10 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 4 / 34. Estimated time left: 0:01:02 ]==============
--------------------------------[ CommandCopy ]---------------------------------
ID: com.canonical.certification::umd/CommandCopy
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandCopy.*
[==========] Running 8 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 8 tests from CommandCopy
[ RUN      ] CommandCopy.AppendMemoryCopyLocalToLocalAndSynchronize
[       OK ] CommandCopy.AppendMemoryCopyLocalToLocalAndSynchronize (4 ms)
[ RUN      ] CommandCopy.AppendMemoryCopyLocalToSystemAndSynchronize
[       OK ] CommandCopy.AppendMemoryCopyLocalToSystemAndSynchronize (1 ms)
[ RUN      ] CommandCopy.AppendMemoryCopySystemToLocalAndSynchronize
[       OK ] CommandCopy.AppendMemoryCopySystemToLocalAndSynchronize (1 ms)
[ RUN      ] CommandCopy.AppendMemoryCopySystemToSystemAndSynchronize
[       OK ] CommandCopy.AppendMemoryCopySystemToSystemAndSynchronize (1 ms)
[ RUN      ] CommandCopy.AppendMemoryCopyAndSynchronizeReuseCommandListAndRepeat
[       OK ] CommandCopy.AppendMemoryCopyAndSynchronizeReuseCommandListAndRepeat (1 ms)
[ RUN      ] CommandCopy.MultipleCopyOperationsUsingSameAllocatedMemory
[       OK ] CommandCopy.MultipleCopyOperationsUsingSameAllocatedMemory (1 ms)
[ RUN      ] CommandCopy.MultipleCopyOperationsWithinOneAllocatedMemory
[       OK ] CommandCopy.MultipleCopyOperationsWithinOneAllocatedMemory (1 ms)
[ RUN      ] CommandCopy.TwoCommandQueuesWithinSameGroupExecuteCopyAndSynchronize
[       OK ] CommandCopy.TwoCommandQueuesWithinSameGroupExecuteCopyAndSynchronize (1 ms)
[----------] 8 tests from CommandCopy (15 ms total)

[----------] Global test environment tear-down
[==========] 8 tests from 1 test suite ran. (40 ms total)
[  PASSED  ] 8 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 5 / 34. Estimated time left: 0:01:00 ]==============
-------------------------------[ CommandBarrier ]-------------------------------
ID: com.canonical.certification::umd/CommandBarrier
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandBarrier.*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from CommandBarrier
[ RUN      ] CommandBarrier.CopyCommandsUtilizeBarriers
[       OK ] CommandBarrier.CopyCommandsUtilizeBarriers (4 ms)
[----------] 1 test from CommandBarrier (4 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (30 ms total)
[  PASSED  ] 1 test.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 6 / 34. Estimated time left: 0:00:58 ]==============
-------------------------------[ CommandStress ]--------------------------------
ID: com.canonical.certification::umd/CommandStress
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandStress.*
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from CommandStress
[ RUN      ] CommandStress.MultipleVPUCommandBuffers
[       OK ] CommandStress.MultipleVPUCommandBuffers (4 ms)
[ RUN      ] CommandStress.MultipleVPUJobs
[       OK ] CommandStress.MultipleVPUJobs (7 ms)
[----------] 2 tests from CommandStress (12 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (30 ms total)
[  PASSED  ] 2 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 7 / 34. Estimated time left: 0:00:56 ]==============
----------------------------------[ Context ]-----------------------------------
ID: com.canonical.certification::umd/Context
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Context.*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from Context
[ RUN      ] Context.CreateContextRepeat
[       OK ] Context.CreateContextRepeat (4 ms)
[----------] 1 test from Context (4 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (23 ms total)
[  PASSED  ] 1 test.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 8 / 34. Estimated time left: 0:00:54 ]==============
-----------------------------------[ Device ]-----------------------------------
ID: com.canonical.certification::umd/Device
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Device.*
[==========] Running 5 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 5 tests from Device
[ RUN      ] Device.GetProperties
[       OK ] Device.GetProperties (2 ms)
[ RUN      ] Device.GetZesDeviceAndProperties
[       OK ] Device.GetZesDeviceAndProperties (0 ms)
[ RUN      ] Device.GetZesProperties
[       OK ] Device.GetZesProperties (0 ms)
[ RUN      ] Device.GetPropertiesMutableCmdListDeviceIpVersion
[       OK ] Device.GetPropertiesMutableCmdListDeviceIpVersion (0 ms)
[ RUN      ] Device.GetGlobalTimestamps
[       OK ] Device.GetGlobalTimestamps (1014 ms)
[----------] 5 tests from Device (1017 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 1 test suite ran. (1039 ms total)
[  PASSED  ] 5 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 9 / 34. Estimated time left: 0:00:52 ]==============
-----------------------------------[ Driver ]-----------------------------------
ID: com.canonical.certification::umd/Driver
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Driver.*
[==========] Running 4 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 4 tests from Driver
[ RUN      ] Driver.GetApiVersion
[       OK ] Driver.GetApiVersion (1 ms)
[ RUN      ] Driver.GetProperties
[       OK ] Driver.GetProperties (0 ms)
[ RUN      ] Driver.GetIpcProperties
[       OK ] Driver.GetIpcProperties (0 ms)
[ RUN      ] Driver.GetExtensionProperties
[       OK ] Driver.GetExtensionProperties (0 ms)
[----------] 4 tests from Driver (3 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 1 test suite ran. (24 ms total)
[  PASSED  ] 4 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 10 / 34. Estimated time left: 0:00:50 ]==============
-----------------------------------[ Event ]------------------------------------
ID: com.canonical.certification::umd/Event
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Event.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from Event
[ RUN      ] Event.CreateEventWithInvalidParameters
NPU_LOG: *ERROR* [eventpool.cpp:97] Invalid desc pointer
NPU_LOG: *ERROR* [eventpool.cpp:101] Invalid phEvent pointer
NPU_LOG: *ERROR* [eventpool.cpp:97] Invalid desc pointer
NPU_LOG: *ERROR* [eventpool.cpp:105] Invalid signal flags
NPU_LOG: *ERROR* [eventpool.cpp:109] Invalid wait flags
[       OK ] Event.CreateEventWithInvalidParameters (1 ms)
[ RUN      ] Event.AllocateEventTwiceExpectError
NPU_LOG: *ERROR* [eventpool.cpp:119] Event from index 0 is already in use
[       OK ] Event.AllocateEventTwiceExpectError (0 ms)
[ RUN      ] Event.CreateEventShouldBeSuccessful
[       OK ] Event.CreateEventShouldBeSuccessful (0 ms)
[----------] 3 tests from Event (3 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (24 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 11 / 34. Estimated time left: 0:00:48 ]==============
---------------------------------[ EventSync ]----------------------------------
ID: com.canonical.certification::umd/EventSync
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = EventSync.*
[==========] Running 14 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 14 tests from EventSync
[ RUN      ] EventSync.CopyEngineWaitForHostSignal
[       OK ] EventSync.CopyEngineWaitForHostSignal (106 ms)
[ RUN      ] EventSync.ComputeEngineWaitForHostSignal
[       OK ] EventSync.ComputeEngineWaitForHostSignal (104 ms)
[ RUN      ] EventSync.ComputeEngineWaitForCopyEngineSignal
[       OK ] EventSync.ComputeEngineWaitForCopyEngineSignal (2 ms)
[ RUN      ] EventSync.ComputeEngineWaitAndResetForCopyEngineSignal
[       OK ] EventSync.ComputeEngineWaitAndResetForCopyEngineSignal (2 ms)
[ RUN      ] EventSync.CopyEngineWaitForComputeEngineSignal
[       OK ] EventSync.CopyEngineWaitForComputeEngineSignal (2 ms)
[ RUN      ] EventSync.CopyEngineWaitAndResetForComputeEngineSignal
[       OK ] EventSync.CopyEngineWaitAndResetForComputeEngineSignal (2 ms)
[ RUN      ] EventSync.ComputeEngineMultiCommandListSync
[       OK ] EventSync.ComputeEngineMultiCommandListSync (2 ms)
[ RUN      ] EventSync.CopyEngineMultiCommandListSync
[       OK ] EventSync.CopyEngineMultiCommandListSync (2 ms)
[ RUN      ] EventSync.CopyEngineShouldRespectWaitOnEvents
[       OK ] EventSync.CopyEngineShouldRespectWaitOnEvents (1 ms)
[ RUN      ] EventSync.SynchronizedAcrossDifferentEngines
[       OK ] EventSync.SynchronizedAcrossDifferentEngines (2 ms)
[ RUN      ] EventSync.ComputeEngineUseEventHostSynchronizeToSynchronizeCommandExecution
[       OK ] EventSync.ComputeEngineUseEventHostSynchronizeToSynchronizeCommandExecution (1 ms)
[ RUN      ] EventSync.CopyEngineUseEventHostSynchronizeToSynchronizeCommandExecution
[       OK ] EventSync.CopyEngineUseEventHostSynchronizeToSynchronizeCommandExecution (1 ms)
[ RUN      ] EventSync.AppendGlobalTimestampAndSynchronizeWithEvent
[       OK ] EventSync.AppendGlobalTimestampAndSynchronizeWithEvent (1 ms)
[ RUN      ] EventSync.AppendCopyAndBarrierThenSynchronizeWithEvent
[       OK ] EventSync.AppendCopyAndBarrierThenSynchronizeWithEvent (1 ms)
[----------] 14 tests from EventSync (235 ms total)

[----------] Global test environment tear-down
[==========] 14 tests from 1 test suite ran. (257 ms total)
[  PASSED  ] 14 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 12 / 34. Estimated time left: 0:00:46 ]==============
---------------------------------[ EventPool ]----------------------------------
ID: com.canonical.certification::umd/EventPool
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = EventPool.*
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from EventPool
[ RUN      ] EventPool.CreateEventPoolWithInvalidParameters
NPU_LOG: *ERROR* [eventpool.cpp:33] Invalid desc pointer
NPU_LOG: *ERROR* [eventpool.cpp:41] Invalid phEventPool pointer
NPU_LOG: *ERROR* [eventpool.cpp:33] Invalid desc pointer
NPU_LOG: *ERROR* [eventpool.cpp:45] Invalid descriptor count
[       OK ] EventPool.CreateEventPoolWithInvalidParameters (1 ms)
[ RUN      ] EventPool.CreateEventPoolShouldBeSuccessful
[       OK ] EventPool.CreateEventPoolShouldBeSuccessful (0 ms)
[----------] 2 tests from EventPool (2 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (24 ms total)
[  PASSED  ] 2 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 13 / 34. Estimated time left: 0:00:44 ]==============
-----------------------------------[ Fence ]------------------------------------
ID: com.canonical.certification::umd/Fence
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Fence.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from Fence
[ RUN      ] Fence.CreateFenceExpectNotReadyStatus
[       OK ] Fence.CreateFenceExpectNotReadyStatus (2 ms)
[ RUN      ] Fence.CreateFenceInSignaledStateExpectReadyStatus
[       OK ] Fence.CreateFenceInSignaledStateExpectReadyStatus (1 ms)
[ RUN      ] Fence.CreateFenceInSignaledStateResetFenceStateExpectNotReadyStatus
[       OK ] Fence.CreateFenceInSignaledStateResetFenceStateExpectNotReadyStatus (0 ms)
[----------] 3 tests from Fence (3 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (23 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 14 / 34. Estimated time left: 0:00:42 ]==============
---------------------------------[ Fence Sync ]---------------------------------
ID: com.canonical.certification::umd/FenceSync
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = FenceSync.*
[==========] Running 7 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 7 tests from FenceSync
[ RUN      ] FenceSync.SynchronizeCommandListExecutionUsingFenceWithMaxUint64
[       OK ] FenceSync.SynchronizeCommandListExecutionUsingFenceWithMaxUint64 (4 ms)
[ RUN      ] FenceSync.SynchronizeCommandListExecutionUsingFence
[       OK ] FenceSync.SynchronizeCommandListExecutionUsingFence (1 ms)
[ RUN      ] FenceSync.ReuseFenceThatWasSignaled
[       OK ] FenceSync.ReuseFenceThatWasSignaled (1 ms)
[ RUN      ] FenceSync.SynchronizeCommandListExecutionUsingQueueSynchronizeExpectSignaledFence
[       OK ] FenceSync.SynchronizeCommandListExecutionUsingQueueSynchronizeExpectSignaledFence (1 ms)
[ RUN      ] FenceSync.CallFenceHostSynchronizeTwiceExpectSignaledState
[       OK ] FenceSync.CallFenceHostSynchronizeTwiceExpectSignaledState (1 ms)
[ RUN      ] FenceSync.ExecuteAndSynchronizeMultipleCommandQueuesUsingMultipleFences
[       OK ] FenceSync.ExecuteAndSynchronizeMultipleCommandQueuesUsingMultipleFences (1 ms)
[ RUN      ] FenceSync.UseZeFenceHostSynchronizeInLoop
[       OK ] FenceSync.UseZeFenceHostSynchronizeInLoop (1 ms)
[----------] 7 tests from FenceSync (12 ms total)

[----------] Global test environment tear-down
[==========] 7 tests from 1 test suite ran. (33 ms total)
[  PASSED  ] 7 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 15 / 34. Estimated time left: 0:00:40 ]==============
------------------------------[ GraphNativeBase ]-------------------------------
ID: com.canonical.certification::umd/GraphNativeBase
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = GraphNativeBase.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from GraphNativeBase
[ RUN      ] GraphNativeBase.CreatingGraphWithNullptrInputGraph
NPU_LOG: *ERROR* [graph.cpp:341] Invalid input pointer, condition: desc.pInput == nullptr
[       OK ] GraphNativeBase.CreatingGraphWithNullptrInputGraph (2 ms)
[ RUN      ] GraphNativeBase.CreatingGraphWithNullPtrDesc
NPU_LOG: *ERROR* [graph.cpp:52] Invalid graph descriptor
[       OK ] GraphNativeBase.CreatingGraphWithNullPtrDesc (0 ms)
[ RUN      ] GraphNativeBase.GetProfilingDataPropertiesExpectSuccess
[       OK ] GraphNativeBase.GetProfilingDataPropertiesExpectSuccess (0 ms)
[----------] 3 tests from GraphNativeBase (3 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (29 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 16 / 34. Estimated time left: 0:00:38 ]==============
-----------------------------[ GraphNativeBinary ]------------------------------
ID: com.canonical.certification::umd/GraphNativeBinary
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = GraphNativeBinary.*
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from GraphNativeBinary
[ RUN      ] GraphNativeBinary.GetGraphNativeBinaryWithoutGraphNativeBinaryPointerExpectSuccess
[       OK ] GraphNativeBinary.GetGraphNativeBinaryWithoutGraphNativeBinaryPointerExpectSuccess (4 ms)
[ RUN      ] GraphNativeBinary.GetGraphNativeBinaryWithAndWithoutGraphNativeBinaryPointerExpectSuccess
[       OK ] GraphNativeBinary.GetGraphNativeBinaryWithAndWithoutGraphNativeBinaryPointerExpectSuccess (1 ms)
[----------] 2 tests from GraphNativeBinary (5 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (30 ms total)
[  PASSED  ] 2 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 17 / 34. Estimated time left: 0:00:36 ]==============
--------------------------------[ CommandGraph ]--------------------------------
ID: com.canonical.certification::umd/CommandGraph
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandGraph.*
[==========] Running 5 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 5 tests from CommandGraph
[ RUN      ] CommandGraph.AppendGraphInitWithNullGraphHandle
NPU_LOG: *ERROR* [cmdlist.cpp:345] Graph object is NULL
[       OK ] CommandGraph.AppendGraphInitWithNullGraphHandle (4 ms)
[ RUN      ] CommandGraph.AppendGraphInitExecuteWithoutSettingArgumentForInputOutput
NPU_LOG: *ERROR* [vpu_device_context.cpp:133] ptr passed is nullptr!
NPU_LOG: *ERROR* [elf_parser.cpp:646] Failed to find a user buffer
NPU_LOG: *ERROR* [vpu_inference_execute.cpp:60] Failed to apply arguments to elf executor
NPU_LOG: *ERROR* [cmdlist.cpp:436] Graph-Execute Command failed to be initialized!
[       OK ] CommandGraph.AppendGraphInitExecuteWithoutSettingArgumentForInputOutput (0 ms)
[ RUN      ] CommandGraph.SettingNullArgumentForInputOutput
[       OK ] CommandGraph.SettingNullArgumentForInputOutput (0 ms)
[ RUN      ] CommandGraph.SetArgumentIndexGreaterThanExpectedArgumentIndexLimit
[       OK ] CommandGraph.SetArgumentIndexGreaterThanExpectedArgumentIndexLimit (0 ms)
[ RUN      ] CommandGraph.GetArgumentPropertiesReturnsExpectedProperties
NPU_LOG: *ERROR* [graph.cpp:134] Invalid pointer for argument properties
NPU_LOG: *ERROR* [graph.cpp:139] Invalid index (idx (4) >= size (4))
[       OK ] CommandGraph.GetArgumentPropertiesReturnsExpectedProperties (0 ms)
[----------] 5 tests from CommandGraph (6 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 1 test suite ran. (33 ms total)
[  PASSED  ] 5 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 18 / 34. Estimated time left: 0:00:34 ]==============
--------------------------[ CommandGraphLongThreaded ]--------------------------
ID: com.canonical.certification::umd/CommandGraphLongThreaded
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandGraphLongThreaded.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from CommandGraphLongThreaded
[ RUN      ] CommandGraphLongThreaded.AppendGraphInitExecuteAndSynchronize/add_abc_2_Threads
[       OK ] CommandGraphLongThreaded.AppendGraphInitExecuteAndSynchronize/add_abc_2_Threads (9 ms)
[ RUN      ] CommandGraphLongThreaded.AppendGraphInitExecuteAndSynchronize/add_abc_4_Threads
[       OK ] CommandGraphLongThreaded.AppendGraphInitExecuteAndSynchronize/add_abc_4_Threads (9 ms)
[ RUN      ] CommandGraphLongThreaded.RunAllBlobsInSingleContextSimultaneously
[       OK ] CommandGraphLongThreaded.RunAllBlobsInSingleContextSimultaneously (3 ms)
[----------] 3 tests from CommandGraphLongThreaded (23 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (43 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 19 / 34. Estimated time left: 0:00:32 ]==============
------------------------------[ MemoryAllocation ]------------------------------
ID: com.canonical.certification::umd/MemoryAllocation
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = MemoryAllocation.*
[==========] Running 5 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 5 tests from MemoryAllocation
[ RUN      ] MemoryAllocation.QueryContextMemory
[       OK ] MemoryAllocation.QueryContextMemory (1 ms)
[ RUN      ] MemoryAllocation.GetMemAddressRangeWithoutMemInputExpectSuccess
[       OK ] MemoryAllocation.GetMemAddressRangeWithoutMemInputExpectSuccess (0 ms)
[ RUN      ] MemoryAllocation.GetMemAddressRangeWithMemInputExpectSuccess
[       OK ] MemoryAllocation.GetMemAddressRangeWithMemInputExpectSuccess (0 ms)
[ RUN      ] MemoryAllocation.GetMemPropertiesWithAllocHostMemExpectSuccess
[       OK ] MemoryAllocation.GetMemPropertiesWithAllocHostMemExpectSuccess (0 ms)
[ RUN      ] MemoryAllocation.GetMemPropertiesWithAllocDeviceMemExpectSuccess
[       OK ] MemoryAllocation.GetMemPropertiesWithAllocDeviceMemExpectSuccess (0 ms)
[----------] 5 tests from MemoryAllocation (3 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 1 test suite ran. (27 ms total)
[  PASSED  ] 5 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 20 / 34. Estimated time left: 0:00:30 ]==============
------------------------------[ MemoryExecution ]-------------------------------
ID: com.canonical.certification::umd/MemoryExecution
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = MemoryExecution.*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from MemoryExecution
[ DISABLED ] MemoryExecution.DISABLED_CopyingFromUnpinnedHostMemoryShouldBeAllowed
[ RUN      ] MemoryExecution.MultipleCopies
[       OK ] MemoryExecution.MultipleCopies (4 ms)
[----------] 1 test from MemoryExecution (4 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (23 ms total)
[  PASSED  ] 1 test.

  YOU HAVE 1 DISABLED TEST

------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 21 / 34. Estimated time left: 0:00:28 ]==============
--------------------------[ MemoryAllocationThreaded ]--------------------------
ID: com.canonical.certification::umd/MemoryAllocationThreaded
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = MemoryAllocationThreaded.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from MemoryAllocationThreaded
[ RUN      ] MemoryAllocationThreaded.HostMem
[       OK ] MemoryAllocationThreaded.HostMem (4 ms)
[ RUN      ] MemoryAllocationThreaded.DeviceMem
[       OK ] MemoryAllocationThreaded.DeviceMem (5 ms)
[ RUN      ] MemoryAllocationThreaded.FreeMem
[       OK ] MemoryAllocationThreaded.FreeMem (3 ms)
[----------] 3 tests from MemoryAllocationThreaded (14 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (37 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 22 / 34. Estimated time left: 0:00:26 ]==============
--------------------------------[ PrimeBuffers ]--------------------------------
ID: com.canonical.certification::umd/PrimeBuffers
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = PrimeBuffers.*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from PrimeBuffers
[ RUN      ] PrimeBuffers.GetExternalMemoryProperties
[       OK ] PrimeBuffers.GetExternalMemoryProperties (2 ms)
[----------] 1 test from PrimeBuffers (2 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (24 ms total)
[  PASSED  ] 1 test.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 23 / 34. Estimated time left: 0:00:24 ]==============
----------------------------[ CommandQueuePriority ]----------------------------
ID: com.canonical.certification::umd/CommandQueuePriority
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandQueuePriority.create*:CommandQueuePriority.executeCopy*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from CommandQueuePriority
[ RUN      ] CommandQueuePriority.createQueueWithDifferentPriority
[       OK ] CommandQueuePriority.createQueueWithDifferentPriority (2 ms)
[ RUN      ] CommandQueuePriority.executeCopyUsingDifferentPrioritySequentially
[       OK ] CommandQueuePriority.executeCopyUsingDifferentPrioritySequentially (5 ms)
[ RUN      ] CommandQueuePriority.executeCopyUsingDifferentPrioritySimultaneously
[       OK ] CommandQueuePriority.executeCopyUsingDifferentPrioritySimultaneously (4 ms)
[----------] 3 tests from CommandQueuePriority (12 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (37 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 24 / 34. Estimated time left: 0:00:22 ]==============
-----------------------------[ CommandMemoryFill ]------------------------------
ID: com.canonical.certification::umd/CommandMemoryFill
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandMemoryFill.*
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from CommandMemoryFill
[ RUN      ] CommandMemoryFill.FillMemoryWithPattern/0
[       OK ] CommandMemoryFill.FillMemoryWithPattern/0 (4 ms)
[ RUN      ] CommandMemoryFill.FillMemoryWithPattern/1
[       OK ] CommandMemoryFill.FillMemoryWithPattern/1 (1 ms)
[ RUN      ] CommandMemoryFill.FillMemoryWithPattern/2
[       OK ] CommandMemoryFill.FillMemoryWithPattern/2 (1 ms)
[----------] 3 tests from CommandMemoryFill (8 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (33 ms total)
[  PASSED  ] 3 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 25 / 34. Estimated time left: 0:00:20 ]==============
--------------------------------[ MultiContext ]--------------------------------
ID: com.canonical.certification::umd/MultiContext
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = MultiContext.*
[==========] Running 10 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 10 tests from MultiContext
[ RUN      ] MultiContext.AllocatedMemoryCannotBeUsedInDifferentContext/2contexts
NPU_LOG: *ERROR* [vpu_device_context.cpp:140] Failed to find pointer 0x7e66452cd000 in device context!
NPU_LOG: *ERROR* [cmdlist.cpp:277] Buffer object not found
[       OK ] MultiContext.AllocatedMemoryCannotBeUsedInDifferentContext/2contexts (3 ms)
[ RUN      ] MultiContext.AllocatedMemoryCannotBeUsedInDifferentContext/8contexts
NPU_LOG: *ERROR* [vpu_device_context.cpp:140] Failed to find pointer 0x7e66452cd000 in device context!
NPU_LOG: *ERROR* [cmdlist.cpp:277] Buffer object not found
NPU_LOG: *ERROR* [vpu_device_context.cpp:140] Failed to find pointer 0x7e66452cd000 in device context!
NPU_LOG: *ERROR* [cmdlist.cpp:277] Buffer object not found
NPU_LOG: *ERROR* [vpu_device_context.cpp:140] Failed to find pointer 0x7e66452cd000 in device context!
NPU_LOG: *ERROR* [cmdlist.cpp:277] Buffer object not found
NPU_LOG: *ERROR* [vpu_device_context.cpp:140] Failed to find pointer 0x7e66452cd000 in device context!
NPU_LOG: *ERROR* [cmdlist.cpp:277] Buffer object not found
[       OK ] MultiContext.AllocatedMemoryCannotBeUsedInDifferentContext/8contexts (2 ms)
[ RUN      ] MultiContext.AllocateAndFreeMemorySequentially/2contexts
[       OK ] MultiContext.AllocateAndFreeMemorySequentially/2contexts (1 ms)
[ RUN      ] MultiContext.AllocateAndFreeMemorySequentially/8contexts
[       OK ] MultiContext.AllocateAndFreeMemorySequentially/8contexts (4 ms)
[ RUN      ] MultiContext.AllocateAndFreeMemorySimultaneously/2contexts
[       OK ] MultiContext.AllocateAndFreeMemorySimultaneously/2contexts (1 ms)
[ RUN      ] MultiContext.AllocateAndFreeMemorySimultaneously/8contexts
[       OK ] MultiContext.AllocateAndFreeMemorySimultaneously/8contexts (4 ms)
[ RUN      ] MultiContext.AppendGlobalTimestampAndSynchronizeSequentially/2contexts
[       OK ] MultiContext.AppendGlobalTimestampAndSynchronizeSequentially/2contexts (4 ms)
[ RUN      ] MultiContext.AppendGlobalTimestampAndSynchronizeSequentially/8contexts
[       OK ] MultiContext.AppendGlobalTimestampAndSynchronizeSequentially/8contexts (11 ms)
[ RUN      ] MultiContext.AppendGlobalTimestampAndSynchronizeSimultaneously/2contexts
[       OK ] MultiContext.AppendGlobalTimestampAndSynchronizeSimultaneously/2contexts (3 ms)
[ RUN      ] MultiContext.AppendGlobalTimestampAndSynchronizeSimultaneously/8contexts
[       OK ] MultiContext.AppendGlobalTimestampAndSynchronizeSimultaneously/8contexts (8 ms)
[----------] 10 tests from MultiContext (46 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 1 test suite ran. (67 ms total)
[  PASSED  ] 10 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 26 / 34. Estimated time left: 0:00:18 ]==============
------------------------------[ CommandCopyPerf ]-------------------------------
ID: com.canonical.certification::umd/CommandCopyPerf
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = CommandCopyPerf.*
[==========] Running 6 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 6 tests from CommandCopyPerf
[ RUN      ] CommandCopyPerf.AppendMemoryCopy/1_Threads_SYSTEM_TO_SYSTEM_4096B_1_iterations

Average Copy Command duration: 2182359 [ns]

Minimum Copy Command execution time: 2182359 [ns]

Maximum Copy Command execution time: 2182359 [ns]

Average VPU device's timestamp value for Copy Command: 2892 [VPU clock units]

[       OK ] CommandCopyPerf.AppendMemoryCopy/1_Threads_SYSTEM_TO_SYSTEM_4096B_1_iterations (4 ms)
[ RUN      ] CommandCopyPerf.AppendMemoryCopy/1_Threads_LOCAL_TO_LOCAL_4096B_1_iterations

Average Copy Command duration: 622658 [ns]

Minimum Copy Command execution time: 622658 [ns]

Maximum Copy Command execution time: 622658 [ns]

Average VPU device's timestamp value for Copy Command: 2118 [VPU clock units]

[       OK ] CommandCopyPerf.AppendMemoryCopy/1_Threads_LOCAL_TO_LOCAL_4096B_1_iterations (2 ms)
[ RUN      ] CommandCopyPerf.AppendMemoryCopy/4_Threads_SYSTEM_TO_SYSTEM_4096B_1_iterations

Average Copy Command duration: 1422246 [ns]

Minimum Copy Command execution time: 1307290 [ns]

Maximum Copy Command execution time: 1509008 [ns]

Average VPU device's timestamp value for Copy Command: 4257 [VPU clock units]

[       OK ] CommandCopyPerf.AppendMemoryCopy/4_Threads_SYSTEM_TO_SYSTEM_4096B_1_iterations (4 ms)
[ RUN      ] CommandCopyPerf.AppendMemoryCopy/4_Threads_LOCAL_TO_LOCAL_4096B_1_iterations

Average Copy Command duration: 1660284 [ns]

Minimum Copy Command execution time: 1598507 [ns]

Maximum Copy Command execution time: 1697178 [ns]

Average VPU device's timestamp value for Copy Command: 4407 [VPU clock units]

[       OK ] CommandCopyPerf.AppendMemoryCopy/4_Threads_LOCAL_TO_LOCAL_4096B_1_iterations (5 ms)
[ RUN      ] CommandCopyPerf.AppendMemoryCopy/8_Threads_SYSTEM_TO_SYSTEM_4096B_1_iterations

Average Copy Command duration: 2477631 [ns]

Minimum Copy Command execution time: 2338492 [ns]

Maximum Copy Command execution time: 2671871 [ns]

Average VPU device's timestamp value for Copy Command: 5444 [VPU clock units]

[       OK ] CommandCopyPerf.AppendMemoryCopy/8_Threads_SYSTEM_TO_SYSTEM_4096B_1_iterations (7 ms)
[ RUN      ] CommandCopyPerf.AppendMemoryCopy/8_Threads_LOCAL_TO_LOCAL_4096B_1_iterations

Average Copy Command duration: 2578732 [ns]

Minimum Copy Command execution time: 2509599 [ns]

Maximum Copy Command execution time: 2691028 [ns]

Average VPU device's timestamp value for Copy Command: 4957 [VPU clock units]

[       OK ] CommandCopyPerf.AppendMemoryCopy/8_Threads_LOCAL_TO_LOCAL_4096B_1_iterations (8 ms)
[----------] 6 tests from CommandCopyPerf (33 ms total)

[----------] Global test environment tear-down
[==========] 6 tests from 1 test suite ran. (59 ms total)
[  PASSED  ] 6 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 27 / 34. Estimated time left: 0:00:16 ]==============
-------------------------------[ SystemToSystem ]-------------------------------
ID: com.canonical.certification::umd/SystemToSystem
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = SystemToSystem.*
[==========] Running 0 tests from 0 test suites.
[==========] 0 tests from 0 test suites ran. (0 ms total)
[  PASSED  ] 0 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 28 / 34. Estimated time left: 0:00:14 ]==============
---------------------------[ Sizes/MemoryAllocation ]---------------------------
ID: com.canonical.certification::umd/Sizes/MemoryAllocation
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Sizes/MemoryAllocation.*
[==========] Running 10 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 10 tests from Sizes/MemoryAllocation
[ RUN      ] Sizes/MemoryAllocation.AllocDeviceMemory/2KB
[       OK ] Sizes/MemoryAllocation.AllocDeviceMemory/2KB (2 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocDeviceMemory/16MB
[       OK ] Sizes/MemoryAllocation.AllocDeviceMemory/16MB (6 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocDeviceMemory/64MB
[       OK ] Sizes/MemoryAllocation.AllocDeviceMemory/64MB (24 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocDeviceMemory/128MB
[       OK ] Sizes/MemoryAllocation.AllocDeviceMemory/128MB (45 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocDeviceMemory/255MB
[       OK ] Sizes/MemoryAllocation.AllocDeviceMemory/255MB (119 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocHostMemory/2KB
[       OK ] Sizes/MemoryAllocation.AllocHostMemory/2KB (1 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocHostMemory/16MB
[       OK ] Sizes/MemoryAllocation.AllocHostMemory/16MB (9 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocHostMemory/64MB
[       OK ] Sizes/MemoryAllocation.AllocHostMemory/64MB (34 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocHostMemory/128MB
[       OK ] Sizes/MemoryAllocation.AllocHostMemory/128MB (74 ms)
[ RUN      ] Sizes/MemoryAllocation.AllocHostMemory/255MB
[       OK ] Sizes/MemoryAllocation.AllocHostMemory/255MB (146 ms)
[----------] 10 tests from Sizes/MemoryAllocation (464 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 1 test suite ran. (482 ms total)
[  PASSED  ] 10 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 29 / 34. Estimated time left: 0:00:12 ]==============
---------------------------[ Sizes/MemoryExecution ]----------------------------
ID: com.canonical.certification::umd/Sizes/MemoryExecution
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Sizes/MemoryExecution.*
[==========] Running 12 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 12 tests from Sizes/MemoryExecution
[ RUN      ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/2KB
[       OK ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/2KB (4 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/16MB
[       OK ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/16MB (11 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/63MB
[       OK ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/63MB (39 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/126MB
[       OK ] Sizes/MemoryExecution.ExecuteTimestampCommandInMemoryLowRange/126MB (77 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/2KB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/2KB (1 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/16MB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/16MB (9 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/63MB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/63MB (39 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/126MB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryLowRange/126MB (78 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/2KB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/2KB (1 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/16MB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/16MB (10 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/63MB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/63MB (40 ms)
[ RUN      ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/126MB
[       OK ] Sizes/MemoryExecution.ExecuteCopyCommandInMemoryHighRange/126MB (79 ms)
[----------] 12 tests from Sizes/MemoryExecution (394 ms total)

[----------] Global test environment tear-down
[==========] 12 tests from 1 test suite ran. (414 ms total)
[  PASSED  ] 12 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 30 / 34. Estimated time left: 0:00:10 ]==============
-----------------------------[ Sizes/PrimeBuffers ]-----------------------------
ID: com.canonical.certification::umd/Sizes/PrimeBuffers
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Note: Google Test filter = Sizes/PrimeBuffers.export*
[==========] Running 9 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 9 tests from Sizes/PrimeBuffers
[ RUN      ] Sizes/PrimeBuffers.exportDeviceMemory/2KB
[       OK ] Sizes/PrimeBuffers.exportDeviceMemory/2KB (2 ms)
[ RUN      ] Sizes/PrimeBuffers.exportDeviceMemory/16MB
[       OK ] Sizes/PrimeBuffers.exportDeviceMemory/16MB (6 ms)
[ RUN      ] Sizes/PrimeBuffers.exportDeviceMemory/255MB
[       OK ] Sizes/PrimeBuffers.exportDeviceMemory/255MB (97 ms)
[ RUN      ] Sizes/PrimeBuffers.exportHostMemory/2KB
[       OK ] Sizes/PrimeBuffers.exportHostMemory/2KB (0 ms)
[ RUN      ] Sizes/PrimeBuffers.exportHostMemory/16MB
[       OK ] Sizes/PrimeBuffers.exportHostMemory/16MB (5 ms)
[ RUN      ] Sizes/PrimeBuffers.exportHostMemory/255MB
[       OK ] Sizes/PrimeBuffers.exportHostMemory/255MB (54 ms)
[ RUN      ] Sizes/PrimeBuffers.exportSharedMemory/2KB
[       OK ] Sizes/PrimeBuffers.exportSharedMemory/2KB (0 ms)
[ RUN      ] Sizes/PrimeBuffers.exportSharedMemory/16MB
[       OK ] Sizes/PrimeBuffers.exportSharedMemory/16MB (4 ms)
[ RUN      ] Sizes/PrimeBuffers.exportSharedMemory/255MB
[       OK ] Sizes/PrimeBuffers.exportSharedMemory/255MB (53 ms)
[----------] 9 tests from Sizes/PrimeBuffers (225 ms total)

[----------] Global test environment tear-down
[==========] 9 tests from 1 test suite ran. (246 ms total)
[  PASSED  ] 9 tests.
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 31 / 34. Estimated time left: 0:00:08 ]==============
-----------------------------------[ Metric ]-----------------------------------
ID: com.canonical.certification::umd/Metric
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Skipping as the Metric Streamer feature is only available in kernel version > 6.8
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 32 / 34. Estimated time left: 0:00:06 ]==============
------------------------------[ MetricQueryPool ]-------------------------------
ID: com.canonical.certification::umd/MetricQueryPool
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Skipping as the Metric Streamer feature is only available in kernel version > 6.8
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 33 / 34. Estimated time left: 0:00:04 ]==============
--------------------------------[ MetricQuery ]---------------------------------
ID: com.canonical.certification::umd/MetricQuery
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Skipping as the Metric Streamer feature is only available in kernel version > 6.8
------------------------------------------------------------------------- >8 ---
Outcome: job passed
=============[ Running job 34 / 34. Estimated time left: 0:00:02 ]==============
---------------------------[ MetricQueryCopyEngine ]----------------------------
ID: com.canonical.certification::umd/MetricQueryCopyEngine
Category: com.canonical.certification::npu
... 8< -------------------------------------------------------------------------
Skipping as the Metric Streamer feature is only available in kernel version > 6.8
------------------------------------------------------------------------- >8 ---
Outcome: job passed
 ☑ : Enumerate available system executables
 ☑ : Umd
 ☑ : Command
 ☑ : CommandTimestamp
 ☑ : CommandCopy
 ☑ : CommandBarrier
 ☑ : CommandStress
 ☑ : Context
 ☑ : Device
 ☑ : Driver
 ☑ : Event
 ☑ : EventSync
 ☑ : EventPool
 ☑ : Fence
 ☑ : Fence Sync
 ☑ : GraphNativeBase
 ☑ : GraphNativeBinary
 ☑ : CommandGraph
 ☑ : CommandGraphLongThreaded
 ☑ : MemoryAllocation
 ☑ : MemoryExecution
 ☑ : MemoryAllocationThreaded
 ☑ : PrimeBuffers
 ☑ : CommandQueuePriority
 ☑ : CommandMemoryFill
 ☑ : MultiContext
 ☑ : CommandCopyPerf
 ☑ : SystemToSystem
 ☑ : Sizes/MemoryAllocation
 ☑ : Sizes/MemoryExecution
 ☑ : Sizes/PrimeBuffers
 ☑ : Metric
 ☑ : MetricQueryPool
 ☑ : MetricQuery
 ☑ : MetricQueryCopyEngine

There is a small spelling mistake "Bump scheckbox provider snap to core24 annd checkbox24" If that's going to bug you, it might be worth fixing. Otherwise LGTM

Oops. Silent "s" in "scheckbox". ;) I almost always prefer the "Squash and merge" method from the GitHub UI so the typo(s) won't feature very prominently. Thanks again for the review.


Preview Uploaded Image

Will someone kindly help or share code showing preview of uploaded base64 image? Need preview on client site (on react site) before uploading it to backened (NodeJS) server...

I found the solution myself. Below, I used React code to achieve this:
import FileBase64 from 'react-file-base64';

// inside component
	const [frontImage, setFrontImage] = useState('');
	const [previewFrontImage, setPreviewFrontImage] = useState('');

	const onChangeFrontImage = (file) => {
		setFrontImage('');
		setPreviewFrontImage('');
		setFrontImage(file);

		// preview Front Image
		let image = file;
		let reader = new FileReader();
		reader.readAsDataURL(image.file);
		reader.onload = (event) => {
			setPreviewFrontImage(event.target.result);
		};
	};

return (

							{previewFrontImage && (

							)}

Front Image

								<FileBase64 onDone={onChangeFrontImage} />

)


libhailort.so file error for yolov8_cross_compilation_h15

I was trying to do the yolov8 cross compilation but the default version for hailo board is 4.17.1 and while I was trying to do the cross compilation it is giving me version error. Can you please suggest me if there is any alternative for resolving this issue.
CMakeLists.txt

Thank you for your response. We were able to make it run by downgrading the version of Hailo-15 board with April-2024 image containing HailoRT Version - 4.17.0.


Podman dev

What type of PR is this:
/kind feature
What does this PR do / why we need it:
Which issue(s) this PR fixes:
Fixes #6151
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

How to test changes / Special notes to the reviewer:

I started playing with this and it keeps failing on "sync".
 ✗  Command 'tar xf - -C /projects --no-same-owner' in container failed.
 ✗  stdout:
 ✗  stderr:
 ✗  err: exit status 2
 ✗  failed to sync to component with name demo: unable push files to pod: exit status 2

I started playing with this and it keeps failing on "sync".
 ✗  Command 'tar xf - -C /projects --no-same-owner' in container failed.
 ✗  stdout:
 ✗  stderr:
 ✗  err: exit status 2
 ✗  failed to sync to component with name demo: unable push files to pod: exit status 2

Could you please share the podman version and the Devfile  you are using? And also the complete output of the command (including the definition of the created Pod)?

@feloy I ran into a different issue than the one reported by Tomas. It is a panic this time, after bootstrapping a new project and running odo dev:
odo init --name my-quarkus-app --devfile java-quarkus --starter community
odo dev --run-on podman

I haven't looked into the stacktrace yet, but here is the output, and my podman version:

Output
x odo dev --run-on podman
  __
 /  \__     Developing using the "my-quarkus-app" Devfile
 \__/  \    Namespace: default
 /  \__/    odo version: v3.2.0
 \__/

↪ Deploying to the cluster in developer mode
Deploying using Podman

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  name: my-quarkus-app-app
spec:
  containers:
  - args:
    - tail
    - -f
    - /dev/null
    env:
    - name: DEBUG_PORT
      value: "5858"
    - name: PROJECTS_ROOT
      value: /projects
    - name: PROJECT_SOURCE
      value: /projects
    image: registry.access.redhat.com/ubi8/openjdk-17
    imagePullPolicy: Always
    name: tools
    ports:
    - containerPort: 8080
      hostPort: 39001
      name: http-quarkus
      protocol: TCP
    resources:
      limits:
        memory: 512Mi
    volumeMounts:
    - mountPath: /projects
      name: odo-projects
    - mountPath: /opt/odo/
      name: odo-shared-data
  volumes:
  - name: odo-projects
    persistentVolumeClaim:
      claimName: odo-projects-my-quarkus-app-app-source
  - name: odo-shared-data
    persistentVolumeClaim:
      claimName: odo-projects-my-quarkus-app-app-shared
status: {}
Trying to pull registry.access.redhat.com/ubi8/openjdk-17:latest...
Getting image source signatures
Checking if image destination supports signatures
Copying blob sha256:014d343fa5c5b8d0a78e9ff3cba23b330b140d59015cb2eb68520cd37599acb9
Copying blob sha256:488d0614fc378af3bd3dc61a94e61987e86d74a480b8fe0048d8a7e7574202de
Copying config sha256:eade82c16966390bfc56230b77e70a6a882e8981327c26a3f1f4f5fc734905c7
Writing manifest to image destination
Storing signatures
Pod:
c4a896cb48aa95743636dd2cfaf3501af4b5592686920dde6314b3782400fe0f
Container:
9fed987d9ad14c811b39c98a2e6accca28a2be48620368b1d27d7775e11fb621

 •  Executing the application (command: dev-run)  ...
 ✗  Finished executing the application (command: dev-run) [1s]
 ⚠  Devfile command "dev-run" exited with an error status in 20 second(s)
 ⚠  Last 100 lines of log:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x300 pc=0x27f146c]

goroutine 1 [running]:
github.com/redhat-developer/odo/pkg/component.Log({0x7f415017cf98, 0x46a0528}, {0xc000bf3e70, 0xe}, {0x2e9ee5c, 0xc00065cae8}, 0x90, {{0xc000bf3c00, 0x7}, 0x0, ...})
        /home/asoro/work/projects/odo/pkg/component/component.go:97 +0x8c
github.com/redhat-developer/odo/pkg/component.checkRemoteCommandStatus({0x323ee00, 0xc00045d760}, {0x7f415017cf98, 0x46a0528}, {{0xc000bf3c00, 0x7}, 0x0, {{0x0, 0x0}, 0xc000b5d490, ...}}, ...)
        /home/asoro/work/projects/odo/pkg/component/execute_run.go:157 +0x1e6
github.com/redhat-developer/odo/pkg/component.ExecuteRunCommand({0x323ee00, 0xc00045d760}, {0x7f415017cf98, 0x46a0528}, {{0xc000bf3c00, 0x7}, 0x0, {{0x0, 0x0}, 0xc000b5d490, ...}}, ...)
        /home/asoro/work/projects/odo/pkg/component/execute_run.go:112 +0xab9
github.com/redhat-developer/odo/pkg/dev/podmandev.commandHandler.Execute(...)
        /home/asoro/work/projects/odo/pkg/dev/podmandev/command.go:34
github.com/redhat-developer/odo/pkg/libdevfile.(*execCommand).Execute(0xc00047ee48, {0x326b9b0, 0xc0000adb00})
        /home/asoro/work/projects/odo/pkg/libdevfile/command_exec.go:30 +0xa4
github.com/redhat-developer/odo/pkg/libdevfile.executeCommand({{{0xc00047ee48, 0x5}, {0xc0000632c0, 0x58}, {0xc0000632c0, 0x58}, {0xc0001b1800, 0x7d0, 0x800}, {0x2fd2987, ...}, ...}, ...}, ...)
        /home/asoro/work/projects/odo/pkg/libdevfile/libdevfile.go:76 +0x11b
github.com/redhat-developer/odo/pkg/libdevfile.ExecuteCommandByNameAndKind({{{0xc00047ee48, 0x5}, {0xc0000632c0, 0x58}, {0xc0000632c0, 0x58}, {0xc0001b1800, 0x7d0, 0x800}, {0x2fd2987, ...}, ...}, ...}, ...)
        /home/asoro/work/projects/odo/pkg/libdevfile/libdevfile.go:67 +0x3c5
github.com/redhat-developer/odo/pkg/dev/podmandev.(*DevClient).Start(0xc000536270, {0x3288838, 0xc000bea340}, {0xc0000632c0, 0x4b}, {0x0, 0x0}, {0xc000bf3ca0, 0x7}, {{0xc00069b6c0, ...}, ...})
        /home/asoro/work/projects/odo/pkg/dev/podmandev/podmandev.go:132 +0x7e5
github.com/redhat-developer/odo/pkg/odo/cli/dev.(*DevOptions).Run(0xc00055a280, {0x32888e0, 0xc00070e1b0})
        /home/asoro/work/projects/odo/pkg/odo/cli/dev/dev.go:147 +0x5e5
github.com/redhat-developer/odo/pkg/odo/genericclioptions.GenericRun({0x3289280, 0xc00055a280}, 0xc0006d7b80, {0xc0006a8a00, 0x0, 0x2})
        /home/asoro/work/projects/odo/pkg/odo/genericclioptions/runnable.go:244 +0x15c4
github.com/redhat-developer/odo/pkg/odo/cli/dev.NewCmdDev.func1(0xc0006d7b80, {0xc0006a8a00, 0x2, 0x2})
        /home/asoro/work/projects/odo/pkg/odo/cli/dev/dev.go:189 +0x38
github.com/spf13/cobra.(*Command).execute(0xc0006d7b80, {0xc0006a89e0, 0x2, 0x2})
        /home/asoro/work/projects/odo/vendor/github.com/spf13/cobra/command.go:860 +0x5f8
github.com/spf13/cobra.(*Command).ExecuteC(0xc0006d6280)
        /home/asoro/work/projects/odo/vendor/github.com/spf13/cobra/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
        /home/asoro/work/projects/odo/vendor/github.com/spf13/cobra/command.go:902
github.com/spf13/cobra.(*Command).ExecuteContext(...)
        /home/asoro/work/projects/odo/vendor/github.com/spf13/cobra/command.go:895
main.main()
        /home/asoro/work/projects/odo/cmd/odo/odo.go:70 +0x425

$ podman version
Client:       Podman Engine
Version:      4.2.1
API Version:  4.2.1
Go Version:   go1.18.5
Built:        Wed Sep  7 21:58:19 2022
OS/Arch:      linux/amd64

@feloy I ran into a different issue than the one reported by Tomas. It is a panic this time, after bootstrapping a new project and running odo dev:
odo init --name my-quarkus-app --devfile java-quarkus --starter community
odo dev --run-on podman

I haven't looked into the stacktrace yet, but here is the output, and my podman version:
Output
$ podman version
Client:       Podman Engine
Version:      4.2.1
API Version:  4.2.1
Go Version:   go1.18.5
Built:        Wed Sep  7 21:58:19 2022
OS/Arch:      linux/amd64

This devfile defines a postStart event, I don't think this is supported yet

@feloy I ran into a different issue than the one reported by Tomas. It is a panic this time, after bootstrapping a new project and running odo dev:
odo init --name my-quarkus-app --devfile java-quarkus --starter community
odo dev --run-on podman

I haven't looked into the stacktrace yet, but here is the output, and my podman version:
Output
$ podman version
Client:       Podman Engine
Version:      4.2.1
API Version:  4.2.1
Go Version:   go1.18.5
Built:        Wed Sep  7 21:58:19 2022
OS/Arch:      linux/amd64

This devfile defines a postStart event, I don't think this is supported yet

I have added support for postStart, but the support of devfile volumes is also missing.
This will need some work on refactoring the pkg/envinfo (and probably also the pkg/storage) package.

Another thing I noticed: maybe it was me, but I was not able to run odo dev --run-on=podman without an active Kubernetes context.
x odo dev --run-on=podman -v 7
I1107 09:11:27.475546 2094577 implem.go:106] The path for preference file is /home/asoro/.config/odo/preferences.yaml
I1107 09:11:27.475620 2094577 util.go:733] HTTPGetRequest: https://raw.githubusercontent.com/redhat-developer/odo/main/build/VERSION
I1107 09:11:27.475639 2094577 segment.go:268] Checking telemetry enable status
I1107 09:11:27.475645 2094577 segment.go:298] Sending telemetry enabled by preference
I1107 09:11:27.475661 2094577 util.go:754] Response will be cached in /tmp/odohttpcache for 1h0m0s
 ✗
Please ensure you have an active kubernetes context to your cluster.
Consult your Kubernetes distribution's documentation for more details.
Error: invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

Another thing I noticed: maybe I missed something, but I was not able to run odo dev --run-on=podman without an active Kubernetes context. Is that intended?

Good catch, thanks. It was working before some rebase. I fixed the problem.

/hold
Holding this PR, because we need to wait for https://github.com/redhat-developer/odo/issues/6150 first.

Rebased on main to use go v1.18

We might need more logging.
For example I forgot to start podman machine on MacOS` , so podman cli was not working.
odo just fail with exist status 125 without any additional information :-(
If podman commands fail we should show users the error message from podman so they know what is happening.
▶ odo dev -v 5 --run-on podman
I1116 16:06:57.629182   82014 implem.go:106] The path for preference file is /Users/tkral/.odo/preference.yaml
I1116 16:06:57.629196   82014 util.go:733] HTTPGetRequest: https://raw.githubusercontent.com/redhat-developer/odo/main/build/VERSION
I1116 16:06:57.629421   82014 util.go:754] Response will be cached in /var/folders/z1/br1bg03n1fjc9bntwmxg4zwm0000gn/T/odohttpcache for 1h0m0s
I1116 16:06:57.629494   82014 segment.go:268] Checking telemetry enable status
I1116 16:06:57.629506   82014 segment.go:298] Sending telemetry enabled by preference
I1116 16:06:57.629577   82014 util.go:767] Cached response used.
I1116 16:06:57.631929   82014 implem.go:106] The path for preference file is /Users/tkral/.odo/preference.yaml
I1116 16:06:57.632160   82014 context.go:141] absolute devfile path: '/Users/tkral/Code/odo-examples/nodejs-starter/devfile.yaml'
I1116 16:06:57.632264   82014 context.go:92] absolute devfile path: '/Users/tkral/Code/odo-examples/nodejs-starter/devfile.yaml'
I1116 16:06:57.632672   82014 content.go:33] converted devfile YAML to JSON
I1116 16:06:57.632722   82014 apiVersion.go:45] devfile schemaVersion: '2.1.0'
I1116 16:06:57.632729   82014 helper.go:41] devfile apiVersion '2.1.0' is supported
I1116 16:06:57.634384   82014 schema.go:46] validated devfile schema
I1116 16:06:57.635274   82014 validate.go:45] Successfully validated devfile sections
I1116 16:06:57.635281   82014 validate.go:45] Successfully validated devfile sections
I1116 16:06:57.635303   82014 component.go:84] name of component is "nodejs-starter", and sanitized name is "nodejs-starter"
  __
 /  \__     Developing using the "nodejs-starter" Devfile
 \__/  \    Platform: podman
 /  \__/    odo version: v3.2.0
 \__/

↪ Deploying to podman in developer mode
 •  Deploying pod  ...
I1116 16:06:57.635496   82014 utils.go:73] Updating container runtime with mandatory volume mounts
 ✗  Deploying pod [15ms]
 ✗  exit status 125

▶ podman ps
Error: failed to connect: dial tcp <IP_ADDRESS>:50110: connect: connection refused

Rebased to fix conflict on pkg/dev/dev.go

We might need more logging. For example I forgot to start podman machine on MacOS` , so podman cli was not working.

I have added more info on error reporting on commit More info on ExitError errors.
Could you please check if this fixes the problem?

@feloy With the new changes on writing into the devstate file (https://github.com/redhat-developer/odo/pull/6183/commits/118bcbbe419be7e88d1f25019aeb7a665031bea8), I'm not getting a open ./.odo/devstate.json: no such file or directory error when running odo dev on Podman. I guess we need to create this file.
I run odo dev right after bootstrapping a new NodeJS starter project with odo init
$ ODO_EXPERIMENTAL_MODE=true odo dev --run-on=podman -v 7
Experimental mode enabled for flag: --run-on. Use at your own risk. More details on https://odo.dev/docs/user-guides/advanced/experimental-mode
I1117 15:05:43.279350 1045943 implem.go:106] The path for preference file is /home/asoro/.config/odo/preferences.yaml
I1117 15:05:43.279425 1045943 segment.go:268] Checking telemetry enable status
I1117 15:05:43.279431 1045943 segment.go:298] Sending telemetry enabled by preference
I1117 15:05:43.279431 1045943 util.go:733] HTTPGetRequest: https://raw.githubusercontent.com/redhat-developer/odo/main/build/VERSION
I1117 15:05:43.279481 1045943 util.go:754] Response will be cached in /tmp/odohttpcache for 1h0m0s
I1117 15:05:43.282051 1045943 implem.go:106] The path for preference file is /home/asoro/.config/odo/preferences.yaml
I1117 15:05:43.282165 1045943 context.go:141] absolute devfile path: '/tmp/node/devfile.yaml'
I1117 15:05:43.282176 1045943 context.go:92] absolute devfile path: '/tmp/node/devfile.yaml'
I1117 15:05:43.282393 1045943 content.go:33] converted devfile YAML to JSON
I1117 15:05:43.282440 1045943 apiVersion.go:45] devfile schemaVersion: '2.1.0'
I1117 15:05:43.282454 1045943 helper.go:41] devfile apiVersion '2.1.0' is supported
I1117 15:05:43.284214 1045943 schema.go:46] validated devfile schema
I1117 15:05:43.286128 1045943 validate.go:45] Successfully validated devfile sections
I1117 15:05:43.286140 1045943 validate.go:45] Successfully validated devfile sections
I1117 15:05:43.286173 1045943 component.go:84] name of component is "test-nodejs-on-podman", and sanitized name is "test-nodejs-on-podman"
  __
 /  \__     Developing using the "test-nodejs-on-podman" Devfile
 \__/  \    Platform: podman
 /  \__/    odo version: v3.2.0
 \__/

↪ Deploying to podman in developer mode
 •  Deploying pod  ...
I1117 15:05:43.286286 1045943 utils.go:73] Updating container runtime with mandatory volume mounts
I1117 15:05:43.386492 1045943 podman.go:57] Trying to pull registry.access.redhat.com/ubi8/nodejs-16:latest...

I1117 15:05:43.578930 1045943 util.go:767] Cached response used.
I1117 15:05:46.729760 1045943 podman.go:57] Getting image source signatures
Checking if image destination supports signatures

I1117 15:05:46.729838 1045943 podman.go:57] Copying blob sha256:53b802d1b2f7c20f47362b06b90ddc0ab921dd2b63f891ab3de060df602983a4

I1117 15:05:46.729885 1045943 podman.go:57] Copying blob sha256:75800ed868ab0a3f29f2addac2109a77aec89445d85f001da2fc73a88f17a8a0

I1117 15:05:46.729900 1045943 podman.go:57] Copying blob sha256:c8408bdc05406550cf8ab25336f9bb12eefce9ee697281330f02bcbe80931fa2

I1117 15:05:46.731291 1045943 podman.go:57] Copying config sha256:c4507b2a0bf33a7422231f306cd478e22404f180bfd98d18bb0d4346c60f0879

I1117 15:05:46.745458 1045943 podman.go:57] Writing manifest to image destination

I1117 15:05:46.745480 1045943 podman.go:57] Storing signatures

I1117 15:05:47.032997 1045943 podman.go:57] Pod:
af89e18a946e186acb0ea62ac89e22b8e3d859fc69ab2093ab244bf6b7b20ded
Container:
fb793c2ecae25b02378d559a628ff49bf0947189451fb0925616391e102f5fcc

I1117 15:05:47.035479 1045943 podman.go:57]
 ✓  Deploying pod [4s]
 -  Forwarding from <IP_ADDRESS>:39001 -> 3000
 -  Forwarding from <IP_ADDRESS>:39002 -> 5858
 ✗  open ./.odo/devstate.json: no such file or directory

@kadel I have added more info on error reporting on commit More info on ExitError errors.
Could you please check if this fixes the problem?

Yes, this looks good.
Previously I also had an issue that the odo dev was infinitely waiting for run command to finish, it looks like this has been fixed as well.

/approve
Functionality lgtm, except what Armel mentioned in https://github.com/redhat-developer/odo/pull/6183/files#r1015565454.

/test v4.11-integration-e2e

/override ci/prow/v4.11-integration-e2e
Tests pass on IBM Cloud


In the PR, link the previous flamegraphs so that we can diff before and after

If you have questions before creating this feature request, you can use the GitHub Discussions or use the community Slack chat.
Is your feature request related to a problem? Please describe.
After https://github.com/kroxylicious/kroxylicious/pull/1181 one can see the new flame graph, but cannot easily compare it to the previous one
Describe the solution you'd like
A way to see the flame graph of the execution before the PR
Describe alternatives you've considered
I think perf jobs are already ran each time there's a merge and on main, so we don't need to regenerate them, but rather to link to the current main files
Additional context.

MR done in the corresponding strimzi-ci repository. Waiting for approval.
The files created in the artifacts would be added to the async_profiler_previous directory.

At the LastSuccessfulBuild Artifacts they will appear all together, but they have different timestamps, so we can distinguish between the old and the current ones:

Thank you @franvila ! I can't wait to use this

Merged. You can use it once Jenkins is reloaded


Skipped Insertions because there is no sequence ?

Hello Melanie,
I am trying to use Iris to retrieve structural variant sequence in a VCF for merging purpose (instead of a N <INS>). My VCF was obtained from sniffles and I've retrieved the RNAMES fields but Iris still fail to fix insertion type variants.
Here one example
1       20836   0_0     N       <INS>   .       PASS    IMPRECISE;SVMETHOD=Snifflesv1.0.10;CHR2=1;END=20928;STD_quant_start=44;STD_quant_stop=50;Kurtosis_quant_start=-1;Kurtosis_quant_stop=0;SVTYPE=INS;RNAMES=4154b2d3-1c38-41b5-8a7f-26c4672fb4e1,5a5c65a1-643b-4cda-99c3-0b9efc34857f,b7da30cd-5039-44d4-bbdb-21ac84f05638,fa1edabb-3267-4979-8dcf-8a4750d8acbc;SUPTYPE=AL;SVLEN=46;STRANDS=+-;STRANDS2=4,0,4,0;RE=4;REF_strand=3,0;AF=0.571429    GT:DR:DV         0/1:3:4
and it gives the following message
Skipping 1:20836:INS:0_0 because there is no sequence (time = 00:00:00:04.754)
I have checked my vcf files and no insertion has been fixed (>20000, deletion were ok). I have also looked at my bam file for the reads reported in the RNAMES fields and I had no issue to found them.
So, in the end, I do not get why variants are skipped. I would like to know if I have an issue or if it actually fails at the reads assembly but it seems weird that it affects all my variants.
I am using the conda version of Iris (irissv) avaible with Jasmine.
Thank you for your help !

Hi,
In trying to refine insertion sequences, Iris assumes that you already have some insertion sequence to start with.  This can be either encoded as a SEQ INFO field, or as the ALT allele (with the REF allele being the reference base being right before the insertion, and the ALT being that base plus the insertion sequence).  In my experience running Sniffles, it typically includes this sequence for most or all insertions.  What version and parameters are you using for Sniffles variant calling?
Thanks,
Melanie

I am using sniffles 1.0.10. Here is my command :

sniffles -t 10 -s 3 --genotype --cluster --report_read_strands -n -1 -m <BAM> -v <VCF>

I guess I am missing the --report_seq arguments ? I did not set it as it was beta
Could I ask why you need an initial sequence ? I thought producing a local assembly with the retrieved reads would give a sequence template as good as what sniffles could output. Are you using the SEQ/ALT field as a template for reads mapping ?
Thank you for your quick answer.


Incorrect translation in website/content/zh/docs/concepts/overview/components.md

This is a Bug Report

Problem:
Too many content missing and incorrect translation while marked as the latest 1.16 version documents in Chinese.
For example:
"However, for simplicity, set up scripts typically start all master components on the same machine"
"the same machine" in English has been translated to "the same virtual machine" in Chinese.
Proposed Solution:
Have some body review the Chinese version translation or mark it as a outdate version translation
Page to Update:
https://kubernetes.io/zh/docs/concepts/overview/components/

/language zh

WIP
/assign @ydcool

@ydcool
any progress?

@tanjunchen Sorry for the delay. Update has been pushed.


Pass logging config to monolog handler preparation to allow custom formatter

Add possibility to set custom formatter in config/logging.php channels config.
Example of channel config:
        'sentry' => [
            'level' => 'error',
            'driver' => 'sentry',
            'formatter' => App\Logging\CustomFormatter::class,
        ],

Example of custom formatter:
<?php

namespace App\Logging;

use Monolog\Formatter\LineFormatter;

class CustomLineFormatter extends LineFormatter
{
    const SIMPLE_FORMAT = "%channel%.%level_name%: %message% %context% %extra%\n";
}

Laravel documentation (See Monolog Formatters)
resolves #142

Hey Anton, this is very simple, I like it! Thanks!


Allow keeping reference to removed inputs

Describe the bug and the expected behavior
Hi!
I'm facing the following issues, once the popover is closed the input elements are removed from the dom, so conform looses any reference to these fields.
I was thinking maybe conform would provide an API to keep the reference to removed inputs, something similiar to felte's does with data-felte-keep-on-remove.
Conform version
0.9.1
Steps to Reproduce the Bug or Issue
const [form, { filters }] = useForm(...);

<Popover>
      <PopoverTrigger>Add filter</PopoverTrigger>
      <PopoverContent>
        {conform
              .collection(filters, {
                type: 'checkbox',
                options,
              })
              .map(props => (
                <input {...props} />
              )
         }
       </PopoverContent>
</Popover>

What browsers are you seeing the problem on?
Chrome
Screenshots or Videos
No response
Additional context
No response

Hi @Frantss, Conform does not keep any reference of an input and relies on the FormData API to construct the data based on the DOM. Please check if radix have an option to avoid unmounting the content or you can render hidden inputs with the value selected whenever the popover is closed.

Feel free to reopen this if you have any other questions :)


Format gen_fsm/gen_statem crashes correctly

Based on and supersedes #377.
Includes unit tests for the crash messages and formatting for both gen_fsm and gen_statem.

+1


Delete Task

How to delete a Task

Hello @biaoxiaoa ,
Thanks for asking.
Option to delete an individual task is not available yet.
But you can delete a task by

Mark the tasks as "Complete"
Select project name
Click "Clear Completed Tasks"

Here is a 10 seconds GIF screencast to show the steps - https://share.getcloudapp.com/RBuqLPw1


How to work with oauth2

Dear svlada:
thanks your good job!
How dose this work with oauth2 ?   put this code to Authorization Server(which made in Spring cloud), other app service user @EnableOAuth2Sso to access this, it not work.
If I'm trouble you, i'm sorry！

@f5cs
look at this link :
https://github.com/mhkarimi/spring-boot-security-oauth2-jwt-example


Login

I have a couple things

When logging in, it requires I specify a timeout which is hidden behind advanced config. I would pull that into the normal login section or add a default timeout value.
After logging into http://localhost:8080/h2/ and entering a specific DB, you get security errors and a white screen displays. This will cause issues if we ever need to view the content of the DB.

The timeout should have a default value. The work to set the default should be done when we add the redux stuff
What is http://localhost:8080/h2/ ? Did you add that? Why do we have a UI for the database? Does it still give you security errors after logging in through the main login?


Intermittently VC share not working.

Describe the bug
Android to iPhone VC share didn't work once, was able to share VC in the second attempt.
To Reproduce
Prerequiste: VC is downloaded and stored in sharing device and downloaded VC should contain photo of resident.
Device A - Requesting device (iOS)
Device B - Sharing device (Android)
steps:

open qr code in Device A
open scanner in Device B
scan the qrcode from Device B
select VC to share and click on "Accept request and verify".
5.camera opens up - captures photo of resident

Current behavior
Sharing device stuck in sharing state while receiving device was still waiting to receive VC
Expected behavior
VC share should be working without failing intermittently
Screenshots

Smartphone (please complete the following information):

Device: iPhone 8 , One plus Nord 2
OS: 16.0.2, 12
Inji app version: 0.4.1 (5)->testflight
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa5.mosip.net

Additional context
Android apk:  https://github.com/mosip/inji/actions/runs/3626503207

Intermittent issue could be related to the quality of internet connection of the device. Due to how Google Nearby Messages works, the data goes through Google servers temporarily hence the need for an internet connection. I have added an optimization in #375 / #396 that reduces the number of back-and-forth messaging between the devices which could help with this.

This issue has been descoped from the beta release.

google near by is excluded, no more a valid bug, hence closing on github.


Craft 3.5 support

This is also tested with Craft 3.2, so I’m confident that we don’t have to change any requirements.

Solid one - thanks a lot @carlcs!


Oni-ML: brace expansion in ml_ops.sh not working correctly

the rm command on line 37 has spaces between the filenames located in the brace expansion,
also missing gamma.

fixed in pull request Open-Network-Insight/oni-ml#21


Same bug with v2.9.0 in helm v3

Output of helm version:
3.0.0
Output of kubectl version:
Skip.
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
Skip.
This problem seems to be the same problem in #3881 which has been already fixed in #3915 but again appeared in helm v3. Location helm.sh/helm//pkg/downloader/chart_downloader.go, Line 179.
if err == ErrNoOwnerRepo {
	r := &repo.ChartRepository{}
	r.Client = g
	g.SetBasicAuth(c.getRepoCredentials(r))
	return u, g, err
}

It should swallow the error thrown here.

@Somefive I failed to reproduce this. I have shown my testing below. Maybe you can provide more details on your testing?
$ helm version
version.BuildInfo{Version:"v3.0+unreleased", GitCommit:"6b96d2158b0db94f1e1792df2a0e5e7dfa6674b0", GitTreeState:"clean", GoVersion:"go1.12.1"}

$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "incubator" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈

$ helm fetch stable/elastic-stack

$ helm dep update elastic-stack
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "incubator" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 10 charts
Downloading elasticsearch from repo https://kubernetes-charts.storage.googleapis.com/
Downloading kibana from repo https://kubernetes-charts.storage.googleapis.com/
Downloading filebeat from repo https://kubernetes-charts.storage.googleapis.com/
Downloading logstash from repo https://kubernetes-charts.storage.googleapis.com/
Downloading fluentd from repo https://kubernetes-charts.storage.googleapis.com/
Downloading fluent-bit from repo https://kubernetes-charts.storage.googleapis.com/
Downloading fluentd-elasticsearch from repo https://kubernetes-charts.storage.googleapis.com/
Downloading nginx-ldapauth-proxy from repo https://kubernetes-charts.storage.googleapis.com/
Downloading elasticsearch-curator from repo https://kubernetes-charts.storage.googleapis.com/
Downloading elasticsearch-exporter from repo https://kubernetes-charts.storage.googleapis.com/
Deleting outdated charts

BTW, elasticsearch-operator seems to no longer have dependencies:
$ tree elasticsearch-operator
elasticsearch-operator
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   └── rbac.yaml
└── values.yaml

1 directory, 5 files

@hickeyma
Go to elastic-stack/requirements.yaml, change the repository of logstash to https://apphub.aliyuncs.com/ and it will show
Error: could not download https://apphub.aliyuncs.com/charts/logstash-1.13.0.tgz: could not find a repo containing the given URL

@Somefive I would expect this to fail as the repo is not added to the repo list. The error message is slightly different in v2 but still the same logic.
$ helm version
Client: &version.Version{SemVer:"v2.14+unreleased", GitCommit:"0b474e688f69ee8b538983ed60f0b55676d8b43b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14+unreleased", GitCommit:"cab0dd5f3328b9d60a652e2eff5d65abb87be581", GitTreeState:"clean"}

$ cat elastic-stack/requirements.yaml
dependencies:
- name: elasticsearch
  version: ^1.22.0
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: elasticsearch.enabled
[....]
- name: logstash
  version: ^1.6.0
  repository: https://apphub.aliyuncs.com/
  condition: logstash.enabled
[....]

$ helm dep update elastic-stack
Error: no repository definition for https://apphub.aliyuncs.com/. Please add them via 'helm repo add'

@hickeyma You are right. I skipped one step. Actually, you can run helm repo add apphub https://apphub.aliyuncs.com/ first and then you can get the same scenario to #3881.

@Somefive Can you show the command and the full output of the command when you run it?

@hickeyma
$ helm repo add apphub https://apphub.aliyuncs.com/
"apphub" has been added to your repositories
$ helm dependency update
Hang tight while we grab the latest from your chart repositories...
...Unable to get an update from the "local" chart repository (http://<IP_ADDRESS>:8879/charts):
	Get http://<IP_ADDRESS>:8879/charts/index.yaml: dial tcp <IP_ADDRESS>:8879: connect: connection refused
...Successfully got an update from the "apphub" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 10 charts
Downloading elasticsearch from repo https://kubernetes-charts.storage.googleapis.com/
Downloading kibana from repo https://kubernetes-charts.storage.googleapis.com/
Downloading filebeat from repo https://kubernetes-charts.storage.googleapis.com/
Downloading logstash from repo https://apphub.aliyuncs.com/
Save error occurred:  could not download https://apphub.aliyuncs.com/charts/logstash-1.13.0.tgz: could not find a repo containing the given URL
Deleting newly downloaded charts, restoring pre-update state
Error: could not download https://apphub.aliyuncs.com/charts/logstash-1.13.0.tgz: could not find a repo containing the given URL

This problem roots in the inconsistency of request url https://apphub.aliyuncs.com/charts/logstash-1.13.0.tgz and repo index provided url charts/logstash-1.13.0.tgz which I think is caused by chartmuseum's indexing url generation. I think the solution in #3915 is the easiest way to solve it.
What do you think? Could you reproduce it or get other result?

@Somefive Thanks for the feedback. I am able to reproduce now.

Closing as #5940 merged.


Website pages fail to load with message "The CodeDom provider type ... could not be located."

In my Dockerfile, I have...
FROM microsoft/aspnet:4.7.2-windowsservercore-1803
For my ASP.NET project, I have installed the following Nuget package...
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.0" targetFramework="net462" />

Which has added this to my web.config...
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
    </compilers>
  </system.codedom>

When I build and run the container, hitting my website I get the following error...
The CodeDom provider type "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" could not be located.
However, if I look inside of my C:\inetpub\wwwoot directory, I can clearly see that the CodeDom dll is there...
Directory: C:\inetpub\wwwroot
Mode                LastWriteTime         Length Name
-a----        5/24/2018   1:38 PM          40080 Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
-a----        5/24/2018   1:38 PM           1805 Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml
What am I missing? Any idea why IIS can't find the CodeDom file?

Is Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll under bin folder?

Since we don't have enough info about the issue, close for now. Feel free to reactivate the issue later with some details.

Facing the same issue

Also periodically facing the same issue.


Add table docker_run

Add ability to run docker container.
Currently I'm using the exec plugin to run docker containers, e.g.
select * from exec_local.exec_command where command='docker run --rm ubuntu -- uname -a'

A new table docker_run may do the same like this
select * from docker_run where image='ubuntu' and command='name -a`

Hello @mingfang, thank you for bringing up this issue. Unfortunately, Steampipe is intentionally designed for read-only operations on resources, and all Steampipe plugins adhere to this design by not performing any write operations.
Regarding your command docker run --rm ubuntu -- uname -a, this is an action-oriented command intended for Docker containers. Incorporating a table in Steampipe to execute such a command falls beyond the intended scope of Steampipe's table design, which is focused on querying and reading data.
As a result, this particular issue will be closed. However, if you have any needs or questions related to performing read operations on Docker containers, please don't hesitate to open a separate issue for that purpose.
Thank you for your understanding!

@ParthaI
how do you example the exec plugins ability to run commands?
https://hub.steampipe.io/plugins/turbot/exec
Using the exec plugin you can run any command, including destructive ones
select
  output
from
  exec_command
where
  command = 'rm -rf';

Hello @mingfang, This is a single plugin where we have exceptional table usage. Basically, the plugin runs a command in the local environment and shows the output of the command that ran. The command part in the where clause is string(... where   command = 'rm -rf';). This is difficult to determine between commands that perform read operations and those that execute write operations.
Your understanding and careful use of this feature are much appreciated. Thank You!


IE11: Including the polyfill in two different libraries via ES6 imports then including both onto the page breaks it

Similar issue as in #94.
I am currently using object-fit-images in two different libraries, imported via ES6 imports/CommonJS requires.  When both libraries are included on the same page, the polyfill no longer works correctly for one of the libraries.
In IE11, what happens when both libraries are included is that the <img> tags all contain a background-image property where its URL begins with data:image/svg+xml.
A quick debug shows that the the second object-fit-images lib has logic problems after the first object-fit-images polyfills; the logic problem trickles and results the second lib to get locked into an infinite loop within onImageReady() because img.naturalHeight condition is never met; thus, the callback can never be executed.
The obvious solution is to use a CDN and include as a <script> tag instead but this is a huge problem if it is used as an ES6 import.  Is there a way to fix this?

It’s a polyfill, it shouldn’t be imported automatically by other libraries.

It's not imported automatically; I'm the one importing them because the libraries belong to me.  One of them is a Custom Element components library, the other is a React components library.  They are consumed by multiple higher level apps so the libs need to function independently.
I guess I will just manually set it to the window object to use as a flag to check if it is set already.


Add LLM metadata support.

Before contributing, please read our contributing guidelines and code of conduct.
Overview
Describe the changes present in the pull request
Related Github Issue
Include a link to the related GitHub issue, if applicable
Testing
The agent includes a suite of tests which should be used to
verify your changes don't break existing functionality. These tests will run with
Github Actions when a pull request is made. More details on running the tests locally can be found
here,
For most contributions it is strongly recommended to add additional tests which
exercise your changes.

Codecov Report
Attention: Patch coverage is 83.33333% with 9 lines in your changes are missing coverage. Please review.

:exclamation: No coverage uploaded for pull request base (develop-ai-limited-preview-3@7a16453). Click here to learn what that means.

Files
Patch %
Lines

newrelic/hooks/external_botocore.py
0.00%
8 Missing :warning:

newrelic/hooks/mlmodel_langchain.py
96.00%
1 Missing :warning:

Additional details and impacted files
@@                       Coverage Diff                       @@
##             develop-ai-limited-preview-3    #1075   +/-   ##
===============================================================
  Coverage                                ?   80.17%
===============================================================
  Files                                   ?      192
  Lines                                   ?    21144
  Branches                                ?     3699
===============================================================
  Hits                                    ?    16953
  Misses                                  ?     3096
  Partials                                ?     1095

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat: update documentation

:tada: This PR is included in version 1.3.0-alpha.2 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat(opendataset): add dataloader for CACD dataset

Pull Request Test Coverage Report for Build 945038887

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.92%

Totals

Change from base Build 943495709:
0.0%

Covered Lines:
4854

Relevant Lines:
5716

💛  - Coveralls


HA isn't triggering the relay

Hi - I've got a weird issue here.
Everything is set up fine, with discovery turned off.  HA shows the Cover and if I open and close the garage door the 'state change' event fires and HA shows the appropriate state - so the MQTT comms are working OK.
However, if I click on any of the up/down/stop buttons on HA, nothing appears to be getting sent to the other Pi!  For testing I'm running main.py interactively so I'd expect at least to see the 'connection' and 'listening' messages but they aren't coming up either.
Any thoughts about what's going on here?  I'm running a fresh install of the latest version of HA on a Raspberry Pi 4, the remote Pi is a B+ running a late-ish version of Raspbian, and I'm using the latest version of your code.
Cheers,
Andy

An update - I did some testing with discovery and verbose logging in HA.
Discovery is working fine and HA is still receiving status change messages.  I've turned on debug logging for MQTT and can see the OPEN/CLOSE message going out but each Transmit is followed straight away by a Receive:
_> 2020-02-04 22:39:29 DEBUG (MainThread) [homeassistant.components.mqtt] Transmitting message on homeassistant/cover/Garage/set: CLOSE

2020-02-04 22:39:29 DEBUG (MainThread) [homeassistant.components.mqtt] Received message on homeassistant/cover/Garage/set: b'CLOSE'

I thought that was a bit odd so I killed main.py on the Pi, tried again and I STILL get the same messages!  It appears that HA is sending the messages to itself?!

@andystewart999
I'm not the original author but have used this for some time and can make a couple of suggestions for you.

If you have already run autostart_systemd.sh then garageqtpi is being started as a service.  This means if you are also running it interactively it's running twice.  If you want to run it interactively I recommend temporarily stopping the service with sudo systemctl stop garagqtpi@pi. You can disregard this if you haven't yet run autostart_systemd.sh.
If you look at main.py you will see this callback:

    print "Connected with result code: %s" % mqtt.connack_string(rc)
    for config in CONFIG['doors']:
        command_topic = config['command_topic']
        print "Listening for commands on %s" % command_topic
        client.subscribe(command_topic)

Are you seeing the Connected. . . message?  If not then garageqtpi is not connecting to the broker and getting a response back.  You should also see a listening . . .  message for each door. If you're not connecting to the broker or you don't see at least one listening message. I would probably start by looking at the configuration in the yaml file (garageqtpi not HASS).
3) If you are connecting to the broker I would suggest looking at the mqtt topics directly rather than only looking at the home assistant log (which is useful but perhaps not the whole story).  You can do this by going to developer tools in the front end and clicking mqtt.  There you can subscribe to topics and see the actual message flow.  You might find it useful to use a wildcard like homeassistant/cover/# You can also send messages to topics and watch for a response. This allows you to simulate what HASS should be doing and check for a garageqtpi response as well as the other way around.

Hi @bg1000 , thanks for the info.
1 - yep, haven't got the service running yet, for the initial testing I'm just running it locally so I can see the debug/console message.
2 - yep, I've gone through the code and noted all the connect/subscribe messages... and they AREN'T firing.  Obviously either the callback isn't registering or the client isn't connecting.  But I know it IS connected as events from the client (garage door opening) ARE being noted and registered on the HA server via MQTT.  It's just one-way communication right now for some reason (client to HA)
3 - good suggestion, I think I've already tried that but I'll have another crack via the dev tools as soon as I can.
So odd - obviously there's a connection but it's not 100% bi-directional!

Same issue, found a solution?

Same issue, found a solution?