Use empty string for missing standard_name attribute in coordinate array(s) of a netcdf

NetCDFReader does not work if standard_name attribute is missing from coordinate data array
This is because we would be trying to use the string method lower() on a None type
Here are a couple of ideas for fixes

use an empty string for missing standard_name (as opposed to None)
alternatively.. test for None before calling .lower()

I recommend the first option. It would be something like replacing this line with..
# this will assign an empty string to standard_name if c (coordinate data array) has no attribute called standard_name
standard_name = getattr(c, "standard_name", '')

The second option might look something like replacing this line with..
# if standard_name is None then will not run standard_name.lower()
standard_name and standard_name.lower() in GEOGRAPHIC_COORDS["x"]

Let me know preferred approach (if either or other) and I can open a PR

I opened this PR https://github.com/ecmwf/earthkit-data/pull/65 to resolve this issue

PR #65 has been merged, I suggest you close this issue.


Work on d_a_obj_lv3Water

This appears to match in objdiff but fails when building

Regarding the mismatch, the functions are in the wrong order. We have an open issue we don't know how to solve with dEvLib_callback_c inline virtual function generation.

Ah I see, thanks.


chore: release  chart 0.1.1

:package: Staging a new release
0.1.1 (2023-07-27)
Bug Fixes

chart/common/java-client/upload-java-client/service: use new parent (#57) (84901e7)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/carbynestack/castor/releases/tag/chart-v0.1.1 :sunflower:


Fix Shared library export and don't install GTEST

The shared library export fix is detailed in #244 for non Windows only.
This adds the CLIPPER2_DLL to all classes and methods that are in the headers that have a cpp implementation.
The CMakeLists.txt is updated to ensure that the exports are exported.
The libraries are built so that symbols are hidden unless exported.
Additional updates in CMakeLists.txt:

Added a default CMAKE_BUILD_TYPE of release and set the build type options to make it easier to select.
Turned off the install of GTEST as it makes no sense to install it.

This leaves the Windows build as a static library.
The default on Linux is a Shared library.
This is a work in progress.

To get around the issue with the current build you will need to either disable the C4251 warning or prohibit the windows build from building a shared library.
To disable the C4251 warning you will need to sprinkle code like this throughout the code base inside class/struct declarations:
#pragma warning(push) #pragma warning(disable : 4251)  // dllexport warning ... #pragma warning(pop)
Here is a diff that fixes it:
`
git diff --staged
diff --git a/CPP/Clipper2Lib/clipper.engine.h b/CPP/Clipper2Lib/clipper.engine.h
index 5d28baa..5d3d647 100644
--- a/CPP/Clipper2Lib/clipper.engine.h
+++ b/CPP/Clipper2Lib/clipper.engine.h
@@ -20,6 +20,8 @@
#include
#include "clipper.core.h"
+#pragma warning(push)
+#pragma warning(disable : 4251)  // dllexport warning
namespace Clipper2Lib {
    struct Scanline;

@@ -498,5 +500,6 @@ namespace Clipper2Lib {
};
}  // namespace
+#pragma warning(pop)
#endif  // clipper_engine_h
diff --git a/CPP/Clipper2Lib/clipper.offset.h b/CPP/Clipper2Lib/clipper.offset.h
index d5399b4..1f91081 100644
--- a/CPP/Clipper2Lib/clipper.offset.h
+++ b/CPP/Clipper2Lib/clipper.offset.h
@@ -13,6 +13,8 @@
#include "clipper.core.h"
+#pragma warning(push)
+#pragma warning(disable : 4251)  // dllexport warning
namespace Clipper2Lib {
enum class JoinType { Square, Round, Miter };
@@ -105,4 +107,6 @@ public:
};
}
+#pragma warning(pop)
+
#endif /* CLIPPER_OFFSET_H_ */
`

This adds the CLIPPER2_DLL to all classes and methods that are in the headers that have a cpp implementation.

I'm wondering if exporting classes is the best approach for DLLs?
Would it not be better/safer to add additional (admittedly more complex) functions that encapsulate these classes; functions that provide the full feature set of these classes?

This adds the CLIPPER2_DLL to all classes and methods that are in the headers that have a cpp implementation.

I'm wondering if exporting classes is the best approach for DLLs? Would it not be better/safer to add additional (admittedly more complex) functions that encapsulate these classes; functions that provide the full feature set of these classes?

Personally, I would prefer to keep the classes. All shared libraries in C++ bump into this in one form or another.

Personally, I would prefer to keep the classes. All shared libraries in C++ bump into this in one form or another.

I appreciate that exporting C++ classes may be very useful in Linux, but ISTM that it's discouraged in Windows.
And is this approach really better than providing a small set of exported functions that will do everything that's done by these classes?


DNS amplification attack

This container is open to be used in a DNS amplification attack. This works by:

Attacker makes a DNS request to the canary tokens server but spoofs the UDP packet with the victims IP.
Server responds with failure message and sends this to the victim.
Victim is deluged by traffic

The fix is to not send responses for DNS requests that are not valid

Hey @robeving,
Thanks for reporting this. We are currently investigating and will get back to you soon.

Hey @robeving,
Thanks again for reporting this. I have pushed a fix to the canarytokens repo and updated the canarytokens-docker images too. We haven't seen something like this happening yet, but its nice to close out the possibility (we suspect numbers would push attackers towards bigger players).
Thanks again for the reporting! We really appreciate it.


Allow a childless row to be expanded

Pull Request
🤨 Rationale
When a row has a state of canLoadChildren, clicking the expand button does not actually expand the row. The row-expand-toggle event is fired, but the row stays collapsed until children are provided in the data. This isn't ideal because the row state isn't consistent with what it should be given the user action and the details of the row-expand-toggle event. Therefore, this PR allows the childless row to be expanded. It also automatically collapses rows if they are still expandable when transitioning into a state where they have no children.
This is part of #1758, and this specific issue was discussed in this PR thread.
👩💻 Implementation
Refactor of the expansion manager to accomplish the following:

Allow each row to be in an explicitly expanded, explicitly collapsed, or default state

Purpose: The previous code in the expansion manager only tracked two things: (1) whether every row was in a default state, and (2) which rows were collapsed. This made it difficult to manage the state when some rows defaulted to expanded and other to collapsed.

Track which rows are expandable but have no children.

Purpose: We want to collapse rows that transition into have no children. Therefore, on a data update, we need to know whether or not a row previously had children.

🧪 Testing

Manually tested in storybook
Wrote new unit tests

✅ Checklist

[ ] I have updated the project documentation to reflect my changes or determined no changes are needed.

@atmgrifter00, will you buddy this for me?

Closing this PR because I found an issue with it. I'll revisit later.


Work in progress: Fix #8 build

Please, not accept yet.
Notes

Now install tensorflow < 2.0.0

Prevent a future broken

Add build;

Example: https://travis-ci.org/SrMouraSilva/boltzmann-machines/

Add code coverage;

Example: https://codecov.io/gh/SrMouraSilva/boltzmann-machines/branch/issue-8-build

Add setup_cpu.py to install tf without GPU

See README changes

Add badges in README.md
Use pytest instead nosetests;

Nosetests last commit is in 2016

Use absolute imports
Fix tests
Fix python 3 examples support

How to configure continuous deploy:

Create a account in Travis-CI with github account and enable boltzmann-machine repository;
Create a account in Codecov with github account and enable boltzmann-machine repository;

@monsta-hd,
When running the tests, I came across a test that always fails. Is this expected?
https://travis-ci.org/SrMouraSilva/boltzmann-machines/jobs/502665556#L1793


Review use of anyhow in grafton-server library

Investigate why anyhow is a dependency.  Might be related to the use of figment in the config_loader

anyhow has been removed as a dependency


Flickr photos aren't completely syncing with my locker

When attempting to load in all my photos from my Flickr pro account, I only get several dozen, and I have 1500 photos on Flickr.

this is resolved, per conversation with @jeremie


SuggestField Input should be an array

https://github.com/elasticsearch/elasticsearch-net/blob/develop/src/Nest/Domain/Suggest/SuggestField.cs#L13

Fixed via 045c697
Also renamed SuggestField to CompletionField, as it only applies to the completion suggester.


Add more detail about the Privileged Access pane.

#Configure the Settings within the group's Privileged Access pane. Choose to Edit the settings for the role of Member.
This step could use some fleshing out.  The document needs to clarify the link between the new group and the PIM roles.  It almost seems like a step is missing.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 8c1b40f7-129f-5fb9-cdde-42e35a8819f7
Version Independent ID: 8c1b40f7-129f-5fb9-cdde-42e35a8819f7
Content: Use Azure Privileged Identity Management (PIM) in Microsoft Defender for Office 365 to limit admin access to cyber security tools.
Content Source: microsoft-365/security/office-365-security/pim-in-mdo-configure.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @MSFTTracyP
Microsoft Alias: tracyp

@MSFTTracyP Please help us in resolving this issue. Thanks


conditional-pre: Make formBodyWrapperFilter, debugFilter and servlet3…

What do you think about adding some ConditionalOnMissingBean annotation to pre filters?
The problem we are facing is DebugFilter that is calling request.getParameter(DEBUG_PARAMETER.get()) just to check the value of debug and ignore it, and there is no easy way to disable it.
I added some other beans as described here: https://www.anaplan.com/blog/using-zuul-in-production/ , but the article is outdated anyway.

Done

Please remove the name parameter

Done.


specs-derive repo link on crates.io is wrong

As the title says.
Also it's a little unclear how to use it from specs these days.  Do you use the separate crate?  Or is it hidden in specs itself somewhere?

Hello @icefoxen! Sorry for the late reply.
The specs_derive crate is in this repo, it's a top-level directory. You can use the crate by specifying it in your Cargo.toml like any other crate. Would you prefer to use a feature instead?

Thanks for reporting the wrong link, will be fixed.


feature request: boolean trigger

Hi,
Could you add trigger which can be attached to boolean variable so the 'true' value will shows tooltip and 'false' value will hide tooltip?
I use ng2-tooltip to show errors over the form controls reading theirs 'invalid' property.

I understand what you mean. It really would be easier than calling methods. I will write this down on the roadmap.


[2.6] Forwardport vSphere CPI

Forward port of: https://github.com/rancher/rancher/issues/34977
Note: We are considering moving the CPI chart to live with the other RKE2 charts so this issue might need to be refactored once a decision has been made.

Test Environment

Rancher Version:v2.6-head (a2ae06c)
Installation option (Docker install/Helm Chart): Docker

Information about the Cluster

Kubernetes version: v1.20 and v1.21 was used.
Cluster Type(s) tested on (Local/Downstream): Downstream

Result of validation
CPI and CSI Chart installation was successful.
Pod was successfully created with volume attached to it.
Fresh install checks passed.

Closing in favor of https://github.com/rancher/rancher/issues/35378


Fix _perm_cache processing

Description

Types of Changes

[ ] Core
[ ] Bugfix
[ ] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR

Checklist

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.97%. Comparing base (67433e6) to head (6e5d160).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #498      +/-   ##
==========================================
- Coverage   87.98%   87.97%   -0.02%
==========================================
  Files          37       37
  Lines        3180     3184       +4
==========================================
+ Hits         2798     2801       +3
- Misses        382      383       +1

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


CTA (Outlink) improvements

Summary

Adds theme setting
Add icon setting
Replaces using amp-story-page-attachment with amp-story-page-outlink
Ensure protocol usage for the link

Relevant Technical Choices

Currently uses just a checkbox with the option to use dark theme (default being light theme) -- not sure if this is the best control to use for it.
The link icon is not automatically pulling in the icon, it needs to be set manually / otherwise displays default. Should we change this?

To-do

[ ] Confirm UX
[ ] Tests

User-facing changes

Testing Instructions
TBD

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[ ] I have tested this code to the best of my abilities
[ ] I have verified accessibility to the best of my abilities (docs)
[ ] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[ ] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #8120

@barklund / @swissspidy I added some screenshots of how the new panel looks like -- let me know if you have any suggestions.
Note: I also tried the Switch component for the Dark/Light theme control instead of just a checkbox but it looked a bit "out of place" and demanded too much attention there (forgot to take a screenshot on time unfortunately).


DxTagBoxComponent not calling searchExprChange event

Hi,
I'm trying to implement a search while typing kind of service, using the DxTagBoxComponent.
The problem I'm facing is that searchExprChange event is not being called while I'm typing. Although other event like onInput is called, it does not have the value I'm typing.
So to me this is a bug, as we have an exposed event but it doesn't work as expected.
Version I'm using:
"devextreme": "17.2.3",
"devextreme-angular": "17.2.3"
[ X ] bug Report
To reproduce: http://plnkr.co/edit/7RQCwQfuzbBpTqcWP1lq?p=preview

The searchExpr option is a field in your data source against which a search should be performed. You don't change it when you type something in dxTagBox. Please post this issue to our support center and elaborate on what you need to achieve.


Hide API keys using NDK (native c++, instead of gradle file)

reference:

https://blog.mindorks.com/securing-api-keys-using-android-ndk (recommended: overview, 3 ways to achieve it)
https://medium.com/programming-lite/securing-api-keys-in-android-app-using-ndk-native-development-kit-7aaa6c0176be
https://medium.com/@abhi007tyagi/storing-api-keys-using-android-ndk-6abb0adcadad

Using BuildConfig and DI instead, see here https://github.com/sampingantech/android-clean-architecture-mvi-boilerplate/pull/11/files#diff-6c3557ed6cd4f2ea7c55972c7eb2e8ceR34-R35


Work in progress

This project is not yet finished and does not compile at the moment either. I work on it and try to get it to a stable version soon.

@SeppPenner  Wow!  Good man.
Did many others show interest?  It seems more IIot than IoT so far, as you say on the 'Code' page here.
Jim

@SeppPenner  Wow!  Good man.
Did many others show interest?  It seems more IIot than IoT so far, as you say on the 'Code' page here.
Jim

Did many others show interest?

Not really, I just thought that it would be a cool project :)

It seems more IIot than IoT so far, as you say on the 'Code' page here.

I have changed the description a bit.

Did many others show interest?

Not really, I just thought that it would be a cool project :)

It seems more IIot than IoT so far, as you say on the 'Code' page here.

I have changed the description a bit.

Stay cool!   ;----)
I just wondered if maybe MQTTnet appeals to general IoT folk, whereas Sparkplug might be mostly on the industrial side (IIoT)?  But it's interesting anyhow, and looks like it adds useful layer(s) 'on top of' MQTT.
I'm wondering if Sparkplug could be generalised to sit on top of other transport layers than MQTT, if that would interest anyone, but I haven't studied it enough yet.  I suppose any alternative to MQTT would have to have similar characteristics to the ones you list on the home page here.

Stay cool!   ;----)
I just wondered if maybe MQTTnet appeals to general IoT folk, whereas Sparkplug might be mostly on the industrial side (IIoT)?  But it's interesting anyhow, and looks like it adds useful layer(s) 'on top of' MQTT.
I'm wondering if Sparkplug could be generalised to sit on top of other transport layers than MQTT, if that would interest anyone, but I haven't studied it enough yet.  I suppose any alternative to MQTT would have to have similar characteristics to the ones you list on the home page here.

Yeah, Sparkplug seems to be a way to define industrial IoT applications. The problem I have is that the "standard" from Eclipse is not yet well documented. I have read through the whole thing and sometimes they descriptions and examples could be better...
Theoretically it would be possible to run it on another layer except MQTT, but you need the specifications on that sub-protocol as well. I'm not an expert there, I have mainly used MQTT for that use case. I only know MQTT, AMQP and STOMP as IoT protocols and as far as I know, only MQTT supports all the needs (yet).

Good day! I was thrilled to see a project here that would help me out :). Thank you for SparkplugNet. I was able to get it to compile and build. I was able to successfully run the unit tests after a slight change to one of them. I am new to Sparkplug. So I'm still reading through the specification. From what I know, SparkplugNet looks really good and thorough. Would you be able to comment about the level of completeness you feel it is at? I guess I would expect to see a public Publish and Subscribe method. Any thoughts about where you are, where you hoped it to be, and what is next on your list would be welcomed. I will certainly benefit from what you've done so far. Thank you!

Well, I'm in the middle of progress, I would say. The core is done, but some features are still missing.
What should work:

Consuming messages from Sparkplug devices, applications and nodes
Connecting and disconnecting with a Sparkplug device, application and node

What is not yet done:

Publishing metrics (as you already figured out)
Storing metrics properly in the dictionaries (They should be validated, as e.g. only metrics that are known from the birth message should be stored)
More tests should be added
A "live-test" is planned, e.g. currently I haven't run the code against any real MQTT broker yet 😅
Documentation and examples are missing and will be added

What is ugly:

The handling of type A and type B Sparkplug messages (I wanted to use generics there but was struggling a bit with the enum as type parameter).

I guess, all in all I'm at around 60 percent done, just as a rough estimation. I plan to work further on this library soon (Probably on the weekend again), but it will still take some more hours (and days) to get it to a state where it can be used.
Oh, and ideas are welcome. I just did it the way I found it useful, but maybe I was missing some features or did something wrong yet and didn't recognize it or whatever.

I am 90% positive I will be using and contributing to this project for a commercial project. Before I start, do you have any plans to commit any additional work?

Hi together. I was quite busy the last weeks and wasn't able to add more code here. It's planned to change some things and extend the project soon. I hope, I get some more time today to already add some more things. You will get an update once I change major things.
So, yes, I plan to work on this project over this weekend, so maybe wait until monday for contributions 😄

I did some changes today:

Reworked the library to use generics for the version A and B message payloads
Added a callback when the application, node or device is disconnected
Adjusted the metrics / added a metric state to set the metric status to stale / offline or to online when the connection changes

In work:

Adding metrics and storing them correctly

Updates today:

Fixed the metrics supply from within the constructor (Now again generic T instead of string)
Added checks that only valid metrics are pushed
Added full support for NBIRTH, DBIRTH, NDEATH, DDEATH, NDATA, DDATA packages
Added sequence and session numbers to the packages
Added full support to publish metrics

Todo:

No idea yet how the following requirement should be met (Problem here is that the DDEATH is sent as will message within the connect process and cannot be changed afterwards as far as I know):

The DDEATH message requires the following payload components.
• The DDEATH must include the a seq number in the payload and it must have a value of one greater than the previous MQTT message from the EoN node contained unless the previous MQTT message contained a value of 255. In this case the seq number must be 0.

Support for storing metrics correctly
Tests for the message generation
Live tests with a real broker
Support for templates in NBIRTH
Documentation

I try to keep the work up again and maybe have a running initial version until the end of the week.

FYI, I have pulled in the existing version (prior to this latest one) and was able to successfully add integration tests to connect a EoN Node connection with some Metrics to our Ignition MQTT Server and Engine. I've added some classes to support this effort. I'll bring in your latest as you push them and maintain my tests accordingly.

Pulled in the latest, looks really good. Really coming together! To get my integration tests working, I had made some of the same modifications. I like yours better :).

Nice, great to hear that you did some integration tests. I have only some tests for the message generation right now.
Changes from the last state:

Added support for NCMD message
Added support for DCMD message
Added callbacks for the DCMD messages
Added callbacks for the NCMD messages
Added support for the state management of the metrics in the application(s)
Code style and documentation changes
Smaller bug fixes that occured during the tests
Added tests for all messages

Todos:

Template support on NBIRTH
DDEATH SEQ number (As described, I don't believe that the SEQ number can be handled correctly here)
Check code style again
Add documentation to Readme
Add examples in the example project
Prevent BDSEQ metric from being overwritten
Adjust callbacks (That are not yet generic) to generic version

I have created a NuGet package, version 0.1 as "alpha" version.

Have you tested with an MQTT Server that supports SparkPlug? I'm having some difficulties with error messages on Start() and when I PublishMetrics(). If you have, what MQTT Server/broker are you using? Can you recommend one that might provide some level of debugging capability?

I haven't run the project against a MQTT server yet to be honest. And no, I don't know any Sparkplug compatible MQTT server to be honest. If anyone has a recommendation, I would be grateful as well. Especially for testing use cases.

I was able to get quite a bit farther with my tests. This is based on my limited understanding of MQTT and Sparkplug spec. I will have a PR for you to evaluate soon. I added some payload dumps to the output window so I could troubleshoot.

I was able to get quite a bit farther with my tests.

Nice :)

I will have a PR for you to evaluate soon.

Ok, cool. I will check it.
For debugging MQTT messages, I use https://mqttfx.jensd.de/ and just subscribe to # (Everything) on my local broker to see what messages are sent.

I haven't run the project against a MQTT server yet to be honest. And no, I don't know any Sparkplug compatible MQTT server to be honest. If anyone has a recommendation, I would be grateful as well. Especially for testing use cases.

Hi  great work... looks fantastic. Hivemq Mqtt server community version comes with sparkplug as extension not sure if you can use this to debug along with ignition. https://www.hivemq.com/extension/sparkplug-influxdb-extension/

FYI, the current unit tests are referencing the incorrect enum for Datatype (SparkplugB Namespace).
The Datatype is currently using the Protobuf enum...instead of the Sparkplug enum defined in 15.2.1. Metric Datatypes of the Sparkplug Spec.
My open pull request adds a SparkplugBDataType and SparkplugADataType enum if so desired.

@SeppPenner Great work so far, many thanks.  Sadly I haven't had time to participate yet, but I hope to soon.  Anyway, I feel vaguely proud, after raising the subject in the 'other place' [(https://github.com/chkr1011/MQTTnet/issues/1073)] !
Best,
Jim

Hi great work... looks fantastic. Hivemq Mqtt server community version comes with sparkplug as extension not sure if you can use this to debug along with ignition. https://www.hivemq.com/extension/sparkplug-influxdb-extension/

I will check this soon :) @rnitc
I have already merged your pull request @faldeland. I still need to check the tests you added. From the first view, most of it seems valid. Thank you already for the contribution. However, I disagree on one or two details (But I need to check again, maybe it's correct and I just didn't get it correctly 😄).
@jgmdavies No problem, when the raw part of the package is done, there might be fine tuning or bug fixes needed in some cases, so you can contribute whenever you like :)
EDIT: I already wanted to comment yesterday, but somehow Github didn't let me. Stay tuned for updates, I will inform you here.

Great work @SeppPenner
I have reading though the code, and I was just wondering if devices should have their own connections to the MQTT broker?
I am only just learning the protocol, but my impression was that a node contains a number of devices, and therefore the node acts as the gateway/host for the devices?
My interpretation is based on http://www.steves-internet-guide.com/introduction-to-mqtt-sparkplug-for-iiot/

I feel like there needs to be contract between the node and device that still allows devices to publish birth/death and metrics?

Great work @SeppPenner
I have reading though the code, and I was just wondering if devices should have their own connections to the MQTT broker?
I am only just learning the protocol, but my impression was that a node contains a number of devices, and therefore the node acts as the gateway/host for the devices?
My interpretation is based on http://www.steves-internet-guide.com/introduction-to-mqtt-sparkplug-for-iiot/

I feel like there needs to be contract between the node and device that still allows devices to publish birth/death and metrics?

As I use the existing library to better understand Sparkplug and MQTT, I came to the same question.
I am using Ignition as the server/primary application and early on I was getting all sorts of errors in the logs for not conforming to the spec. This was to be expected as the library is still in progress. I am slowly working on fixing those errors as my deep dive continues. One of the errors was a message sequence numbering error. Since they were currently handled independently, the sparkplug messages ordering was unique per node and device(s). To satisfy the message sequence requirement, I modified the project slightly for each device to hold a reference to its parent node. I am making these changes in a forked project. I have not pushed those changes yet. Currently, it still creates a unique client connection for each device, but the Sparkplug messages are properly ordered. Currently no known errors in the Ignition logs.
If I read the spec correctly, each device needs to explicitly send a DDEATH when disconnected or offline. This is slightly different than the connection sequence of an EoN node.
I'll post my modifications by tomorrow EOB. The desire is to use and contribute to this project...I'm just using my fork to make keep my progress going. Perhaps my best contributions will be the integration tests :) https://github.com/faldeland/SparkplugNet

I feel like there needs to be contract between the node and device that still allows devices to publish birth/death and metrics?

The problem is that I didn't see this yet in the specs (Or the specs are still unclear). I agree that it might be valid to allow devices without seperate connection to MQTT but there needs to be a common data contract and transfer technology (TCP, UDP, something else?). If someone has more information here, I would be interested.

Since they were currently handled independently, the sparkplug messages ordering was unique per node and device(s).

Mhm, that's how I read the specs to be honest :D

If I read the spec correctly, each device needs to explicitly send a DDEATH when disconnected or offline. This is slightly different than the connection sequence of an EoN node.

I'm not sure if I understand the issue here to be honest :D Can you explain this a bit more (Maybe with an example)?

The current implementation of SparkplugNet has a unique client connection established for node, device, application. The spec does not call for a unique client connection for each device. In my testing with Ignition, the EoN node and the device would stay ON/Connected forever, even after I stopped/closed the connection. When I modified to publish the NDEATH and DDEATH at end of session, the primary application properly showed the data metrics as stale.

I believe the spec assumes (or supports) that each EoN node connection is a single MQTT client connection to the MQTT Broker/Server...therefore the requirement for a sequential message id is for all messages from the EoN node. Current implementation of SparkplugNet has a unique MQTT client connection for each node and device(s). Testing against Ignition confirmed that a Sparkplug compliant EoN node must generate a sequential Sparkplug message id for all messages from an EoN node.

When I modified to explicitly PUBLISH the NDEATH and DDEATH at end of session, the primary application properly showed the data metrics as stale.

Ah okay. Now I understand the problem. What I believe is complicated, however: What if the device becomes unavailable and isn't able to publish a DDEATH message anymore? Or do I miss something here?

compliant EoN node must generate a sequential "seq" # for all messages from an EoN node or any of its devices.

Ok, I understand it now. So, currently we have different SEQ numbers for devices and nodes, but we need incrementing SEQ numbers on the node whenever a device message or a node message occurs, so only one SEQ number here.
Thank you for clearifing that to me, that was something I completely misinterpreted when reading the specs. I will test with Ignition now, too if it really helps that much :D :D

Really don't mind this back and forth...it helps me to better communicate what I do and don't understand yet :).
As an EoN node, we are either the Sparkplug compliant device or hosting one or many devices that are not directly Sparkplug compliant. The node should be aware of the physical connection status of each device and should publish the DDEATH if/when it is known.

@SeppPenner Here is an example of the logs from Ignition. The final error I'm resolving is this. I have not yet entered the correct Seq Number for the DDEATH message...and this is the error.

It took me some time, but now I'm back and want to finish a first useful version of SparkplugNet.
After I merged #2 from @faldeland, I have now adjusted the code to have the payload formats (Mainly because of different enum values in ProtoBuf and the "normal" code) seperated in the ProtoBuf data (which is only used for data transfer and afterwards directly converted to the other data format) and the externally used data.
Updates:

New data format and ProtoBuf data are only used internally now

Todos:

Template support on NBIRTH
DDEATH SEQ number, correct handling
Check code style
Add documentation to Readme
Add more examples in the example project
Removed current single MQTT connection to the device(s) and add methods to the node to call.

Today's updates:

Added small documentation on Sparkplug general structure to the readme.
Fixed possible issue with data type on conversion between internal (ProtoBuf) and external payload formats.
Removed current single MQTT connection for the device(s) and added logic to the node. / Removed device(s).
Added documentation to Readme.

Todos:

Template support on NBIRTH
DDEATH SEQ number, correct handling.
Check code style
Add more examples in the example project + readme


[move-prover] create a choice boogie function on unique ExpData

Motivation
The choice operator is currently implemented with a property that
if the same choice operator is referred multiple times, the chosen
evidence should stay the same.
This semantics is captured in the newly added
// Semantics when the same-choice operator is referred
section in the choice.move test case.
This property is implemented by converting a choice operator into
an uninterpreted function in Boogie followed by an axiom to constrain
this uninterpreted function.
However, in this translation process, there is an implicit assumption
that one choice operator will only be called with a one and only one set
of variables (e.g., function arguments/locals, free vars, and memories).
This assumption is valid in the verification of DPN given the limited
uses of the choice operator, but there are violations.
One case is documented in the following example:
    struct S has drop {
        x: u64
    }

    fun test_less_than_1(x: u64): u64 {
        x - 1
    }

    fun test_less_than_2(s: S): u64 {
        s.x - 1
    }

    spec test_less_than_1 {
        include EnsuresLessThan;
    }

    spec test_less_than_2 {
        include EnsuresLessThan { x: s.x };
    }

    spec schema EnsuresLessThan {
        x: u64;
        result: u64;
        ensures result != (choose i: u64 where i >= x);
    }

This choice operator is referred to in two contexts:

in test_less_than_1, it is called with an argument $t0 of type u64
in test_less_than_2, it is called with an argument $t0 of type S

Before this commit, the translation will produce a Boogie type error,
which is due to the fact that the choice operator is only translated
once with $t0: u64 as its first argument.
Changes in this commit is simple in concept but might not be obvious
from the code:
Before this commit, we are already creating different functions for
the same choice operator if they are specialized with different types.
This is evident in
lifted_choice_infos: Rc<RefCell<BTreeMap<NodeId, LiftedChoiceInfo>>>
as NodeId being the key.
The change is:
lifted_choice_infos: Rc<RefCell<HashMap<ExpData, LiftedChoiceInfo>>>.
So, instead of just using NodeId, we use the whole ExpData, which
includes the NodeId but also the range and body Exp as well. If
two choice expressions share exactly the same Exp for range and body,
(i.e., their ASTs are exactly the same). We point them to the same
uninterpreted function in Boogie. Otherwise, we create a new
uninterpreted function for each reference to the same choice operator.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
The choice.move test case is updated for the changes.

/land


information-container is empty, when using CustomIndex

I have made custom index page. But I have a problem with rendering Info(License, Contact and etc.)
After rendering I am getting the result:

information-container is empty
You can look My Startup here: https://github.com/VirtoCommerce/vc-platform-core/blob/feature/swagger/VirtoCommerce.Platform.Web/Startup.cs
and this https://github.com/VirtoCommerce/vc-platform-core/blob/599aa797053290c16fdfe6125a88822f423ad57f/VirtoCommerce.Platform.Web/Swagger/TagsFilter.cs#L23
can you help me fix it?

While the swagger-ui comes bundled with Swashbuckle for convenience, it's a completely separate project that's maintained and supported independently. Once you're using a custom index for it, you're essentially working with the swagger-ui components directly and therefore I would suggest post this question to the swagger-ui forums or repo instead of Swashbuckle.


Control HA devices back from HC3

Hi there,
Is there anyway i could control devices already on HA (from any other system, like Lutron) on the HC3 using HC3 as a MQTT client that controls HA devices?

HI @sergiobaiao, not at the moment but this looks theoretically feasible in the future, if there are enough backers for the functionality.
I'd suggest to move the topic to the Discussions module of the GitHub project, due to no issue with the existing functionality for HC3 devices managed from HA?

this would be awesome. If i can help someway, let me know
Please move the topic there. I really misplaced it here

Hi @sergiobaiao,
There are several ways you can help, but none of them is easy ;-)

Find a community of users who might need the integration, as this particular use-case doesn't seem to be on demand. People look for the possibility to manage all devices from Home Assistant, not vice versa
See if there is anyone who is willing to do the integration for free (you or anyone else), and then I help with the Lua code integration
If there are no volunteers to work for free, and you need to have the integration this year/quarter - I can do the development using commercial rates

Feel free to raise a new topic at the "Discussions" module if you think it make sense to invest time into it.


Port number

?

The idea was to propose a default port number in ADM-OSC spec, as it was the first thing we needed to align during the PlugFest.
It is a detail as of course it should be easy to adapt it, maybe we can do an historic "hommage" to ORPHEUS Ircam ADMix Player exchanging ADM positions thru OSC back in 2017 and used port 4001 to send and 4002 to receive...

Maybe the implementation matrix will help: https://github.com/immersive-audio-live/ADM-OSC/issues/24 We should make sure it includes port numbers.


Fix of const values in EvCatTool

Described in here
http://sphinx.if.uj.edu.pl/redmine/issues/955

It passes test with gcc 4.8, boost 1.58 and root 5.34 with travis and jenkins.
With those small changes also it is also possible to build with gcc 7.3, boost 1.65 and root 6.10/08


Upgraded to 0.4.0 and I no longer get the isLoaded or isSignedIn changes

When upgrading to latest all of my code watching these references is no longer seeing any changes in clerk.
In my pinia store I have a
clerk.addListener((emission) => {
log.debug(emission | user: ${emission.user?.id});
});
and it is correctly firing an event when the cached login authenticates.  but on the SignIn form
const { isLoaded, isSignedIn } = useAuth();
isLoaded remains false and isSignedIn is undefined.  They never change.
The only difference in my code is the upgrade to 0.4.0 .
This is a plain Vue application.
I also upgraded my nuxtjs website with this version and it seems to be working as expected.
I also added
clerk.addOnLoaded(()=> {
log.debug(addOnLoaded);
})
and this is firing the callback as expected

So you mean the issue only happens on a plain Vue app and it works as expected on Nuxt?

Yea ,  Nuxt website was working.  and our Vue App failed.
We have a pretty large and complex Vue App.  I can try and recreate the issue, but it may be difficult to get all the same context.

I made a quickstart template here.  Let me know if you can repro the issue using that! Thank you

Ran the quick start and tried to simulate my environment , could not simulate it successfully (everything worked as expected in the simple app) .
I tried running a fork of the vue-clerk project, trying to add console logging to figure out what is going on.

As you may see with the console logging,  the plugin gets added and initialized.  I put a console entry in the addOnLoaded and it fired ,  the user was successfully logged on and fired an emission with a proper clerk user_id .
However the authCtx.value in the injected value is reporting everything as undefined when I'm referring to the compostables.
Seems like the plugin is running inside another Vue application instance somehow ???
Weird the ctx (VueClerkInjectionKeyType) is uninitialized , which. it is false since the user was logged in and produced a clerk emission event and clerk_id

How are you logging useAuth? Can I see?

The Playground is working correctly.
This logging is in my application , using a local fork of vue-clerk. to validate additional  logging.
I'm logging this after the clerk authenticates the session cookie , and the values are all undefined.
const { authCtx } = useClerkProvider();

I'll try my best to replicate that issue. Can't really figure out the issue, but if you want to contribute, it's most likely in this function.

We are happy to contribute to the project.   We have a major launch coming up for our new software that heavy relies on Vue  / Clerk / Vuetify etc.
We are using it in both of its forms ,  our website uses the nuxtjs variant, and our SPA app uses the pure client side version (which is not working).
I have narrowed it down to ,
clerk.addListener((payload) => {
console.error('on-addListener', payload);
for (const [key, value] of Object.entries(payload)) state[key as keyof typeof state] = value;
});
this is not firing any events ,  which in turn does not fill the client state ...

That's awesome to hear!
I know that the playground is working but I still tried logging changes in the clerk.AddListener callback and got updates 🤔

I have also ,  determined in my environment  the addListener call is going into the this.premountMethodCalls due to the  clerkjs not being available (load timing? )  so on the hydrateClerkJS the cb() was being called but not being wired to the clerkjs. ( basically loosing the connection )
I tried , but I'm not fully versed on the arichetucture so not sure if this is correct,  either way it did not restore the events.
for (const [key, cb] of this.premountMethodCalls) {
  if (key === 'addListener') {
    console.log('relay listener');
    clerkjs.addListener(cb);
  } else {
    cb();
  }
}

I think in the Sandbox the app loads so fast the event always makes its way directly to the clerkjs.  but in my SPA we have over 5M of uncompressed scripts that are loading causing it to take a divergent path.  ie. ending up in premount.
I'm happy to keep searching ,  but any ideas would be appreciated.
Nick

To be honest, the reason I went with loading the clerk-js CDN instead of installing the npm module is to reduce the app bundle and increase performance of the app. But my question is how do I provide the clerk instance to the app via plugin if I'm loading Clerk async?
I tried to look on how they're doing it in React and saw this. I copy pasted it and made it work with Vue. I'm not fully aware yet of the whole architecture, just the high-level overview. This solution they use with React hot loads Clerk CDN but premounts the methods. Allowing vue-clerk to provide the instance of clerk directly. This won't be a problem if Vue supports async/await when registering a plugin.
Maybe we can tweak the IsomorphicClerk class to fix this issue

Fixed It

I like the lighter package load/build ,  it does add a fair bit of complexity, now we need to figure out the SPA caching as well since its externally loaded.
I sent you a pull request to validate the change.
Like I said were are highly dependent on Clerk for our launch and will definitely exercise the hell out of this project.  We appreciate the project and are happy to contribute however we can on the project.

One request,  not sure what formatter your using for the project ,  but we have prettier installed and it's clobbering the project formatting ,  would be good to either add prettier params for preferred formatting or configuration to disable prettier , so its easier for code contribution.

One request, not sure what formatter your using for the project , but we have prettier installed and it's clobbering the project formatting , would be good to either add prettier params for preferred formatting or configuration to disable prettier , so its easier for code contribution.

I see. I just finished reviewing your PR and left a tiny request. Ignore the format request, I can run that for now on my end if it's causing issues on your setup

I left a question here btw. You can ignore that and answer here, then I'm ready to merge that PR! Will publish a new version rq after that


Frame-shift aware sequence-to-protein search?

In Diamond, I can query long-read assemblies against protein databases using the --long-reads flag, which basically allows for translated search (blastx) with frame-shift tolerance:
https://github.com/bbuchfink/diamond/blob/master/src/ChangeLog#L35
This is important, bc/ most long-read only assemblies contain a lot of indels, and hence frame shifts.
Is there something comparable in MMseqs2?
Thanks a lot,
Adrian

We currently do not have any frame shift aware alignment in MMseqs2. They are not easy implement within MMseqs2 at the moment.

Thanks for the quick reply.


redo(ticdc): read redo log by commitTs_startTs order

What problem does this PR solve?

Issue Number: close #5285
What is changed and how it works?

sorter redo log by commitTs_startTs order

Check List
Tests

Unit test

Code changes

Has exported function/method change

Release note
`None`.

/run-all-tests

/run-kafka-integration-tests
/run-integration-tests

/merge

/run-kafka-integration-tests
/run-integration-tests

@CharlesCheung96 this should be ready for you

Sent from Neat

@CharlesCheung96 have you had a chance to update this?

Sent from Neat


Make a CVAR to make the CP translucent/Non Solid

See title

Implemented. Will close ticket when I update the git.


Show error message when a URL reader cannot open the urls file

Fixes https://github.com/newsboat/newsboat/issues/439.
Follow-up on https://github.com/newsboat/newsboat/pull/882#pullrequestreview-391894876.

Coverage decreased (-0.06%) to 57.23% when pulling f5eadf48e19e2b683d7ce1c9fa63be278b62b254 on dennisschagt:bugfix/issue-439 into 637917fc93dbbbe93c8025071b13b13fdf65efd8 on newsboat:master.

Thanks! I'm falling asleep right now, but I'll review this within the next 12 hours.

Thank you for the review!


Support for reading ICC color profiles

This PR adds support for reading the ICC color profiles of images.
See also https://github.com/amspath/libisyntax/issues/19.

Great, thank you!
Assuming we would be only interested in the ICC profile of the WSI, maybe it might be handy to omit the isyntax_image_t* parameter from the API? (In a similar way that libisyntax_read_label_image_jpeg() and libisyntax_read_macro_image_jpeg() omit this parameter)
Note that the macro/label images can also have their own ICC profile, but right now the API only has libisyntax_get_wsi_image_index() to get the index for the WSI isyntax_image_t, and no equivalent for the label and macro images.

I think it misses writing the ICC profile as well in isyntax-to-tiff right?

I think it misses writing the ICC profile as well in isyntax-to-tiff right?

Yeah, that is not implemented.

So to use it I suppose I need the isyntax_image_t.base64_encoded_icc_profile_len? Or how does it work? Perhaps an example be added to isyntax_example.c? I could implement it for the tiff writer (#36)


[BUG] - Sending transaction fails with cryptic message.

Internal/External
External
Area
*Stake Pool registration *
Summary
When trying to register my stake pool with the following transaction:
{
"type": "TxSignedShelley",
"description": "",
"cborHex": "83a50081825820ccf1fe3a6b850766766d01382e492fac611bbe5d2472ddc122636f9b7b79809f0001818258390195b68f533b5ec512902957b6ff826601afb02cc89fb3528c60524d673548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f11b00000274f10d08aa021a0002fe49031a01006f2b04828a03581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e9307258207cb1243cb9cdba55055a13890dbe4572ebc4434633dd919ec46f687fe4c6d0ae1a05f5e1001a14904840d81e82031864581de13548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f181581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f182840019177044ac68cd1ff68400191770448ba26f07f68272687474703a2f2f34352e33332e32342e32355820c714379a51921498af707e278563acc8d0fb5f125e7ba0e2c75c7f6abc53cc3783028200581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f1581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e93072a100838258208b784257f3e35238ef48534053028a3915536a99ef670dec1ad489834e32f13c58404a73ccf0c5b5c1298e5f0b489f1237b72025a25b2733c9a73aa3c48163379c6f32a192fe27ab68408dcd86c466d82bfac54ed2e52e665edb001de3173925540f8258208ef99e7c39c3815640701e42eab2ad99bd5e10a3aeefab1b184d23ed15cf0cfc58400a7746305a2a63c6c5c91e235cf85a4eecc25b0c23677f42c9bd7423c31672fe0396627a9a8f381fe39dfea13f5d3cb95b695c54dcaeff6c6e02f0b55669010982582011d5c2b678d0802275fe9b9ce0b3f249c49fe25b7f2fe14a1fa202b982bfe46a584047630e58587357090176a50ff83cbc3dff062b5d7255083f64789ea9a28b5f70fd3323b5fb7511c7a58e5a0438a0ce8c884397adbc71d5eda6d58ded4dddea0bf6"
}
using the following command:
cardano-cli transaction submit     --tx-file tx.signed     --mainnet
the following error arises:
Shelley command failed: transaction submit  Error: Error while submitting tx: ApplyTxError [LedgerFailure (DelegsFailure (DelplFailure (DelegFailure (StakeDelegationImpossibleDELEG (KeyHashObj (KeyHash "3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f1"))))))]
Expected behavior
A new stake pool is registered on the blockchain.
System info:

OS: NixOS
Version 20.09.2290.647cc06986c (Nightingale)
Node version cardano-node 1.24.2 - linux-x86_64 - ghc-8.10

Thats not "cryptic", you have to take care about the order in your build-raw process. First you have to create the pool, after that you have to include the owner delegations to it. Order counts on the parameters when doing the build-raw.

Well, I'd think "cryptic" is a rather subjective adjective. In any case, I did create a pool registration certificate and then a delegation certificate. They look like this:
pool.cert
{
"type": "CertificateShelley",
"description": "Stake Pool Registration Certificate",
"cborHex": "8a03581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e9307258207cb1243cb9cdba55055a13890dbe4572ebc4434633dd919ec46f687fe4c6d0ae1b00000274a48a78001a14904840d81e82031864581de13548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f181581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f182840019177044ac68cd1ff68400191770448ba26f07f68272687474703a2f2f34352e33332e32342e32355820c714379a51921498af707e278563acc8d0fb5f125e7ba0e2c75c7f6abc53cc37"
}
deleg.cert
{
"type": "CertificateShelley",
"description": "Stake Address Delegation Certificate",
"cborHex": "83028200581c3548a5237eb4a88ed526886a89cefeed87a84c321f8bb9d195e763f1581ca2bb2d1201dcb9a68091c6f8ac1ec9b453167189a0795ccce1e93072"
}
Not sure what to try now...

Have you regitered the StakeKey on the Chain before you try to delegate it to your pool?

Yes, my stakekey is already registred on the chain.

@diegueins680 can you paste all the exact commands you used?

I used this tutorial:
https://www.coincashew.com/coins/overview-ada/guide-how-to-build-a-haskell-stakepool-node#10-setup-payment-and-stake-keys

@diegueins680  what version of cardano-cli are you running?

I believe this all happened because I was trying to use a ticker I had registered during the ITN.

I believe this all happened because I was trying to use a ticker I had registered during the ITN.

Ticker is not something stored on-chain, so this was probably a different problem.

Ticker is not something stored on-chain, so this was probably a different problem.


Enable date

How to add enabledDates feature in place of disabledDatesin jquery code??

Sorry @feldmarv
I be late for checking the issue.
I think i could answer the issue at tonight 😄

I need more specific details.
When you use enabledDates disabledDates either,
What is your expected scenario?
(ex: enabledDates must be overrided disabledDates.)

This issue will be closed tomorrow.
If you have other issues, Please create a new issue 🍺


How to get quads sorted by their predicate

Consider following quads:
"A" "age" "25" ""
"B" "age" "15" ""
"C" "age" "50" ""
"D" "age" "40" ""

How could I iterate over these quads sorted by age (Embedded API)?

@yaa110 There is no support for sorting right now. I think all backends supports this, but it's not implemented in the Cayley API. The only way for now is to do sort client-side, which is not so great, I assume.


[Calendly Share Meeting Links] Increase Number Of Fetched Event Types

Description
The default limit for event types that are fetched from this endpoint is 20, this increases the limit to 100.
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

I approve this change


Cannot view token on exchange

I just created a TokenTrader contract and CryptoDerivatives is now picking it up.
It's called The Most Private Coin Ever.
I see that because the symbol is "???" it is not allowing a click-through since I'm assuming the URL cannot parse it correctly.
Here's the link: https://cryptoderivatives.market/token/???

I'll try to fix this over the next few days.

Cool, thank you!

You can view the page at https://cryptoderivatives.market/token/%3F%3F%3F but the API isn't encoding the "?" either, so it's still not returning the data which you can get manually at https://cryptoderivatives.market/api/token/%3F%3F%3F

I've renamed the symbol to "PRIVATE" so it should now work.


Warning! phrase-based model vocabularies are now different from lexical model vocabularies.

It appears to happen when there are a lot of get word graphs and a few trains:
2024-10-01 23:43:30
{"log":"Warning! phrase-based model vocabularies are now different from lexical model vocabularies.\n","stream":"stderr","time":"2024-10-02T03:43:30.677122153Z"}
2024-10-01 23:43:30
{"log":"Warning! phrase-based model vocabularies are now different from lexical model vocabularies.\n","stream":"stderr","time":"2024-10-02T03:43:30.677113643Z"}
2024-10-01 23:43:30
{"log":"Warning! phrase-based model vocabularies are now different from lexical model vocabularies.\n","stream":"stderr","time":"2024-10-02T03:43:30.677064168Z"}
2024-10-01 23:42:48
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:42:46.065731712Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:42:46
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:42:26.782587856Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:42:27
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:42:08.251130903Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:42:09
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:42:07.784591941Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:42:08
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:42:04.68842351Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:42:05
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:42:04.441732675Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:42:05
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:41:48.257841234Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:41:49
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:41:40.446429763Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:41:41
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:41:30.164171281Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:41:30
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:40:32.77032131Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:40:33
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:39:39.581977747Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:39:40
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:38:57.585376561Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:58
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:38:46.285474743Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:47
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Trained segment pair for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:38:45.443995883Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:46
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:38:23.597854677Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:45
{"log":"Warning! phrase-based model vocabularies are now different from lexical model vocabularies.\n","stream":"stderr","time":"2024-10-02T03:38:22.645678887Z"}
2024-10-01 23:38:24
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Trained segment pair for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:38:22.673247098Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:23
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:38:10.071637977Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:23
{"log":"info: Serval.Machine.Shared.Services.ClearMLAuthenticationService[0]\n      ClearML Authentication Token Refresh Successful.\n","stream":"stdout","time":"2024-10-02T03:38:01.354824092Z","type":"info","source":"Serval.Machine.Shared.Services.ClearMLAuthenticationService"}
2024-10-01 23:38:22
{"log":"Warning! phrase-based model vocabularies are now different from lexical model vocabularies.\n","stream":"stderr","time":"2024-10-02T03:38:22.645633643Z"}
2024-10-01 23:38:10
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:37:56.767955145Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:38:01
{"log":"Warning! phrase-based model vocabularies are now different from lexical model vocabularies.\n","stream":"stderr","time":"2024-10-02T03:37:06.37522718Z"}
2024-10-01 23:37:57
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bc2c59ec21e6eb9f9ae91c\n","stream":"stdout","time":"2024-10-02T03:37:54.862996674Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:37:55
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:37:50.677922355Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:37:51
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:37:42.061922543Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}
2024-10-01 23:37:42
{"log":"info: Serval.Translation.Controllers.TranslationEnginesController[0]\n      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7\n","stream":"stdout","time":"2024-10-02T03:37:32.483666598Z","type":"info","source":"Serval.Translation.Controllers.TranslationEnginesController"}

This makes me concerned that access to the model isn't being synchronized properly. Are we getting any expired locks errors?

Here is the context for the first error:
2024-09-29 21:59:14
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7
2024-09-29 21:58:42
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7
2024-09-29 21:58:16
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7
2024-09-29 21:57:39
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7
2024-09-29 21:57:29
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Trained segment pair for engine 66bcbbd6ec21e6eb9f9ae9e7
2024-09-29 21:57:28
machine-engine <> Warning! phrase-based model vocabularies are now different from lexical model vocabularies.
2024-09-29 21:50:00
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7
2024-09-29 21:48:32
serval-api <info> info: Serval.Translation.Controllers.TranslationEnginesController[0]
      Got word graph for engine 66bcbbd6ec21e6eb9f9ae9e7

Let's kick the can unless it shows back up again.


feat(randomness): Adding randomness interval inside pod-delete experiment

Signed-off-by: shubhamchaudhary<EMAIL_ADDRESS>
Adding randomness interval inside pod-delete experiment
It accepts a lower and an upper bound for the chaos-interval separated by hyphens -. If only a single value is provided i.e 10 then it will consider the given value as upper bound and 0 as lower bound.
It will wait for the random time interval in each iteration of the chaos

Test1 { duration: 60s, interval: 10s, randomness: true}
time="2021-03-24T17:12:19Z" level=info msg="Experiment Name: pod-delete"
time="2021-03-24T17:12:19Z" level=info msg="[PreReq]: Getting the ENV for the  experiment"
time="2021-03-24T17:12:19Z" level=info msg="[PreReq]: Updating the chaos result of pod-delete experiment (SOT)"
time="2021-03-24T17:12:19Z" level=info msg="The application information is as follows" Ramp Time=0 Namespace=nginx Label="run=nginx"
time="2021-03-24T17:12:19Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (pre-chaos)"
time="2021-03-24T17:12:19Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:12:19Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-tx2mc
time="2021-03-24T17:12:19Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-tx2mc Status=Running
time="2021-03-24T17:12:21Z" level=info msg="[Probe]: The cmd probe information is as follows" Source=inline Run Properties="{10 5 1 2 0}" Mode=SOT Phase=PreChaos Name=cmd-probe Command="echo 8" Comparator="{int == 8}"
time="2021-03-24T17:12:21Z" level=info msg="[Probe]: {Actual value: 8}, {Expected value: 8}, {Operator: ==}"
time="2021-03-24T17:12:26Z" level=info msg="[Probe]: cmd-probe probe has been Passed 😄 " ProbeName=cmd-probe ProbeType=cmdProbe ProbeInstance=PreChaos ProbeStatus=Passed
time="2021-03-24T17:12:26Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:12:26Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:12:26Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-tx2mc]"
time="2021-03-24T17:12:26Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-tx2mc
time="2021-03-24T17:12:26Z" level=info msg="[Wait]: Wait for the random chaos interval 5s"
time="2021-03-24T17:12:31Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:12:31Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:12:31Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-xmdl4
time="2021-03-24T17:12:33Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:12:33Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-xmdl4 Status=Running
time="2021-03-24T17:12:35Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:12:35Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:12:35Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-xmdl4]"
time="2021-03-24T17:12:35Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-xmdl4
time="2021-03-24T17:12:35Z" level=info msg="[Wait]: Wait for the random chaos interval 6s"
time="2021-03-24T17:12:41Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:12:41Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:12:41Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-ncxsp Readiness=true
time="2021-03-24T17:12:43Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:12:43Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-ncxsp Status=Running
time="2021-03-24T17:12:45Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:12:45Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:12:45Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-ncxsp]"
time="2021-03-24T17:12:45Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-ncxsp
time="2021-03-24T17:12:45Z" level=info msg="[Wait]: Wait for the random chaos interval 7s"
time="2021-03-24T17:12:52Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:12:52Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:12:52Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-btffn Readiness=true
time="2021-03-24T17:12:54Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:12:54Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-btffn Status=Running
time="2021-03-24T17:12:56Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:12:56Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:12:56Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-btffn]"
time="2021-03-24T17:12:56Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-btffn
time="2021-03-24T17:12:56Z" level=info msg="[Wait]: Wait for the random chaos interval 8s"
time="2021-03-24T17:13:04Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:13:04Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:13:05Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-jrq5n Readiness=true
time="2021-03-24T17:13:07Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:13:07Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-jrq5n Status=Running
time="2021-03-24T17:13:09Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:13:09Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:13:09Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-jrq5n]"
time="2021-03-24T17:13:09Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-jrq5n
time="2021-03-24T17:13:09Z" level=info msg="[Wait]: Wait for the random chaos interval 5s"
time="2021-03-24T17:13:14Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:13:14Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:13:14Z" level=info msg="[Status]: The Container status are as follows" Pod=nginx-76df748b9-7bpk9 Readiness=true container=nginx
time="2021-03-24T17:13:16Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:13:16Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-7bpk9
time="2021-03-24T17:13:18Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:13:18Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:13:18Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-7bpk9]"
time="2021-03-24T17:13:18Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-7bpk9
time="2021-03-24T17:13:18Z" level=info msg="[Wait]: Wait for the random chaos interval 1s"
time="2021-03-24T17:13:19Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:13:19Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:13:21Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-dldb4
time="2021-03-24T17:13:23Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:13:23Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-dldb4
time="2021-03-24T17:13:25Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:13:25Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:13:25Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-dldb4]"
time="2021-03-24T17:13:25Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-dldb4
time="2021-03-24T17:13:25Z" level=info msg="[Wait]: Wait for the random chaos interval 9s"
time="2021-03-24T17:13:34Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:13:34Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:13:34Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-4kdls Readiness=true
time="2021-03-24T17:13:36Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:13:36Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-4kdls
time="2021-03-24T17:13:38Z" level=info msg="[Chaos]: Time is up for experiment: pod-delete"
time="2021-03-24T17:13:38Z" level=info msg="[Completion]: pod-delete chaos is done"
time="2021-03-24T17:13:38Z" level=info msg="[Confirmation]: The application pod has been deleted successfully"
time="2021-03-24T17:13:38Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (post-chaos)"
time="2021-03-24T17:13:38Z" level=info msg="[Info]: chaos candidate of kind: deployment, name: nginx, namespace: nginx"
time="2021-03-24T17:13:38Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-4kdls Readiness=true
time="2021-03-24T17:13:38Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-4kdls Status=Running
time="2021-03-24T17:13:40Z" level=info msg="[The End]: Updating the chaos result of pod-delete experiment (EOT)"

test2 {duartion: 60s, interval 10-20s, randomness: true}
time="2021-03-24T17:18:42Z" level=info msg="Experiment Name: pod-delete"
time="2021-03-24T17:18:42Z" level=info msg="[PreReq]: Getting the ENV for the  experiment"
time="2021-03-24T17:18:42Z" level=info msg="[PreReq]: Updating the chaos result of pod-delete experiment (SOT)"
time="2021-03-24T17:18:42Z" level=info msg="The application information is as follows" Namespace=nginx Label="run=nginx" Ramp Time=0
time="2021-03-24T17:18:42Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (pre-chaos)"
time="2021-03-24T17:18:42Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:18:42Z" level=info msg="[Status]: The Container status are as follows" Pod=nginx-76df748b9-4kdls Readiness=true container=nginx
time="2021-03-24T17:18:44Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:18:44Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-4kdls
time="2021-03-24T17:18:46Z" level=info msg="[Probe]: The cmd probe information is as follows" Name=cmd-probe Command="echo 8" Comparator="{int == 8}" Source=inline Run Properties="{10 5 1 2 0}" Mode=SOT Phase=PreChaos
time="2021-03-24T17:18:46Z" level=info msg="[Probe]: {Actual value: 8}, {Expected value: 8}, {Operator: ==}"
time="2021-03-24T17:18:51Z" level=info msg="[Probe]: cmd-probe probe has been Passed 😄 " ProbeType=cmdProbe ProbeInstance=PreChaos ProbeStatus=Passed ProbeName=cmd-probe
time="2021-03-24T17:18:51Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:18:51Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-4kdls]"
time="2021-03-24T17:18:51Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-4kdls
time="2021-03-24T17:18:51Z" level=info msg="[Wait]: Wait for the random chaos interval 17s"
time="2021-03-24T17:19:08Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:19:08Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:19:08Z" level=info msg="[Status]: The Container status are as follows" Pod=nginx-76df748b9-lqtlk Readiness=true container=nginx
time="2021-03-24T17:19:10Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:19:10Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-lqtlk Status=Running
time="2021-03-24T17:19:12Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:19:12Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-lqtlk]"
time="2021-03-24T17:19:12Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-lqtlk
time="2021-03-24T17:19:12Z" level=info msg="[Wait]: Wait for the random chaos interval 11s"
time="2021-03-24T17:19:23Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:19:23Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:19:23Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-5rg4c
time="2021-03-24T17:19:25Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:19:25Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-5rg4c
time="2021-03-24T17:19:27Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:19:27Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-5rg4c]"
time="2021-03-24T17:19:27Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-5rg4c
time="2021-03-24T17:19:27Z" level=info msg="[Wait]: Wait for the random chaos interval 19s"
time="2021-03-24T17:19:46Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:19:46Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:19:46Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-bv549
time="2021-03-24T17:19:48Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:19:48Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-bv549 Status=Running
time="2021-03-24T17:19:50Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:19:50Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-bv549]"
time="2021-03-24T17:19:50Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-bv549
time="2021-03-24T17:19:50Z" level=info msg="[Wait]: Wait for the random chaos interval 16s"
time="2021-03-24T17:20:06Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:20:06Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:20:06Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-c8mgg
time="2021-03-24T17:20:08Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:20:08Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-c8mgg
time="2021-03-24T17:20:10Z" level=info msg="[Chaos]: Time is up for experiment: pod-delete"
time="2021-03-24T17:20:10Z" level=info msg="[Completion]: pod-delete chaos is done"
time="2021-03-24T17:20:10Z" level=info msg="[Confirmation]: The application pod has been deleted successfully"
time="2021-03-24T17:20:10Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (post-chaos)"
time="2021-03-24T17:20:10Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:20:10Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-c8mgg Readiness=true
time="2021-03-24T17:20:12Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:20:12Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-c8mgg
time="2021-03-24T17:20:14Z" level=info msg="[The End]: Updating the chaos result of pod-delete experiment (EOT)"

test3 {duration: 60s, interval: 10s, randomness: false}
time="2021-03-24T17:21:05Z" level=info msg="Experiment Name: pod-delete"
time="2021-03-24T17:21:05Z" level=info msg="[PreReq]: Getting the ENV for the  experiment"
time="2021-03-24T17:21:05Z" level=info msg="[PreReq]: Updating the chaos result of pod-delete experiment (SOT)"
time="2021-03-24T17:21:05Z" level=info msg="The application information is as follows" Namespace=nginx Label="run=nginx" Ramp Time=0
time="2021-03-24T17:21:05Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (pre-chaos)"
time="2021-03-24T17:21:05Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:21:05Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-c8mgg Readiness=true
time="2021-03-24T17:21:07Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:21:07Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-c8mgg Status=Running
time="2021-03-24T17:21:09Z" level=info msg="[Probe]: The cmd probe information is as follows" Phase=PreChaos Name=cmd-probe Command="echo 8" Comparator="{int == 8}" Source=inline Run Properties="{10 5 1 2 0}" Mode=SOT
time="2021-03-24T17:21:09Z" level=info msg="[Probe]: {Actual value: 8}, {Expected value: 8}, {Operator: ==}"
time="2021-03-24T17:21:14Z" level=info msg="[Probe]: cmd-probe probe has been Passed 😄 " ProbeStatus=Passed ProbeName=cmd-probe ProbeType=cmdProbe ProbeInstance=PreChaos
time="2021-03-24T17:21:14Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:21:14Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-c8mgg]"
time="2021-03-24T17:21:14Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-c8mgg
time="2021-03-24T17:21:14Z" level=info msg="[Wait]: Wait for the chaos interval 10s"
time="2021-03-24T17:21:24Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:21:24Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:21:24Z" level=info msg="[Status]: The Container status are as follows" Pod=nginx-76df748b9-v5zdr Readiness=true container=nginx
time="2021-03-24T17:21:26Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:21:26Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-v5zdr Status=Running
time="2021-03-24T17:21:28Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:21:28Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-v5zdr]"
time="2021-03-24T17:21:28Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-v5zdr
time="2021-03-24T17:21:28Z" level=info msg="[Wait]: Wait for the chaos interval 10s"
time="2021-03-24T17:21:38Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:21:38Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:21:38Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-vt6bf Readiness=true
time="2021-03-24T17:21:40Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:21:40Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-vt6bf
time="2021-03-24T17:21:42Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:21:42Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-vt6bf]"
time="2021-03-24T17:21:42Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-vt6bf
time="2021-03-24T17:21:42Z" level=info msg="[Wait]: Wait for the chaos interval 10s"
time="2021-03-24T17:21:52Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:21:52Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:21:52Z" level=info msg="[Status]: The Container status are as follows" Readiness=true container=nginx Pod=nginx-76df748b9-t4njk
time="2021-03-24T17:21:54Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:21:54Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-t4njk Status=Running
time="2021-03-24T17:21:56Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:21:56Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-t4njk]"
time="2021-03-24T17:21:56Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-t4njk
time="2021-03-24T17:21:56Z" level=info msg="[Wait]: Wait for the chaos interval 10s"
time="2021-03-24T17:22:06Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:22:06Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:22:06Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-vq92h Readiness=true
time="2021-03-24T17:22:08Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:22:08Z" level=info msg="[Status]: The status of Pods are as follows" Status=Running Pod=nginx-76df748b9-vq92h
time="2021-03-24T17:22:10Z" level=info msg="[Chaos]:Number of pods targeted: 1"
time="2021-03-24T17:22:10Z" level=info msg="Target pods list for chaos, [nginx-76df748b9-vq92h]"
time="2021-03-24T17:22:10Z" level=info msg="[Info]: Killing the following pods" PodName=nginx-76df748b9-vq92h
time="2021-03-24T17:22:10Z" level=info msg="[Wait]: Wait for the chaos interval 10s"
time="2021-03-24T17:22:20Z" level=info msg="[Status]: Verification for the recreation of application pod"
time="2021-03-24T17:22:20Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:22:20Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-s7jlk Readiness=true
time="2021-03-24T17:22:22Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:22:22Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-s7jlk Status=Running
time="2021-03-24T17:22:24Z" level=info msg="[Chaos]: Time is up for experiment: pod-delete"
time="2021-03-24T17:22:24Z" level=info msg="[Completion]: pod-delete chaos is done"
time="2021-03-24T17:22:24Z" level=info msg="[Confirmation]: The application pod has been deleted successfully"
time="2021-03-24T17:22:24Z" level=info msg="[Status]: Verify that the AUT (Application Under Test) is running (post-chaos)"
time="2021-03-24T17:22:24Z" level=info msg="[Status]: Checking whether application containers are in ready state"
time="2021-03-24T17:22:24Z" level=info msg="[Status]: The Container status are as follows" container=nginx Pod=nginx-76df748b9-s7jlk Readiness=true
time="2021-03-24T17:22:26Z" level=info msg="[Status]: Checking whether application pods are in running state"
time="2021-03-24T17:22:26Z" level=info msg="[Status]: The status of Pods are as follows" Pod=nginx-76df748b9-s7jlk Status=Running
time="2021-03-24T17:22:28Z" level=info msg="[The End]: Updating the chaos result of pod-delete experiment (EOT)"


Corrected vertical vein for Electrotine.

I fixed redstone's vertical veins, but I neglected to do the same with Project Red's electrotine.  Electrotine is now fixed.

On a side note, I can now confidently say that the generator no longer inserts random seeds or wireframes for the supplied configurations. :)


Multiselect list not display on various Browsers

Hi,
Multiselect list not displayed on Mac Firefox 118, safari, chrome iOS,  safari iOS
With Mac Chrome it's ok
It looks that is a problem with list height calculation. If I set height: to fixed value in the inspector and the list appears properly.
Regards

Working on a fix.
Hang tight.

How is it going with this. Expressing the same issue.

+1