Problems to connect to MQTT-Broker

I tried to connect to my MQTT-Broker, it connects, but it still get no informations:
[08:03:24.373] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge state. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:24.373] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge info. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:24.373] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge devices/groups. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:24.374] [Matterbridge] Failed to start plugin matterbridge-zigbee2mqtt: Error: The plugin did not receive zigbee2mqtt bridge state or info or devices/groups. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:25.210] [Matterbridge] The plugin matterbridge-zigbee2mqtt is in error state.
[08:03:25.211] [Matterbridge] The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.
[08:03:25.212] [Matterbridge] If you want to start the bridge disable the plugin in error state and restart.
[08:04:09.369] [Zigbee2MQTT] Error connecting to mqtt://<IP_ADDRESS>:1025: connack timeout
[08:04:09.370] [Matterbridge zigbee2mqtt plugin] MQTT broker at <IP_ADDRESS>:1025 error: Error: connack timeout Error: connack timeout
    at Timeout._onTimeout (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:310:32)

My configuration:
{
  "name": "matterbridge-zigbee2mqtt",
  "type": "DynamicPlatform",
  "host": "<IP_ADDRESS>",
  "username": "",
  "password": "",
  "port": 1025,
  "topic": "zigbee2mqtt",
  "blackList": [],
  "whiteList": [],
  "switchList": [],
  "lightList": [],
  "outletList": [],
  "featureBlackList": [],
  "deviceFeatureBlackList": {},
  "debug": false,
  "unregisterOnShutdown": false
}

My Zigbee2MQTT-Configuration:
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://<IP_ADDRESS>:1025
  keepalive: 60
  reject_unauthorized: false
  version: 4
  include_device_information: true

The Broker isn't running on the same PI as the Matterbridge. Zigbee2MQTT and Matterbridge including the matterbridge-zigbee2mqtt Plugin are running on the same PI as zigbee2MQTT.
Any idea to fix this?
Thanks in advance
Burkhard

Hi,
check if <IP_ADDRESS> is the correct address of your PI,

check the port cause 1025 is not standard. It is usually 1883 for MQTT broker.

Sorry, I was on traveling, So I can't answer. Is it possible, that you have fixed the minimum MQTT-Protokoll version to 5?
Our MQTT-server on Symcon accept only up to version 4 of MQTT. Will it be possible to make the MQTT-protokoll V changeable?
THanks and greetz
Burkhard


config json files

Added information about the use of json files for configuration
I am not sure if I put it in the right place though

Thanks for the contribution!


[libssh2] Update to 1.10.0

Describe the pull request

What does your PR fix?
Updates libssh2 to 1.10.0

Which triplets are supported/not supported? Have you updated the CI baseline?
As before, Yes

Does your PR follow the maintainer guide?

Yes

Closing since there is already an open PR: https://github.com/microsoft/vcpkg/pull/20067/

@chausner, can you continue to update libssh2 to 1.10.0? I reverted the changes to libssh2, because some fixes are unreasonable, if you can continue to open this pr I will be very happy .

@JonLiu1993 Sure, I reopened the MR and fixed some outstanding issues.
One thing I am not sure about is vcpkg build validation errors related to the DLL not having any exports and no import library getting built when I migrated to the new way of including CMake commands (vcpkg-cmake and vcpkg-cmake-config dependencies). Only after reverting this change (0fe70113b3b55579fafb0c0b0da3fcaf95377f91) it works again.
So it seems vcpkg_configure_cmake is not equivalent to vcpkg_cmake_configure? Do you know what needs to be changed to make it work with the new commands?

Thanks for the version update!


"make all" does not work

I installed go 1.8.3 into $HOME/go, added this to my .bashrc:
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin

cloned the repo and make all gives me:
mkdir -p bin/linux/
GOOS=linux GOARCH=amd64 go build -ldflags "-X github.com/aaronlevy/kube-controller-demo/common.Version=b1ef16ef4d572ea4496502d0520c64e2565e068f" -o bin/linux/r
eboot-agent github.com/aaronlevy/kube-controller-demo/reboot-agent
can't load package: package github.com/aaronlevy/kube-controller-demo/reboot-agent: cannot find package "github.com/aaronlevy/kube-controller-demo/reboot-agent
" in any of:
        /home/thk/go/src/github.com/aaronlevy/kube-controller-demo/reboot-agent (from $GOROOT)
        ($GOPATH not set. For more details see: 'go help gopath')
Makefile:27: recipe for target 'bin/linux/reboot-agent' failed
make: *** [bin/linux/reboot-agent] Error 1

You have to clone it to proper folder.
in your case it should be cloned to /home/thk/go/src/github.com/aaronlevy/kube-controller-demo


Issue/failing generator test

It resolves #57 with some additional refactoring.

Nice one! Thanks for the PR.


expected error  message is ignored

node version: 18.13.0
yarn version: 3.3.0

Relevant code or config:
cy.findByRole('textbox', { name: /name/ }).should('have.errorMessage', 'This is a required field');

What you did:
expected for the wrong error message:
cy.findByRole('textbox', { name: /name/ }).should('have.errorMessage', 'wrong error message');

What happened:
whatever expected error message I pass, the test is passing - expected error message is totally ignored.

@mammadataei Is this package still maintained?

@ItaiYosephi It is fixed in #31 but it's not released yet. I just need to update some configurations, add a release workflow, and release a new version.

@mammadataei Hi, any updates on the new release?


New variable scope for inheritance through sub-flows.

It'd be good if we could have some method to allow sub flows to inherit instance variables from calling workflows. Need to brainstorm this.

In the recent update variable references were split apart from their contents. This means we can have multiple different variables refer to the same data. We just need to figure out what works as a design pattern. We want something simple and non-intrusive if possible, but we also don't want to create weird security issues where data can be accidentally leaked between workflows.
What if we add a new "scope" for variables, somewhere between "namespace" and "instance". I'll call it "thread" for now (looking for a better name). When a subflow is created, all thread-scoped variables are copied (by reference) from the parent to the child.
I am unsure whether the copy should also be thread-scoped so that it will automatically be passed down to subflows of subflows. I think that's probably the way to do it. Are there any concerns with this approach?
@jensg-st

I've pushed a branch issue_164 that addresses this. It is still under development, not ready for a pull request.

Preliminary testing suggests that this branch works as intended. More testing is always worthwhile. The other thing current lacking is updates to our documentation.

Recently merged into main.


csgraph.min_weight_full_bipartite_matching restricted to full matches?

I have some data which doesn't permit full matching. If I convert it to dense and solve using scipy.optimize.linear_sum_assignment I can get a (non-full) solution.
Is it possible to remove this limitation of the csgraph solver? Why is that limitation there currently? I'm trying to expand to problem sizes which wouldn't be solvable using dense representations.

@fuglede perhaps you could comment?

Without assuming fullness, you will generally not get anything useful: If all weights are positive (which is probably the common case), then the minimum weight bipartite matching is the empty one.
In particular, this is no different from what is happening in linear_sum_assignment; indeed, you can use either as a replacement of the other, and if there is an example for which the two provide different results, then that's a bug.
You mention that you "convert it to dense"; I wonder if you may have accidentally mapped missing edges to zero-cost edges in that process, and that's why you're seeing a difference? If not, would you be able share the example you have in mind?

If all weights are positive (which is probably the common case), then the minimum weight bipartite matching is the empty one.

Understood -- however we can transform the edge weights and pose it as a maximisation.

I wonder if you may have accidentally mapped missing edges to zero-cost edges

I can't give a definite answer right now, but I have taken a lot of care to remove all zero cost edges in the problem I am working on.
If I may, I'd like to give the following (carefully constructed, to illustrate the point) example:
import scipy.sparse.csgraph
import scipy.optimize

d = [0.1, 0.2, 0.3, 0.4, 0.4, 0.3, 0.2, 0.1]
r = [0, 1, 2, 3, 4, 4, 4, 4]
c = [0, 0, 0, 0, 1, 2, 3, 4]
G = scipy.sparse.coo_matrix((d, (r, c)))

# number of connections we can make
print(sum(scipy.sparse.csgraph.maximum_bipartite_matching(G) > -1))

# illustrate the refusal to solve
try:
    scipy.sparse.csgraph.min_weight_full_bipartite_matching(G, maximize=True)
except ValueError:
    print("Sparse solver won't give a solution")

ridx, cidx = scipy.optimize.linear_sum_assignment(G.todense(), maximize=True)

# show the edge weights
G.todense()[ridx, cidx]

# show we have two candidate edges
(G.todense()[ridx, cidx] > 0).sum()

I apologise I didn't mention I was working with maximisation, but I'm sure you also appreciate that there isn't much separating the two conceptually (they're equivalent under some transformations).

In your example, G.dense() becomes the complete graph, in which most edges have weight zero. In particular, in the output of linear_sum_assignment(G.todense(), maximize=True), you will find that it has picked several non-existent edges.
If, instead, you use -np.inf (negative since we're maximizing), you'll find that it hits the same infeasibility check as its csgraph partner:
In [11]: dense = np.full(G.shape, -np.inf)
    ...: dense[G.row, G.col] = G.data

In [12]: scipy.optimize.linear_sum_assignment(dense, maximize=True)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-8080a5287755> in <module>
----> 1 scipy.optimize.linear_sum_assignment(dense, maximize=True)

c:\users\sorfj\miniconda3\lib\site-packages\scipy\optimize\_lsap.py in linear_sum_assignment(cost_matrix, maximize)
    103         return (b[indices], a[indices])
    104     else:
--> 105         return _lsap_module.calculate_assignment(cost_matrix)

ValueError: cost matrix is infeasible

Ignoring all the problems with the response here, I think the answer to the question as posed is "no", is that correct?

@yaxxie yes, that is the short answer :)
linear_sum_assignment does not support non-full matches either - it raises an exception if a full solution cannot be found.

Thanks @fuglede for the time and responses.

But just to make sure, what you were looking for is the maximum weight bipartite matching with the constraint that its cardinality should be the cardinality of a maximum bipartite matching? Because certainly that's not as trivial as I had in mind when I tried to describe what happens when you drop the fullness constraint altogether.
A more general problem is what is referred to in e.g. Ramshaw, Tarjan -- On Minimum-Cost Assignments in Unbalanced Bipartite Graphs as the "imperfect assignment problem", which is about finding the maximum weight bipartite matching among all matchings of a given target size t; the special case in which t is the cardinality of a maximum bipartite matching falls into the case described in Section 1.3 of that paper, and can be solved through the doubling procedure described there as well. That would be straightforward enough to build on top of either of the existing two methods (although ine thing I don't immediately get is why they wouldn't need a cost of something like -4rC on the large-to-large linking edges), so that's absolutely something worth considering.

But just to make sure, what you were looking for is the maximum weight bipartite matching among all bipartite matchings whose cardinality is the cardinality of a maximum bipartite matching?

Probably closer actually to the relaxation where we want a target size t (would that be exactly the target size or between t and the maximum cardinality?).
As the dicussion had evolved I realised that this is potentially a more research grade issue than I had anticipated. Thank you for sharing that report.
What form exactly of the more general problem do you think might be possible to build on top of the existing methods?

The other thing worth noting is that the example I shared was a graph with two connected components -- forming the problem properly would result in an infeasible solution, but solving for each connected component would work as expected, I think.

Probably closer actually to the relaxation where we want a target size t (would that be exactly the target size or between t and the maximum cardinality?).

It would be the exact size. (With the only notational caveat being that they allow t to exceed the largest cardinality, in which case they refer to the largest cardinality.)

What form exactly of the more general problem do you think might be possible to build on top of the existing methods?

Just going by what's in the paper, only the maximum cardinality case: Let r be the cardinality of the smaller partition in a bipartite graph G, let C denote the largest absolute value of the weights, and let ν(G) be the cardinality of a maximum bipartite matching. Then the prescription in Section 1.3 is simplest when t = ν(G). Here, the problem amounts to replacing the biadjacency matrix A (with r rows) with something like the block matrix [[A, 4rC Id], [0, A.T]] which does have a perfect matching.
They do assume that the starting point is just a "good" algorithm for dealing with the case in which both partitions have the same cardinality, and since none of the two SciPy implementations are restricted to that case, perhaps it's possible to do even better.

And yes, you're right, in your case you would also get the same result by considering each connected component. And in general, if you can assume that each connected component does have a full matching, then that's a simpler problem.

Do you think there's an appetite to have the algorithm described above or a variant as a non-full matcher in scipy csgraph/optimize? A user can in fact construct the structure themselves but it would be a useful convenience.

Just for the maximum matching case, you mean? I imagine it would help that it's only a few lines of code (a few more for the sparse case) so it wouldn't become much of a maintenance burden. Hardest part would be coming up with a name that's better than minimum_weight_maximum_bipartite_matching. :)

I have reopened this issue. It seems I closed it prematurely - apologies :)

Just for the maximum matching case, you mean?

Yes indeed, that probably fills most use cases above and beyond perfect matching.

Hardest part would be coming up with a name that's better than minimum_weight_maximum_bipartite_matching

😅

@fuglede I tried to hack this atop the csgraph implementation using eps as the zeros, and it worked ok for small test cases I wrote up, but when I tried to run it with my real data it ended up falling into infinite loop. I presume this is some of the extra complexity with modifying the underlying solver that is required to support this? Is any work underway for this?

@yalwan-sage Sounds good that this is still going!

Using eps to avoid zeros being eliminated during conversion between types, you mean? The algorithm does play well with explicit zeros, so with a bit of care, it should be possible to avoid epsilons.
Infinite loop sounds spooky; I'd expect the solver to always terminate, even if in an error if something went wrong. Would you be able to provide an example reproducing that behavior? It might prove to be a useful unit test. And useful to compare behavior with `linear_sum_assignment´, if the example isn't so large that it's impractical.

The algorithm does play well with explicit zeros, so with a bit of care, it should be possible to avoid epsilons.

I added the epsilons because of the eliminate zeros call in the solver -- I wasn't fancying recompiling scipy with this line removed.
I'll get back to you on providing a repro

Zero weights can be handled by adding a constant to all weights, so that the resulting matrix contains no zeros.

I'll try again following this guidance.

Ah, right, my bad regarding the explicit zeros; I was certain those were explicitly supported, but that's clearly not the case. Regardless of how you approach it, a reproducing example with epsilons could also be useful.
One thing to bear in mind is that in using what's efficiently rational numbers with very large denominators (as an epsilon would be), than can have an impact on augmenting path-style algorithms like both the one in sparse.csgraph and optimize; for example, Edmonds--Karp with rational weights has unbounded complexity. If that's what you're running into, then adding a "nice" constant (depending on your problem, something like 1), might be enough.

Sorry for little in the way of updates
I have managed to get the scheme to solve when I quantise my weights (before augmenting the graph) -- it seems like it may in fact be related to the unbounded complexity with rational weights issue. I will try to see if I can distill this down to a small example.

I haven't been able to find a small-ish reproducing example, but I'd like to share the implementation I've used for the augmenting form with dummy links, in case you find it useful and would want to incorporate a variant of it into scipy itself. The quantisation isn't incorporated because that's an issue of our specific problem rather than the general implementation.
def minimum_weight_nonfull_matching(bigraph, maximise):

    rows, cols = bigraph.shape

    maxval = numpy.max(numpy.abs(bigraph))
    sentinel_value = 4 * maxval * rows  # TODO: find out if its unconditionally rows or min/max of the two sets
    if maximise:
        sentinel_value = -sentinel_value

    # DO NOT CALL `eliminate_zeros()` on this matrix
    upper_right_indices = numpy.arange(rows)
    upper_right_diag = scipy.sparse.coo_matrix((numpy.zeros(rows), (upper_right_indices, upper_right_indices)))

    lower_left_indices = numpy.arange(cols)
    lower_left_diag = scipy.sparse.coo_matrix(
        (numpy.zeros(cols) + sentinel_value, (lower_left_indices, lower_left_indices))
    )

    # DO NOT CALL `eliminate_zeros()` on this matrix
    new_bigraph = scipy.sparse.bmat(
        [[bigraph, upper_right_diag], [lower_left_diag, bigraph.T]],
        format="csr",  # might as well put it to CSR here, save a conversion
    )

    # this step eliminates zeros from the formulation for use with the solver
    new_bigraph.data = new_bigraph.data - numpy.min(new_bigraph.data) + 1

    # Make sure that we have the right number of elements present in fact
    assert new_bigraph.nnz == (bigraph.nnz * 2 + rows + cols)

    # solve the augmented formulation
    row_idx, col_idx = scipy.sparse.csgraph.min_weight_full_bipartite_matching(new_bigraph, maximize=maximise)

    # now pull out the subset of indices (cause dummy links are unneeded)
    # The summary here is that -1's are unassigned nodes and
    # anything from the row connected to bigger than an original colnode is a dummy link
    # and anything from the col connected to bigger than an original rownode is a dummy link
    selector = (row_idx > -1) & (row_idx < rows) & (col_idx > -1) & (col_idx < cols)
    row_idx = row_idx[selector]
    col_idx = col_idx[selector]

    return row_idx, col_idx

Another related reduction that came up in https://github.com/networkx/networkx/discussions/4683 is that from the minimum weight matching where you make no assumptions at all on the size of the matching and you just want the best one overall. This can be achieved like the above by just using zeros as weights on all new edges in the doubled graph.

A possible API for those options could be
min_weight_bipartite_matching(...)
min_weight_maximum_bipartite_matching(...)
min_weight_full_bipartite_matching(...)

or as a target_size method parameter
min_weight_bipartite_matching(biadjacency_matrix, maximize=False, target_size='any')

with allowed values of target_size being {'any', 'maximum', 'full'} respectively. Main downside of the latter approach is that we would need a deprecation cycle to get rid of min_weight_full_bipartite_matching. An advantage would be being able to extend with target_size being an arbitrary integer. And avoiding the long names.
The only tricky part, as I see it, is handling the same issue we're talking about here: What to do with explicit zeros. For 'maximum' and 'full' we can push the problem to the user like we're doing now, but for 'any', i.e. the case where there is no constraint on the cardinality of the matching, we do need to do something as one needs to put a cost on adding an additional edge to the matching, so we can not simply offset the entire matrix. Moreover, 0 is the only sensible default cost. To me, this all suggests adding min_weight_bipartite_matching and taking care to handle explicit zeros even in the target_size='full' case, then deprecate min_weight_full_bipartite_matching if we feel its presence adds too much duplication.

Is there any technical reason why we can't always do the bound-bumping regardless of methodology?
(referring to this:
new_bigraph.data = new_bigraph.data - numpy.min(new_bigraph.data) + 1

)
If we're concerned that users have accidentally left in zeros they don't mean to you could do something like send a warning which can be disabled by a flag to the function which is basically "yes, i did mean to have zeros in here"? Or is there something else wider than this?

No, you're right, the main complication is in ensuring we don't accidentally eliminate zeros, and that you've already taken care of. In fact, with all of that in place, and note that the underlying _lapjvsp is completely happy with explicit zeros, at the end of the day, it's not too much work to support explicit zeros at all.
If we were to introduce min_weight_bipartite_matching(target_size='full'), would it be very confusing if it supported explicit zeros when the existing one doesn't? Otherwise that might be a way to go. Then, if relevant, deprecate the old one (at the expense of users having to explicitly call eliminate_zeros if that's an actual use case).
We do have a warning in place already now (but it can't be toggled, outside of filterwarnings anyway).

it's not too much work to support explicit zeros without artificially translating the entries at all.

Right but I think some of the docs mentioned issues handling zeros when converting between sparse representations. Is it worth keeping some caution around this?

would it be very confusing if it supported explicit zeros when the existing one doesn't?

I would say probably not, since it is an own method, provided the docs makes a very obvious effort to draw attention to this, something in bold under its own section or something. (a bit like me shouting not to call eliminate zeros in code comments 😅)


Radio option selection issue on IOS - 10.2

Ionic version:  (check one with "x")
[x] 1.x
[ ] 2.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
Sometimes After selecting the option from the available radio buttons, the binding variable in the template is not updated in the template. I am using angular version 1.3.13.
Expected behavior:
Selecting a radio option should update the binding variable in form.
Steps to reproduce:

http://plnkr.co/edit/nwk9dtOVBZy4P26JSHH8?p=preview
I have added a sample code to give you an idea of how we have implemented our code but we are not able to reproduce every time we try. We have a video and a screenshot depicting the issue that occurred. Issue only occurs on ios 10.2 devices, we have found the issue on iphone 5/6s.
Other information:

Screenshot of the issue: https://drive.google.com/open?id=0BywABUsLPa4AMkRoYlpzNTFuZ0E
Video depicting the issue: https://drive.google.com/open?id=0B8zXVeTfYECYY3JjbHdEVHBZTnc
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Your system information:
Cordova CLI: 6.3.0
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
OS: Distributor ID:	Ubuntu Description:	Ubuntu 16.04 LTS
Node Version: v4.2.6

This issue was moved to driftyco/ionic-v1#208


is it suports  with i18n?

How would you expect the library to provide i18n support?  You could add this wherever you need with custom components.  If you could provide a specific example of what you need, that would be very helpful.


Galactic Changelog Short Demos

This is a tracking ticket for ensuring that the short-form changelog entries include short demos or code snippets that so users can better understand what the entries describe and how to take advantage of them quickly.

[x] Ability to specify per-logger log levels
[x] Ability to configure logging directory through environment variables - https://github.com/ros2/ros2_documentation/pull/1496
[ ] Externally configure QoS at start-up
[ ] Default RMW vendor changed to Cyclone DDS
[ ] Connext RMW changed to rmw_connextdds
[ ] New RMW API
[ ] nav2
[ ] tf2_ros Python split out of tf2_ros
[x] tf2_ros Python TransformListener uses global namespace
[ ] rclcpp

[ ] Change in spin_until_future_complete template parameters
[ ] Change in default /clock subscription QoS profile
[ ] Waitable API
[x] Change in rclcpp’s logging macros
[ ] Parameter types are now static by default
[ ] Add API for checking QoS profile compatibility

[x] rclpy (#1473)

[x] Removal of deprecated Node.set_parameters_callback
[x] Parameter types are now static by default
[x] Add API for checking QoS profile compatibility

[ ] rclcpp_action

[x] Action client goal response callback signature changed

[ ] rosidl_typesupport_introspection_c

[ ] API break in function that gets an element from an array

[ ] rcl_lifecycle and rclcpp_lifecycle

[ ] RCL’s lifecycle state machine gets new init API
[ ] RCL’s lifecycle state machine stores allocator instance
[ ] RCLCPP’s lifecycle node exposes option to not instantiate services

As I said elsewhere, while trying to craft demos for some of the entries listed here, I started to wonder about the short-form changelog itself. Some of the entries are relatively minor features or API breaks deep inside the stack. If that's the cut, many more changes listed in the complete changelog are not less worthy of being included here.
So I went over the list. I think all the entries below are worth being mentioned (in no particular order):

[ ] Make ament_python_install_package() install a flat Python egg (#316 <https://github.com/ament/ament_cmake/issues/316>__)
[ ] Add SYSTEM keyword option to ament_target_dependencies (#297 <https://github.com/ament/ament_cmake/issues/297>__)
[ ] Camera Calibration Parsers ROS2 Port (#105 <https://github.com/ros-perception/image_common/issues/105>__)
[ ] Image Transport ROS2 port (#84 <https://github.com/ros-perception/image_common/issues/84>__)
[ ] camera_info_manager ROS2 port (#94 <https://github.com/ros-perception/image_common/issues/94>__)
[ ] Port eigen_kdl.h/cpp to ROS2 (#311 <https://github.com/ros2/geometry2/issues/311>__)
[ ] Add new conditions for checking launch configuration values (#453 <https://github.com/ros2/launch/issues/453>__)
[ ] Add arg_choice arg to DeclareLaunchArguments (#483 <https://github.com/ros2/launch/issues/483>__)
[ ] Add respawn and respawn_delay support (#426 <https://github.com/ros2/launch/issues/426>__)
[ ] Fix ComposableNode ignoring PushRosNamespace actions (#162 <https://github.com/ros2/launch_ros/issues/162>__)
[ ] Substitutions in parameter files (#168 <https://github.com/ros2/launch_ros/issues/168>__)
[ ] Upgrade google benchmark from v1.5.1 to v1.5.2 to include QNX patch. (#9 <https://github.com/ament/google_benchmark_vendor/issues/9>__)
[ ] Update libyaml_vendor to 0.2.5. (#37 <https://github.com/ros2/libyaml_vendor/issues/37>__)
[ ] Update to pybind 2.5.0 (#2 <https://github.com/ros2/pybind11_vendor/issues/2>__)
[ ] Add LoadMap service (#129 <https://github.com/ros2/common_interfaces/issues/129>__)
[ ] New tango_icons_vendor <https:/github.com/ros-visualization/tango_icons_vendor/tree/master/CHANGELOG.rst>__ package
[ ] Quality work (API revisions, unit test, integration, performance tests, fault injection, binary mocking)

[ ] New test_rmw_implementation <https:/github.com/ros2/rmw_implementation>__ package
[ ] New performance_test_fixture <https:/github.com/ros2/performance_test_fixture/>_ package
[ ] Fault injection macros and functionality (plus example) (#264 <https://github.com/ros2/rcutils/issues/264>__)

[ ] Unique network flows (#880 <https://github.com/ros2/rcl/issues/880>__)
[ ] Add functions for waiting for publishers and subscribers (#907 <https://github.com/ros2/rcl/issues/907>__)
[ ] Add generic publisher and generic subscription for serialized messages (#1452 <https://github.com/ros2/rclcpp/issues/1452>__)
[ ] Allow configuring logging directory through environment variables (#53 <https://github.com/ros2/rcl_logging/issues/53>__)
[ ] Allow timers to keep up the intended rate in MultiThreadedExecutor (#1516 <https://github.com/ros2/rclcpp/issues/1516>__)
[ ] Add spin_all method to Executor (#1156 <https://github.com/ros2/rclcpp/issues/1156>__)
[ ] Ability to configure domain_id via InitOptions. (#1165 <https://github.com/ros2/rclcpp/issues/1165>__)
Add ability to configure domain ID (#596 <https://github.com/ros2/rclpy/issues/596>__)
[ ] Add message lost subscription event (#232 <https://github.com/ros2/rmw/issues/232>__)
Add message lost subscription event (#572 <https://github.com/ros2/rclpy/issues/572>__)
Add message lost subscription event (#1164 <https://github.com/ros2/rclcpp/issues/1164>__)
[ ] Mitigate lost service responses discovery issue (#187 <https://github.com/ros2/rmw_cyclonedds/issues/187>__)
[ ] Make service wait for response reader (#390 <https://github.com/ros2/rmw_fastrtps/issues/390>__)
[ ] Add per-message ZSTD compression (#418 <https://github.com/ros2/rosbag2/issues/418>__)
[ ] Sqlite storage double buffering (#546 <https://github.com/ros2/rosbag2/issues/546>__)
[ ] Add wildcard loading to ros2 param load. (#602 <https://github.com/ros2/ros2cli/issues/602>__)
[ ] Add rosparam verb load. (#590 <https://github.com/ros2/ros2cli/issues/590>__)
[ ] Add --keep-alive option to 'topic pub'. (#544 <https://github.com/ros2/ros2cli/issues/544>__)
[ ] Add option to echo serialized messages. (#470 <https://github.com/ros2/ros2cli/issues/470>__)
[ ] PlayerClock initial implementation - Player functionally unchanged (#689 <https://github.com/ros2/rosbag2/issues/689>__)
[ ] /clock publisher in Player (#695 <https://github.com/ros2/rosbag2/issues/695>__)
[ ] Add to_yaml() function for C++ messages (#527 <https://github.com/ros2/rosidl/issues/527>__)
[ ] Port of point_cloud2.py from ROS1 to ROS2. As seperate pkg. (#128 <https://github.com/ros2/common_interfaces/issues/128>__)
[ ] TimePanel port (#599 <https://github.com/ros2/rviz/issues/599>__)

Some I think are super relevant for users, like the humongous quality improvements we did, the cool new ros2bag features, the perception package ports, the service improvements in Tier 1 RMWs, etc.

We've done what we are going to do here, and today is Galactic release, so closing this.


Tabs functionality

Users should be able to:

Drag and drop tabs
Close all open tabs
Close tabs to the right
Close other tabs

Added in https://github.com/solana-playground/solana-playground/commit/2ae92062472d9794dda2bb933c65c3f165a89c01, https://github.com/solana-playground/solana-playground/commit/3ce6f2bd6f42c5f6e3679a33d8b81a36c4a1465f and https://github.com/solana-playground/solana-playground/commit/bc322bfa6fc181e2f9ed17d2adca722977a8eb6d


feat: high-light syntax on a code-block

Describe the feature you'd like to request
If users can choose code-language for high-light syntax it will be good for review
Describe the solution you'd like to see
There is a code block. The code is displayed there. Syntax highlighting is missing
Additional information
No response

Any progress on this?


Updating Kubernetes architectural diagram

This PR updates the "Kubernetes architectural diagram" graphic image, located in Kubernetes Documentation > Concepts > Overview > Kubernetes Components reference URL
This PR is part of an effort to improve consistency between Kubernetes icons and diagrams on the official Kubernetes Docs website. Several of us have been commenting and collaborating, on the image/png file changed here via a Google Draw document. This effort still has an outstanding SoW for CNCF, that will work to add even more updates soon.

I signed it

@dkypuros once Prow sees that you've signed the CLA, we can review these suggested changes

/recheck

/check-cla

/check-cla

I'm going to close and re-open this.

The diagram at https://kubernetes.io/docs/concepts/overview/components/ came about because of really useful work on this and other PRs.
Thank you @dkypuros !


[timeline] Should tooltip labeling be consistent with legend?

go to: https://autopush.datacommons.org/tools/timeline#statsVar=dc%2Fhj65vwnt5csr7__dc%2Fyt1fm72s1y7b7__dc%2F0sd3x3bb4qet5__dc%2Fj4mzcc63n5zq5__dc%2F56jhsezrzl049__dc%2Fggx918j9p5tnf__dc%2F8rw47nf3ngle7__dc%2Fhplj99j7mbfsh__dc%2Fksmx7fwfkm8lb__dc%2F6706lc55kg5d__dc%2Fqcpg8c533syd6__dc%2Fzv26z833d7g3c__dc%2Fkz49wc5n3lhpd&place=country%2FUSA&chart={"count"%3Afalse}

The tooltip uses the dcid as labels while the legend and chips use the stat var name. Should we be consistent and use stat var names everywhere?

+1 we should absolutely use sv names everywhere


fix: set sourceHeader=false not work, will auto find sourceHeader(#16…

Brief Information
This pull request is in the type of:

[x] bug fixing
[ ] new feature
[ ] others

What does this PR do?

if sourceHeader=false
const sourceHeader = retrieve2(newMetaRawOption.sourceHeader, upMetaRawOption.sourceHeader) || null;

the sourceHeader will set null. If sourceHeader is null, echarts will find sourceHeader auto.
if (sourceHeader === 'auto' || sourceHeader == null) {
    arrayRowsTravelFirst(function (val) {
        // '-' is regarded as null/undefined.
        if (val != null && val !== '-') {
            if (isString(val)) {
                startIndex == null && (startIndex = 1);
            }
            else {
                startIndex = 0;
            }
        }
    // 10 is an experience number, avoid long loop.
    }, seriesLayoutBy, dataArrayRows, 10);
}
else {
    startIndex = isNumber(sourceHeader) ? sourceHeader : sourceHeader ? 1 : 0;
}

Fixed issues
版本从5.1.2升到5.2.2之后柱状图第一项数据被吞掉 Close #16343
Details
Before: What was the problem?

After: How is it fixed in this PR?

Misc

[ ] The API has been changed (apache/echarts-doc#xxx).
[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
N.A.
Others
Merging options

[ ] Please squash the commits into a single one when merging.

Other information

Will it change the behavior when sourceHeader is set to false?

Does this PR fix #16084 ?

you can use 5.3.0-rc.1 version @.***/dist/echarts.min.js) to test if you bug fixed.
At 2022-01-24 10:18:22, "susiwen8" @.***> wrote:
Does this PR fix #16084 ?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


router will not work in current configuration

Do you know how to get the router to work in this configuration?  Perhaps I would want to use the router in about.ts similar to below.  This will result in a error similar to below if you declare router in the spec and if you do not declare in spec the test will fail outright.   Thanks for the project!
Error
    at NoAnnotationError.BaseException [as constructor] (C:/Dev_NG8649/Personal/mbutterfield/angular2-seed/node_modules/angular2/src/facade/lang.js:23:2)

import {Component, View, NgFor} from 'angular2/angular2';

import {NamesList} from '../../services/NameList';
import {Router, ROUTER_BINDINGS} from 'angular2/router';
@Component({
  selector: 'about'
})
@View({
  templateUrl: './components/about/about.html?v=<%= VERSION %>',
  directives: [NgFor]
})
export class About {
  constructor(public list: NamesList, public _router: Router) {
	  this._router = _router;
  }
  addName(newname) {
    this.list.add(newname.value);
    newname.value = '';
  }
}

@butterfieldcons you should try it like this @Inject(Router) router: Router. Inject is exported by angular2/angular2

Still getting an error. Also tried with the forwardRef syntax.  I have no doubt it would work outside karma/jasmin with angular bootstrap, but got to have a tests!!!!!  Everything else works except the Router.  Thanks.
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 4 SUCCESS (0 secs / 0.003 secs
Chrome 45.0.2454 (Windows 7 0.0.0) About component should work FAILED
Error: Timeout - Async callback was not invoked within timeout specified
by jasmine.DEFAULT_TIMEOUT_INTERVAL.
import {Component, View, NgFor, Inject} from 'angular2/angular2';
import {Router} from 'angular2/router';
import {NamesList} from '../../services/NameList';
import { forwardRef, Binding } from 'angular2/di';
@Component({
selector: 'about'
})
@View({
templateUrl: './components/about/about.html?v=<%= VERSION %>',
directives: [NgFor]
})
export class About {
router: Router;
constructor(public list: NamesList, @Inject(Router) router: Router) {
this.router = router;
}
addName(newname) {
this.list.add(newname.value);
newname.value = '';
}
}

Will have a look at it, but something like this (router test) binded to the rootTestComponent might solve the problem.

Ok thanks, traced bindings.js - the pic below shows it failing.  This scenario occurs when I did this in the spec.  using the @Inject(Router) in the about.ts just fails outright with no error (which would work in a type angular2 bootstrap(ed) application.
@Component({selector: 'test-cmp', bindings: [NamesList, Router]})

Guessing something like this is what is needed.  I'll give it a try early tonight since I'm going somewhere for the day.  Seems simple enough, just need to figure out how to work with 'bootstrap' along with the 'TestComponentBuilder'.  This code is from route_config_spec.ts under the test/router folder.
import {
AsyncTestCompleter,
beforeEach,
ddescribe,
describe,
expect,
iit,
inject,
it,
xdescribe,
xit,
} from 'angular2/test_lib';
import {bootstrap} from 'angular2/bootstrap';
import {Component, Directive, View} from 'angular2/metadata';
import {DOM} from 'angular2/src/dom/dom_adapter';
import {bind} from 'angular2/di';
import {DOCUMENT} from 'angular2/src/render/render';
import {Type} from 'angular2/src/facade/lang';
import {
ROUTER_BINDINGS,
Router,
RouteConfig,
APP_BASE_HREF,
ROUTER_DIRECTIVES
} from 'angular2/router';
import {ExceptionHandler} from 'angular2/src/core/exception_handler';
import {LocationStrategy} from 'angular2/src/router/location_strategy';
import {MockLocationStrategy} from 'angular2/src/mock/mock_location_strategy';
class _ArrayLogger {
res: any[] = [];
log(s: any): void { this.res.push(s); }
logGroup(s: any): void { this.res.push(s); }
logGroupEnd(){};
}
export function main() {
describe('RouteConfig with POJO arguments', () => {
var fakeDoc, el, testBindings;
beforeEach(() => {
fakeDoc = DOM.createHtmlDocument();
el = DOM.createElement('app-cmp', fakeDoc);
DOM.appendChild(fakeDoc.body, el);
var logger = new _ArrayLogger();
var exceptionHandler = new ExceptionHandler(logger, true);
testBindings = [
ROUTER_BINDINGS,
bind(LocationStrategy).toClass(MockLocationStrategy),
bind(DOCUMENT).toValue(fakeDoc),
bind(ExceptionHandler).toValue(exceptionHandler)
];
});
it('should bootstrap an app with a hierarchy', inject([AsyncTestCompleter], (async) => {
     bootstrap(HierarchyAppCmp, testBindings)
         .then((applicationRef) => {
           var router = applicationRef.hostComponent.router;
           router.subscribe((_) => {
             expect(el).toHaveText('root { parent { hello } }');
             expect(applicationRef.hostComponent.location.path()).toEqual('/parent/child');
             async.done();
           });
           router.navigate('/parent/child');
         });
   }), 1000);

Couldn't get the above working.....same darn binding error...DI doesn't see the router.

I've added support for unit test using router in test_router branch (home component). Import part is still maybe to be cleaned-up.

Hi,
So far working fine.  Really appreciate your time.  Sometimes we/I really need a direction; as you know plowing through source code can take a quite a bit of time.  I was close, but was looking at bootstrapping the router, but honestly I was not sure of how all the pieces went together.  For example, I was having problems with the location.  Also, I didn't realize that ROUTER_DIRECTIVES had to be a part of the actual about.ts file (I was trying to put them in the dummy spec component).
For others reading this, this is a nice link which discusses the above solution although ludohenin (Ludovic Henin) does a nice job at putting it all together in the testing framework. The link --> http://blog.thoughtram.io/angular/2015/06/16/routing-in-angular-2.html


Xcode Build error: library not found for -lDoubleConversion

Is this a bug report?
Yes

Have you read the Installation Instructions?
Yes
Environment

react-native: 0.57.7
react: 16.6.1
react-native-maps: 0.24.2
Steps to Reproduce

yarn add react-native-maps to existing react project, following instructions in readme. react-native run-ios or open xcode ->product->run
Expected Behavior

App builds successfully
Actual Behavior

Build Fails with error
ld: library not found for -lDoubleConversion
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Screenshot

Did you use the correct Podfile ?  https://github.com/react-native-community/react-native-maps/blob/master/docs/installation.md#using-cocoapods

I believe so, this is what my podfile looks like:
`# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'MY-PROJECT-NAME' do
rn_path = '../node_modules/react-native'
rn_maps_path = '../node_modules/react-native-maps'
See http://facebook.github.io/react-native/docs/integration-with-existing-apps.html#configuring-cocoapods-dependencies
pod 'TwilioVideo', '2.2.2'
pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
pod 'React', path: rn_path, subspecs: [
'Core',
'CxxBridge',
'DevSupport',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
]
React Native third party dependencies podspecs
pod 'DoubleConversion', :podspec => "#{rn_path}/third-party-podspecs/DoubleConversion.podspec"
pod 'glog', :podspec => "#{rn_path}/third-party-podspecs/glog.podspec"
If you are using React Native <0.54, you will get the following error:
"The name of the given podspec GLog doesn't match the expected one glog"
Use the following line instead:
#pod 'GLog', :podspec => "#{rn_path}/third-party-podspecs/GLog.podspec"
pod 'Folly', :podspec => "#{rn_path}/third-party-podspecs/Folly.podspec"
react-native-maps dependencies
pod 'react-native-maps', path: rn_maps_path
pod 'react-native-google-maps', path: rn_maps_path  # Uncomment this line if you want to support GoogleMaps on iOS
pod 'GoogleMaps'  # Uncomment this line if you want to support GoogleMaps on iOS
pod 'Google-Maps-iOS-Utils' # Uncomment this line if you want to support GoogleMaps on iOS
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
end
end`

that's weird
did you do the next steps?
npm install
cd ios && pod install
cd ../

you might also try a pod repo update && pod update

@realripley00
Maybe you open xcode
with the XXX.xcodeproj and you must open xcode with the XXX.xcworkspace

Same error is happening to me failed to build.

If you use ios, you can try m5 cli => https://github.com/indaam/m5-cli#user-content-create-react-native-project-1

Same thing happening to me while building from xcode but not when building from cli

No reply, closing

@realripley00
Maybe you open xcode
with the XXX.xcodeproj and you must open xcode with the XXX.xcworkspace

This works ! thanks

Thank you! Really helpful.

If nothing works, try regenerating your xcodeproj and xcworkspace for your ios app.

react-native upgrade <version> --legacy true

cd ios

pod deintegrate
rm Podfile.lock

Make sure your Podfile has all the dependencies:

`
target 'YourProject' do
pod 'React', :path => '../node_modules/react-native/', subspecs: [
'Core',
'CxxBridge',
'DevSupport',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
]
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
other podspecs
end
`

pod install --repo-update --verbose

Now open YourProject.xcworkspace and run the app.

I am also getting this, and I am using . xcworkspace

I did follow all the steps mentioned above, and nothing seems to fix my issue, running react-native run-ios work great, but running from xcode it keeps throwing the Xcode Build error: library not found for -lDoubleConversion

@realripley00
Maybe you open xcode
with the XXX.xcodeproj and you must open xcode with the XXX.xcworkspace

This worked for me! Thanks!

I manage to solve this issue.
Make sure you make the build after opening workspace in XCode.
e.g. open .xcworkspace not the .xcodeproj

@realripley00
Maybe you open xcode
with the XXX.xcodeproj and you must open xcode with the XXX.xcworkspace

Tks man....Solved

I opened from .xcworkspace and still have the same problem with xcode 12.1.1, react native 0.63.3
can't find any way to solve it, i tried every thing on the internet with no luck till now.
updated to the last  cocoapods, pod install, rm -rf node_modules, yarn install
any help is appreciated

@ashwindmk It's not clear what <version> should be here in your suggestion...

If nothing works, try regenerating your xcodeproj and xcworkspace for your ios app.
1. react-native upgrade <version> --legacy true


[core,gateway] only encode a cookie line if there is a cookie

if cookie length was 0 a empty line was added and this would cut off the http header and move following headers in the body

@freerdp-bot test please

guess libpkcs11-helper1-dev is missing on the "fuzzer"


feat: add custom extractor or loader with additional parameters

Feature scope
Other
Description
Is there any how I can use command line to add custom extractor and provide namespace and pip_url as well instead of enter those optoins interactively? It will be more convenient to integrate build script in DevOps

Sorry, I found option using --from-ref...i'll close this issue


Debug Print Protocol

Debug print functionality.  Format options. Currently considering a scroll down format given that a measure can contain multiple notes and it may be easier to navigate the measure if there is one note/chord per row.
Option 1 Functional Style
repeat( <number>, measures:
            [
                   measure( time(top/bottom), key(noteLetter type), notes:
                       note(tone:, duration:, rest:, ...),
                       note(tone:, duration:, rest:, ...)
            ]
)

Option 2 JSON
{
    repeat: {
        count: 1,
        measures: [
            {
                time: "3/4",
                key: "C Major",
                notes: [
                    note: {
                        tone: { note: "C", octave: "0" },
                        duration: "whole",
                        isRest: false
                    }
                ]
            }
        ]
}

Other options will need to be discussed.

I'm thinking more of a debug only succinct format to easily visualize. Something like the following:
|4/4: 1/4C1, 1/8[A2#], 1/4R|
R being rest.
Let me know if you know what I mean and if you agree or disagree.

After I thought about it some more I'm on the fence on whether it makes sense for my syntax to be the standard debug print string or if we should have a separate custom protocol for this shorter syntax. Let me know what you think.

Updated the PR with the format proposed by Kyle.


[Candidate 1v1 Scorching Heat Draft 2] Jarmen audio plays at start of map

Issue Description
Jarmen audio plays at start of map.
Expected behavior
No Jarmen audio at start of map.

Roger, will be removed once the final version is ready.

Fixed in #144

Fixed with https://github.com/xezon/GeneralsRankedMaps/commit/7f48790fb6865a7d621efb67cafd45d6048930bc


$loaded fires but the $value is still null sometimes

I am trying to use $firebaseObject().$loaded() promise but it's not behaving as I expect so want to make sure I'm using it correctly. it seems that sometimes the value I get back is null and sometimes its not. Shouldnt the value always be there if loaded() is resolved... ?
          getLastUpdate: function(google_place_id, sortBy, cutOffTime) {
               var defered = $q.defer();
               var latestUpdateId = $firebaseObject(lastUpdates.child(google_place_id).orderByChild(sortBy).startAt(cutOffTime));

               latestUpdateId.$loaded(
                   function(update_id){
                       console.log("Firebase object of latest update ID loaded ...", update_id);
                       if (update_id.$value !== null){ // sometimes this has a value and sometimes it doesnt ...
                           console.log("Now get the actual object");
                           var u = $firebaseObject(updates.child(update_id.google_place_id).child(update_id.update_id));
                           u.$loaded(function(data) {
                               defered.resolve(data);
                           }, function(error){
                               console.error("Error:", error);
                               defered.reject(error);
                           });
                       }
                   }, function(er){
                       console.log(er);
               });

               return defered.promise;
           },

$value will only be populated if the value is a primitive. If it is undefined, then the data at that path is an object. If it is null then the value does not exist at that database path.
Please use the template provided for submitting issues, including complete code to reproduce (which in this case must include sample data). Closing this issue as it doesn't follow the submission template.


Create API Views for Posts (Item)

Endpoint for the feed of items (posts) the user will see:
-/api/v1/posts/feed -> The feed ordered by the location/publishing time of the user.
- URL parameters:
- Lat: Latitude to order by geolocation
- Lon: Longitude to order by geolocation
- category: Category id to filter by that category
- search: String to search item using that string
The order should be...
To Be defined

The order should be...
To Be continued!

duplicates #20


Objects not being destroyed

Hello friends, I hope you are well, I have the following difficulty, I have a WPF application using .net framework 4.7.2 where I have a main window that when clicking on a button opens a second window that contains the editor, but a memory leak was noticed and during the investigation with dotMemory we noticed that the AvalonEdit objects were not being destroyed, and each time the window was opened new objects were created. To validate, I created a new project where the window only had the AvalonEdit component and no other events or objects linked to it, and even so the object was not being destroyed when closing the window.
Some points that may help, In the last test there was no data input to AvalonEdit, no text or files were loaded into the component, nor were they added to the component input.

Would you be able to provide full example app that shows the memory leak?
I created the following application, which creates new windows on button click (and I can see the memory usage go up in the diagnostic tools/debugger), but the memory usage drops as soon as I start closing the windows again.
WpfApp4.zip
Thanks!


[DNM][OCCM] Add new job for e2e conformance test

What this PR does / why we need it:
Add new job cloud-provider-openstack-test-occm-e2e-conformance to replace the existing one. Use k3s instead of kubeadm to make CI job simple, fast and stable.
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm-e2e-conformance

/test cloud-provider-openstack-test-occm

/test cloud-provider-openstack-test-occm-e2e-conformance

/cc @jichenjc @ramineni @chrigl This is ready for review.

@lingxiankong Thanks for the PR. One suggestion, for this new job , we should consider using kubetest2 instead as kubetest is deprecated https://github.com/kubernetes/test-infra/tree/master/kubetest#deprecation-notice

@lingxiankong Thanks for the PR. One suggestion, for this new job , we should consider using kubetest2 instead as kubetest is deprecated https://github.com/kubernetes/test-infra/tree/master/kubetest#deprecation-notice

Yeah, thanks for pointing that out, I've noticed that announce as well when doing the job refactoring, but I would prefer to only change the way how k8s is installed and keep it running for some time (for stability purpose), then we replace kubetest with kubetest2 in a separate PR.
I created an issue for tracking this: https://github.com/kubernetes/cloud-provider-openstack/issues/1562

@lingxiankong Thanks for the PR. One suggestion, for this new job , we should consider using kubetest2 instead as kubetest is deprecated https://github.com/kubernetes/test-infra/tree/master/kubetest#deprecation-notice

Yeah, thanks for pointing that out, I've noticed that announce as well when doing the job refactoring, but I would prefer to only change the way how k8s is installed and keep it running for some time (for stability purpose), then we replace kubetest with kubetest2 in a separate PR.
I created an issue for tracking this: #1562

sounds good to me.
/lgtm

/approve


[CPLP-863]- #3 - membership flag implementation

@lavanya-bmw @manojava-gk please review
@smartdeepp there are conflicts. can you please cleanup the conflicts

Hello, @lavanya-bmw @manojava-gk, conflicts resolved as per the comment.

please add your changes to the RELEASENOTES.md file with every PR so we have an overview by the end of the sprint

Updated.

@thackerronak please fix the outstanding release note conflicts

@thackerronak please fix the outstanding release note conflicts

updated.


VM owner with USE rights can resize disk

Description
Owner VM with USE rights can resize disk.
To Reproduce

Маке VM with disk size 5 Gb
Set Rights VM

PERMISSIONS
OWNER               : u--
GROUP               : ---
OTHER               : ---

Login into sunstore cloud view by owner vm

Expected behavior
Not available to change the size of the disk, as well as not available to change other resources
Details

Affected Component: one, Sunstone
Hypervisor: KVM
Version: 6.4.0 CE

Additional context
It may be possible to extend the usage rights USE to reboot the VM since the VNC is available in the cloud view
send Ctrl-Alt-Del.

Progress Status

[ ] Code committed
[ ] Testing - QA
[ ] Documentation (Release notes - resolved issues, compatibility, known issues)

Internal note: It seems the RequestManagerDiskResize::request_execute is missing call vm_authorization
Maybe also disk-attach doesn't respect the permissions, we should check also other VM actions

Fixed authorization for onevm disk-resize. Authorization for other VM commands are ok. Only onevm create-chart returns wrong error code, fixed.
PRs

src
tests
doc


[Sozo] Better testing

According to codecov, the sozo crate seems to be one with the least amount of test coverage (a mere 30%). As we are committing into making Dojo more stable and reliable, it is important that we implement an extensive test suite for sozo in order to maintain compatibility and ensure it is working as expected every time changes are made in the codebase

@lambda-0x it's related to the issue you're on #1383.
I'll close this one to not have duplicate, I just wanted to ensure that you had the time to read @kariy message. :+1:


Bins and clusters

Here is the bin trips on the map.

Here is the problem when running the pipeline.cluster

@corinne-hcr this works for me
--- a/tour_model_eval/trips_in_bins_and_clusters.ipynb
+++ b/tour_model_eval/trips_in_bins_and_clusters.ipynb
@@ -234,7 +234,7 @@
     "# cluster the data using k-means\n",
     "# def cluster(data, bins)\n",
     "# return feat.clusters, feat.labels, feat.data\n",
-    "clusters,labels,feat_data = pipeline.cluster(bin_trips,bins)\n",
+    "clusters,labels,feat_data = pipeline.cluster(bin_trips,len(bins))\n",
     "clusters"
    ]
   },

@corinne-hcr I've made the change to call the cluster code. Do you need me to work on the plotting as well, or can you take it from here?

OK, I think I can take it from here

I have a high level comment on your code structure which you need to address as well.
Let me know if I should add some sample code for that as well.
Otherwise, push early and often!

I have a question, how can you modify the file that you haven't merged? Now I can change my file like the you do, but then I commit the file, there will be repeated modifications.

you can pull from your branch (origin <branch>)

I can't plot the cluster graph. I can't access the points through the pipeline.cluster, I have to run featurization.featurization(bin_trips)to get the points. pipeline.clusterdoesn't returnpoints Also, I have questions about labels.
[1,  1,  1,  1,  1,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  2,  2,  3,  3,  0,  0,  4,  4,  8,  8,  7,  7]Since I don't see other sort method, does it mean the five trips from the beginning belong to label 1?

@corinne-hcr please check my commit. Both the bin and the cluster displays work, both before and after deleting novel bins.
Please use this to figure out the difference between bins and clusters before the 10am meeting tomorrow.
You may want to visualize for all users - I think that the user you have selected has nClusters == nBins
DEBUG:root:number of bins after filtering: 8

DEBUG:root:number of clusters: 8

Again, you are encouraged to add log statements to the underlying server code to understand it better.

I have some questions.
1.In Trips from all bins, you call similarity.similarity(trips, radius) and sim.bin_data(). It shows DEBUG:root:After removing trips that are points, there are 51 data points
But in Trips from bins above the cutoff only, That was the way I called pipeline.remove_noise(trips, radius). It shows DEBUG:root:After removing trips that are points, there are 50 data pointsThe number of data points is different. Shouldn't it be the same number of data points?
2.After calling pipeline.remove_noise(trips, radius), it shows
the new number of trips is 22
the cutoff point is 8
number of bins after filtering: 8
But in my previous code, I remember I had around 23 trips, but the cutoff point was 9, and there were 9 bins.
That also shows in theviz_similarity_unlabeled.py

There are 9 bins above the cutoff point.
I don't know how that affect the outcome.

@corinne-hcr
Great questions! I would encourage you to experiment with the code (potentially by adding additional log statements) or running individual code snippets to resolve the discrepancies.
wrt answers, I don't know either. Again, I want to reiterate that this is not a class. I don't know the answers. You have to find out the answers and tell me.

Outcome:

Due to unknown reason, I test bins/clusters on all data and bins/clusters above cutoff points separately. I also change a dataset with more data.
Regarding the original min_cluster = 2, I find some materials online that also start with k=2. I think that clustering means at least it divide one big group into two clusters.
For max_cluster, she used 1.5 * bins. I think that might be an empirically setting, but based on the implementation, the final number of clusters never hit the max.
For kmedoids, I think we can delete it. We never use this in implementation, I think she just left an option here.
About bins and cluster

on all data
 DEBUG:root:There are 88 bins before filtering
DEBUG:root:number of clusters: 33
Bins are based on the distance of start points and end points of two trips. Clusters are based on silhouette score.
I add some logs on the server code. Here is how silhouette score works to determine the clusters.

So, we can see here, (the original max she set was 2) if sil > max, max will be set to equal to sil. As tests keep going, the sil reach a peak, and then decrease. When cluster = 33 is the peak of sil score. That how sil score finds the best cluster for all data.
There is r = max_clusters - min_clusters+1. Since min_cluster = 2, max_clusters = 1.5*bins, r is the test times from 2 to max_clusters.

Here is the trip labels after clustering

on data above cutoff only

For bins
DEBUG:root:After removing trips that are points, there are 154 data points
DEBUG:root:number of bins before filtering: 88
DEBUG:root:the new number of trips is 52
DEBUG:root:the cutoff point is 6
DEBUG:root:number of bins after filtering: 6
DEBUG:root:The list of bins is [[9, 14, 23, 25, 32, 34, 39, 53, 67, 69, 71, 87, 92, 112, 114, 128, 149, 151, 153], [10, 15, 24, 26, 33, 35, 40, 58, 68, 70, 88, 93, 113, 115, 150, 152], [5, 18, 77, 80, 142], [11, 16, 74, 131], [22, 64, 109, 130], [52, 61, 111, 134]]
For clusters
Instead of following the original code min = bins, I set min = 0, so I can see if sil score also finds the same number of clusters.
Here is what I have
DEBUG:root:number of clusters: 6

So, given the same amount of trips, sil score also find the same number of clusters, and the trip labels distribution is exact the same as the list of bins (same order and same number of trips in one cluster/bin).

Why she used clustering after binning
I think the one of reasons could be that sometimes elbow method is hard to find the best k. Some online materials state that sil score is better and more straight forward to find the best k. Here she put common trips bins into cluster can examine if she got the best clusters.

-Why not just use clustering
I think, the problem is, I don't see a method to find common trips after clustering(if we put all data into analysis, how to find 6 common trips clusters out of 33). The elbow method in clusters is just to find the k in given data. So that she used cutoff point in bins can be considered a good way to find common trips.
Next, I am going to test on different users and see how all data result in bins and cluster. Also, I will visualize some part of the bins and clusters.

@corinne-hcr this is very good. Couple of clarifications:

"I also change a dataset with more data." I think you mean that you changed to a user with more data. A dataset typically contains data from multiple users. So a new dataset would be data from a completely different source.
"For max_cluster, she used 1.5 * bins. I think that might be an empirically setting, but based on the implementation, the final number of clusters never hit the max." Again, would be good to verify at least against all the users we have before making that bold statement.
"For kmedoids, I think we can delete it. We never use this in implementation, I think she just left an option here." Great that she left the option there. That allows us to compare bins v/s clusters, by actually evaluating bins v/s kmeans clusters v/s kmedoid clusters
"So, given the same amount of trips, sil score also find the same number of clusters." As we discussed, you should verify this finding against multiple users as well. In particular, when I integrated Naomi's code into the system, I found that there were differences sometimes https://github.com/e-mission/e-mission-server/commit/d6a41c681d2eb4bcde983e0056128dcc97d99de0
"I think, the problem is, I don't see a method to find common trips after clustering(if we put all data into analysis, how to find 6 common trips clusters out of 33). " I think what you are saying is that clustering will put all the trips into one of the k clusters. So we will not be able to split into common and novel. Good finding! 👏

As you have outlined, the next tasks are:

Test on different users and see how all data result in bins and cluster.
Also, I will visualize some part of the bins and clusters and see if they match 1:1 in terms of trips

visualizing on a map with different colors will help if we are considering 1 or 2 users
for an overall picture, you might want to actually compare the trip ids in the bins and the clusters to determine whether the bins and clusters are identical or not

"I think, the problem is, I don't see a method to find common trips after clustering(if we put all data into analysis, how to find 6 common trips clusters out of 33)."
Given this, does it matter that we perform steps in the pipeline order by binning and then clustering. If binning and clustering are largely independent, would it work to cluster first, use the silhouette score to determine k and choose that as the elbow?

Update:
Test on different users and see how all data result in bins and cluster. But I will actually put all data and above cutoff data results here since I notice there is something we can discuss.
user1:
-all data
DEBUG:root:There are 110 bins before filtering
DEBUG:root:number of clusters: 14
-above cutoff only
DEBUG:root:number of bins after filtering: 16
DEBUG:root:number of clusters: 16
user2:
-all data
DEBUG:root:There are 37 bins before filtering
DEBUG:root:number of clusters: 8
-above cutoff only
DEBUG:root:number of bins after filtering: 9
DEBUG:root:number of clusters: 9
user3:
-all data
DEBUG:root:There are 143 bins before filtering
DEBUG:root:number of clusters: 62
-above cutoff only
DEBUG:root:number of bins after filtering: 14
DEBUG:root:number of clusters: 13
Note that there are actually 14 cluster labels
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 10, 10, 10, 10, 7, 7, 7, 7, 4, 4, 4, 9, 9, 9, 2, 2, 2, 6, 6, 6, 12, 12, 12]  The sil score decreases from 14 clusters
DEBUG:root:sil is 0.950153323026658
DEBUG:root:sil > max True
DEBUG:root:sil is 0.950153323026658, max is 0.9283151017642491
DEBUG:root:The new max is 0.950153323026658
DEBUG:root:testing 14 clusters
DEBUG:root:sil is 0.9422369415328851

user4:
-all data
DEBUG:root:There are 32 bins before filtering
DEBUG:root:number of clusters: 13
-above cutoff only
DEBUG:root:number of bins after filtering: 2
DEBUG:root:number of clusters: 2
user5:
-all data
DEBUG:root:There are 196 bins before filtering
DEBUG:root:number of clusters: 2
-above cutoff only
DEBUG:root:number of bins after filtering: 17
DEBUG:root:number of clusters: 17
user6:
-all data
DEBUG:root:There are 71 bins before filtering
DEBUG:root:number of clusters: 8
-above cutoff only
DEBUG:root:number of bins after filtering: 9
DEBUG:root:The list of bins is [[1, 3, 12, 17, 23, 25, 32, 39, 41, 44, 47, 72, 104, 108], [4, 16, 19, 24, 26, 33, 40, 43, 46, 48, 78, 103, 107, 110], [28, 45, 100, 101, 102, 105, 106, 109, 123], [27, 75, 79, 82, 99, 113, 122], [2, 14, 81, 83, 98], [13, 42, 80, 120], [7, 20, 30], [9, 35, 62], [73, 77, 114]]
DEBUG:root:number of clusters: 6
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 2, 2, 2]
I think here we should plot it in map to see why different bins would be assigned same labels(clusters)
Same as user 3
user7:
-all data
DEBUG:root:There are 88 bins before filtering
DEBUG:root:number of clusters: 33
-above cutoff only
DEBUG:root:number of bins after filtering: 6
DEBUG:root:number of clusters: 6
user8:
-all data
DEBUG:root:There are 268 bins before filtering
DEBUG:root:number of clusters: 4
-above cutoff only
DEBUG:root:number of bins after filtering: 46
DEBUG:root:number of clusters: 44
user9:
-all data
DEBUG:root:There are 164 bins before filtering
DEBUG:root:number of clusters: 87
-above cutoff only
DEBUG:root:number of bins after filtering: 27
DEBUG:root:number of clusters: 26
[0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 21, 21, 21, 21, 21, 13, 13, 13, 13, 13, 1, 1, 1, 1, 19, 19, 19, 19, 20, 20, 20, 24, 24, 24, 16, 16, 16, 3, 3, 3, 17, 17, 5, 5, 4, 4, 18, 18, 9, 9, 15, 15, 6, 6, 23, 23, 10, 10, 25, 25, 22, 22, 11, 11, 8, 8]
See label 6, same thing here
user 10:
-all data
DEBUG:root:There are 102 bins before filtering
DEBUG:root:number of clusters: 35
-above cutoff only
DEBUG:root:number of bins after filtering: 21
DEBUG:root:number of clusters: 21
user11:
-all data
DEBUG:root:There are 132 bins before filtering
DEBUG:root:number of clusters: 27
-above cutoff only
DEBUG:root:number of bins after filtering: 14
DEBUG:root:The list of bins is [[12, 22, 49, 51, 53, 63, 72, 175], [13, 25, 38, 54, 73, 139, 144], [24, 35, 37, 90, 127, 143, 172], [7, 17, 27, 29, 118, 165], [78, 111, 133, 150, 201], [8, 28, 119, 166], [23, 36, 52, 126], [32, 87, 132, 146], [56, 92, 97, 117], [112, 134, 151, 202], [113, 182, 189, 195], [26, 140, 145], [50, 62, 64], [131, 154, 161]]
DEBUG:root:number of clusters: 8
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 5, 5, 5, 5, 6, 6, 6, 6, 0, 0, 0, 0, 2, 2, 2, 2, 4, 4, 4, 1, 1, 1, 7, 7, 7]
user12 skip
user13:
-all data
DEBUG:root:There are 303 bins before filtering
DEBUG:root:number of clusters: 185
-above cutoff only
DEBUG:root:number of bins after filtering: 11
DEBUG:root:number of clusters: 11
As we can see from the output above, bins are more sensitive than clusters. If we directly put all data in cluster then use elbow method, we may not find the common trips as expected. Of course, I need to plot some special cases where bins are significantly different from cluster.
Second concern, for data above cutoff, there are some example show that bin_trips clusters are less than the number of bins. I need to plot those on map to see if bins wrongly put similar trips into different bins or clusters incorrectly label the trips.(Maybe I will just need to plot those trips have same label but in different bins)

all that sounds good. My only other suggestion would be to capture the values here {all trips: bins, cluster, above cutoff: bins, cluster} in a data structure (maybe a simple data frame) and plot it. We can then include that plot in the report along with the maps that visualize the discrepancies (user3, user6,...)

also, don't forget to push up your changes to the PR after that is done!

Do you mean use pandas data frame to show the values?({all trips: bins, cluster, above cutoff: bins, cluster})
Do you need the notebook now to see the difference? I didn't make many modifications. Maybe I push it later when I done with the map?

Yes, you should push after you collate the values and plot maps for the outliers
"pandas data frame to show the values" you can even plot them using DataFrame.plot!

Partially update: the difference between trips in the same bin and trips in the same cluster

On all data
Here I choose user2 as an example
DEBUG:root:There are 37 bins before filtering
DEBUG:root:number of clusters: 8

Here is the map for bins

Here is the map for clusters.

As we can see, in the cluster (label 1), the trips are largely different (red lines). However, those trips are in different bins. On all data, bins make more sense than clusters.

On above cutoff only
Here I choose user 11 as an example
DEBUG:root:number of bins after filtering: 14
DEBUG:root:number of clusters: 8

Here is the bins list
DEBUG:root:The list of bins is [[12, 22, 49, 51, 53, 63, 72, 175], [13, 25, 38, 54, 73, 139, 144], [24, 35, 37, 90, 127, 143, 172], [7, 17, 27, 29, 118, 165], [78, 111, 133, 150, 201], [8, 28, 119, 166], [23, 36, 52, 126], [32, 87, 132, 146], [56, 92, 97, 117], [112, 134, 151, 202], [113, 182, 189, 195], [26, 140, 145], [50, 62, 64], [131, 154, 161]]
I will compare the trips in the first 3 bins and the last 2 bins with trips in label 1
Here is the trips from the first 3 bins

Here is the trips from the last 2 bins

Here is the label list
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 6, 6, 6, 6, 1, 1, 1, 1, 5, 5, 5, 5, 2, 2, 2, 2, 0, 0, 0, 0, 4, 4, 4, 1, 1, 1, 7, 7, 7]
Here is the trips in label 1

update the graph of bins and clusters (from data above cutoff) :

Actually, let me try and run the output myself before I merge

I mentioned there is some differences for clustering (min=0 and min=len(bins)).
You don't have to run it right now.
I will update it in a minute

When I try to run the viz_bins_clusters_above_cutoff notebook, I get an error
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-7-0f3d0ef3449a> in <module>
----> 1 bin_trips, bins = pipeline.remove_noise(trips, radius)

~/e-mission/e-mission-server/emission/analysis/modelling/tour_model/cluster_pipeline.py in remove_noise(data, radius)
     54     sim.bin_data()
     55     logging.debug('number of bins before filtering: %d' % len(sim.bins))
---> 56     sim.delete_bins()
     57     logging.debug('number of bins after filtering: %d' % len(sim.bins))
     58     return sim.newdata, sim.bins

~/e-mission/e-mission-server/emission/analysis/modelling/tour_model/similarity.py in delete_bins(self)
     97     def delete_bins(self):
     98         self.calc_cutoff_bins()
---> 99         for i in range(len(self.bins) - num):
    100             self.bins.pop()
    101         newdata = []

NameError: name 'num' is not defined

It looks like https://github.com/e-mission/e-mission-server/pull/792 introduced a regression in the cluster pipeline.

Ah looks like it is fixed in https://github.com/e-mission/e-mission-server/pull/794/files
Thanks @corinne-hcr

I can in fact run the notebook through.
Here's the graph that I get

I get this, too. I can't get the one on all data. It never stops.

All clusters also finished running for me

all bins
all clusters

92
17

37
8

160
47

36
17

206
2

76
8

97
32

311
4

171
4

122
2

132
27

324
192

Can you screenshot the full data graph? (with the index) thanks!!!

so it looks like another difference between the bin and cluster code is the time taken to run them.
If you can add timing statements (https://stackoverflow.com/questions/29280470/what-is-timeit-in-python), I can re-run the notebooks on my laptop and determine the actual difference.

Can you screenshot the full data graph? (with the index) thanks!!!

isn't that just https://github.com/e-mission/e-mission-eval-private-data/pull/16#issuecomment-778003311

I think it should look like

that is not full data, but only above cutoff, right?

Yes, I can only get the cutoff on my laptop. But for all data, I should have set a similar data frame. Did you see the similar thing on all data? Should be a complete data frame with index(user name)

| above cutoff bins | above cutoff clusters (min = len(bins)) | above cutoff clusters (min = 0)
-- | -- | -- | --
user1 | 17 | 17 | 17
user2 | 9 | 9 | 9
user3 | 16 | 16 | 15
user4 | 2 | 2 | 2
user5| 20 | 20 | 19
user6| 6 | 6 | 3
user7| 7 | 7 | 7
user8| 28 | 28 | 26
user9| 27 | 27 | 26
user10 | 25 | 25 | 24
user11 | 14 | 16 | 8
user13 | 14 | 14 | 14

Did you see the similar thing on all data? Should be a complete data frame with index(user name)

The dataframe for all data is at https://github.com/e-mission/e-mission-eval-private-data/pull/16#issuecomment-778005050
It is true that the index didn't get copy-pasted, but it is the same order as the cutoff - user1 ... user13 with user12 missing

This is better than a screenshot because you can copy-paste it and get a dataframe back without having to type out all the numbers :)
{'all bins': {'user1': 92,
  'user2': 37,
  'user3': 160,
  'user4': 36,
  'user5': 206,
  'user6': 76,
  'user7': 97,
  'user8': 311,
  'user9': 171,
  'user10': 122,
  'user11': 132,
  'user13': 324},
 'all clusters': {'user1': 17,
  'user2': 8,
  'user3': 47,
  'user4': 17,
  'user5': 2,
  'user6': 8,
  'user7': 32,
  'user8': 4,
  'user9': 4,
  'user10': 2,
  'user11': 27,
  'user13': 192}}

OK thanks!

Once you address the fit_bounds, I am ready to approve and merge.

@corinne-hcr merged. I squashed before merging to avoid lots of back and forth on the code redesign


add Kubernetes events preset

First pass at implementing the preset, let me know what you think :)
Ref https://github.com/open-telemetry/opentelemetry-helm-charts/issues/381
Tested with:
 helm template --debug --set mode=deployment --set "presets.eventsCollection.enabled=true" .

and actually installing the chart:
helm install --set "presets.eventsCollection.enabled=true" --set "mode=deployment" --generate-name .

Given that k8s events receiver is in alpha and potentially can be replaced (see https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/14474#issuecomment-1268819633) I'd recommend holding off introducing this preset.
Enabling k8s attributes processor on tracing seems much more important to me. WDYT?

Given that k8s events receiver is in alpha and potentially can be replaced (see open-telemetry/opentelemetry-collector-contrib#14474 (comment)) I'd recommend holding off introducing this preset.

Thanks for bringing this to my attention.  Based on the conversation I'd agree with holding off.

Enabling k8s attributes processor on tracing seems much more important to me.

I too would love to see a preset for this.  Issue is being tracked via #389.


error running seq2HLA on mRNAseq

The error below seems to be arising from some software version incompatibility ? but it is not clear what. bowtie log is not empty, and bowtie version is 1.3.1
The digital haplotype is written into run-ClassI-class.digitalhaplotype2
Took 0.26239871978759766 seconds
2nd iteration done.
-----------2 digit typing results-------------
#Locus  Allele 1        Confidence      Allele 2        Confidence
A       no      NA      hoz("A01")     NA
B       no      NA      hoz("B07")     NA
C       no      NA      hoz("C*01")     NA
Calculation of locus-specific expression ...
run-ClassI-class.bowtielog
Traceback (most recent call last):
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 791, in
main()
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 786, in main
pipe.run()
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 140, in run
self.call_HLA(
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 252, in call_HLA
self.expression(locus_list, length_dict, map, run_name)
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 694, in expression
totalreads = float(linecache.getline(logfile, 1).split(':')[1])
IndexError: list index out of range
bash: 002/hla_map/tempus/R_2.fastq: No such file or directory

I installed the version of bowtie used to develop seq2HLA, so it seems to have moved past this error, but now fails at another step, with an equally opaque error, basically this never gets to the class II genotypes, only class I gets some stuff , I reverted to old version of bowtie and seq2HLA still fails after a while with this message , is this about python 2 versus python 3 ? The digital haplotype is written into /mnt/data/pfo/PFO002/hla_map/tempus/seq2HLA-ClassI-nonclass.digitalhaplotype3
Took 0.5703256130218506 seconds
Traceback (most recent call last):
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 791, in
main()
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 786, in main
pipe.run()
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 152, in run
self.call_HLA(
File "/mnt/data/software/seq2HLA/seq2HLA.py", line 304, in call_HLA
if fourDigit_solutions1[locus] > 1:
TypeError: '>' not supported between instances of 'str' and 'int'

Installing the old version of bowtie (0.12.7) and using python 2.7 fixed most problems, but one problem appeared in one dataset and that was due to a mistake in line 306 of seq2HLA,  the call to get_max_P should be replaced with self.get_max_P  and now there have been no more errors

so old version of bowtie (0.12.7), and python 2.7 with the appropriate biopython (pip install biopython==1.76)
and a modification in seq2HLA   (line 306 replace get_max_P with self.get_maxP)   and the problems disappeared, at least for me


How can I locate the materials of the humanoid of Deepmimic?  Are they in UnitySDK file?

I want to show the humanoid of deepmimic in Unity. Can I find it in your project?
If so, how can I locate it?

Sorry, I'm not sure I understand what you are asking. The humanoid I used is a modified version of either OpenAI or DeepMinds Humanoid.

Sorry, I'm not sure I understand what you are asking. The humanoid I used is a modified version of either OpenAI or DeepMinds Humanoid.

Sorry, I thought your project also have deepmimic humanoid so I ask the question.
I need to build a deepmimic humanoid now, and I want to ask how you build your humanoids. Is it done in unity3d or maya or blender or 3D max?
I want to find a way to create the humanoid and using it in Unity3D.

I used a script that converted the Mujoco xml from Deepminds and OpenAI's,
then I edited it in Unity
On Mon, Apr 13, 2020 at 1:50 AM hellozjj<EMAIL_ADDRESS>wrote:

Sorry, I'm not sure I understand what you are asking. The humanoid I used
is a modified version of either OpenAI or DeepMinds Humanoid.
Sorry, I thought your project also have deepmimic humanoid so I ask the
question.
I need to build a deepmimic humanoid now, and I want to ask how you build
your humanoids. Is it done in unity3d or maya or blender or 3D max?
I want to find a way to create the humanoid and using it in Unity3D.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Sohojoe/ActiveRagdollStyleTransfer/issues/12#issuecomment-612813481,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBSLICZ3I4C6NDASOX6VBLRMLG7FANCNFSM4MDR7HFA
.

I used a script that converted the Mujoco xml from Deepminds and OpenAI's, then I edited it in Unity
…
On Mon, Apr 13, 2020 at 1:50 AM hellozjj @.***> wrote: Sorry, I'm not sure I understand what you are asking. The humanoid I used is a modified version of either OpenAI or DeepMinds Humanoid. Sorry, I thought your project also have deepmimic humanoid so I ask the question. I need to build a deepmimic humanoid now, and I want to ask how you build your humanoids. Is it done in unity3d or maya or blender or 3D max? I want to find a way to create the humanoid and using it in Unity3D. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#12 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBSLICZ3I4C6NDASOX6VBLRMLG7FANCNFSM4MDR7HFA .

Could you sent me the script you used? My e-mail address is<EMAIL_ADDRESS>Thanks!

I used a script that converted the Mujoco xml from Deepminds and OpenAI's, then I edited it in Unity
…
On Mon, Apr 13, 2020 at 1:50 AM hellozjj @.***> wrote: Sorry, I'm not sure I understand what you are asking. The humanoid I used is a modified version of either OpenAI or DeepMinds Humanoid. Sorry, I thought your project also have deepmimic humanoid so I ask the question. I need to build a deepmimic humanoid now, and I want to ask how you build your humanoids. Is it done in unity3d or maya or blender or 3D max? I want to find a way to create the humanoid and using it in Unity3D. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#12 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBSLICZ3I4C6NDASOX6VBLRMLG7FANCNFSM4MDR7HFA .

I have converted what I need.
Thanks very much!!  Your advice is very useful!

Great! good luck!


deps: up goreleaser to v1.12.0

Details are here https://github.com/goreleaser/goreleaser/releases/tag/v1.12.0.

fixed by https://github.com/kamilsk/godownloader/blob/1b158d4f0b76595af3f24f2f97c71224e9f8f71c/go.mod#L8


Fix deprecation warning

Warnings:

aws_iam_instance_profile.s3_readonly: "roles": [DEPRECATED] Use role instead. Only a single role can be passed to an IAM Instance Profile

Thank you for this improvement, v1.3.0 has been just released.


Resolving bugs like...

In Women's Rights section, when we hover on the block, there is no action. Its responsive when we hover on the text instead. So, I will add that functionality. The same is active in the other section-"Women's Safety Laws".
Drop down is at the left side instead of right or along the end. I will resolve it.
While creating a new contact, its mandatory to enter the email-id. What if parents don't have mail. So it shouldn't be mandatory.
Deleting of contact should include the titles as "YES" or "NO" according to the question...Q.)Are you sure you want to permanently remove named contact?
There are some sentences which are not meaningful and grammatically  correct. would like to modify them as well.
All the stated issues will be modified!

Hi I am a Gssoc'21 participant and would like to work on this issue ,Could you please assign me this issue? @SUMEKAGARWAL

Hi @simranbhalla3 !
I am also a participant like you and I am not assigned with the issue yet!
Hello @swapnilsparsh , looking forward to make some commits if assigned.

Hello @swapnilsparsh , looking forward to make some commits if assigned.

@SUMEKAGARWAL Go ahead with the issue. Happy learning:)

@sakshikhachane The work is done!
Looking forward for any other changes that has to be changed and if not, request you to merge my PR.

@swapnilsparsh @sakshikhachane
Have a look on these changes. If something is not up to the mark, please update the change that have to be committed.
And if not, merge my PR.


library not updated for swift 4, gives issues

evaluateWithObject' has been renamed to 'evaluate(with:)

@yogendrakarekar Library is up to date with Swift 4.2 now. Please check


Base class example in C#, derived class example in VB

Moved issue to .NET
Old issue: https://github.com/MicrosoftDocs/visualstudio-docs/issues/5580, opened by @Bosch-Eli-Black
On this page, the code for the base class (TypeA) is written in C#, but the example for the derived class (TypeB) is in VB. This feels kind of odd.
Additional comments by Bosch-Eli-Black:
I suppose that ideally, each example would have both C# and VB variants, with the option for the user to choose which language he wants to view the samples in, as is done on some other pages :D

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

ID: e4e8200c-6283-341c-28d6-889bc776b4de
Version Independent ID: fd8cf98d-be1c-8265-a5c8-da1d17b29d1d
Content: CA2215: Dispose methods should call base class dispose (code analysis) - .NET
Content Source: docs/fundamentals/code-analysis/quality-rules/ca2215.md
Product: dotnet-fundamentals
GitHub Login: @gewarren
Microsoft Alias: gewarren

@gewarren This was fixed in #23196. Can you close?


How to create custom controls and hotspots in a Next.js project

I've gone through the section of creating custom controls and custom hotspots in the docs but the issue I've been facing is how to implement it in a Next.js project?
I've tried modifying the native styles in my global.css file
.pnlm-controls-container {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
}

But this dosen't seem to work.
It would be a great help if someone could help me figure out what I'm missing here or how to get this working since I have a project that's dependant on this.

I've never used Next.js, and, as stated in the readme, I don't provide support for such frameworks. This isn't an issue with Pannellum, and this issue tracker is not the appropriate forum for your question.


Add docker build --iidfile=FILE

- What I did
Added a --iidfile option to docker build which is similar to the --cidfile option to docker run (except it gets the image id instead of the container id).
This is intended to be used by build systems which want to avoid tagging (perhaps because they are in CI or otherwise want to avoid fixed names which can clash) by enabling e.g. Makefile constructs like:
    image.id: Dockerfile
    	docker build --iidfile=image.id .

    do-some-more-stuff: image.id
    	do-stuff-with <image.id

Currently the only way to achieve this is to use docker build -q and capture
the stdout, but at the expense of losing the build output.
- How I did it
I arranged for the image digest to be provided to the client in a machine readable form even in non-quiet mode by passing it back from the server using the existing Aux mechanism in the json message stream. For quiet mode the digest was already available.
- How to verify it
I added some test cases.
- Description for the changelog
Added --iidfile option to docker build
- A picture of a cute animal (not mandatory but encouraged)

/cc @dnephin @tonistiigi (guessing from the git log)

Can't we mux the streams, have 1 (2?) for build output, 1 for result?

Does pkg/jsonmessage have muxing? I couldn't find it if so (except insofar as messages can have a "stream" field or an "aux" one, which is a sort of pseudo-mux I guess).

Was thinking the same, but possibly build output already outputs on both stdout / stderr (if an error is printed during build?) - haven't checked though :blush:

@thaJeztah Build certainly can (and does) use both stdout and stderr, see https://github.com/docker/docker/blob/master/api/server/router/build/build_routes.go#L203..L204. In the output the stderr output is shown in red (see https://github.com/docker/docker/blob/master/pkg/streamformatter/streamformatter.go#L166).

Should say, the red for stderr bit is done server side I think, so the client is unaware which is which, it just sees a stream of {"stream": "Some stdout"}\r{"stream": "\033[91mSome stderr\033[0m"} (and with this change a {"aux": {"ID": "sha256:...."}} at the end) in the HTTP response body.

Ok, so the issue here is really that this is difficult to consume via the docker build CLI, but the actual response from the API it is possible to get the ID.

@cpuguy83 It wasn't possible to get the response via the API either unless you were happy to suppress all the build output, that's one of the things I had to fix here (by putting it into "aux" in the stream).

I wonder if the aux stream should also be used to get the IDs of intermediate image for multi-stage builds. Thoughts?

I wonder if the aux stream should also be used to get the IDs of intermediate image for multi-stage builds. Thoughts?

What would we do with the extra ids? I think they are already printed to stdout?

@dnephin One use case is to push them so that they can be used in a build cache later. Another way I was thinking would be to show the intermediate image IDs in docker inspect.

@tonistiigi interesting idea, I'll take a look at what that would entail.

Janky failures are:
16:53:20 =================================== FAILURES ===================================
16:53:20 ______________________ BuildTest.test_build_gzip_encoding ______________________
16:53:20 /docker-py/tests/integration/api_build_test.py:230: in test_build_gzip_encoding
16:53:20     assert 'Successfully built' in lines[-1]['stream']
16:53:20 E   KeyError: 'stream'
16:53:20 ________________________ ImageCollectionTest.test_build ________________________
16:53:20 /docker-py/tests/integration/models_images_test.py:15: in test_build
16:53:20     "CMD echo hello world".encode('ascii')
16:53:20 /docker-py/docker/models/images.py:172: in build
16:53:20     raise BuildError(event.get('error') or event)
16:53:20 E   BuildError: {u'aux': {u'ID': u'sha256:ffafe5af27841105bd9406b661d317dc197d9d519537dfdbde16ea9e1ec7c30d'}}
16:53:20 ======== 2 failed, 204 passed, 31 skipped, 2 xfailed in 221.82 seconds =========

i.e. it is tripping over the new element in the stream. I think this could be called a bug in docker-py, it is making unwarranted assumption about the contents of the stream. OTOH it is quite possibly not alone in having done so, so perhaps I need to look at versioning this new addition, WDYT?

I added a commit to switch to emitting an Aux for each image. It coincidentally reordered the message stream such that the tests no longer need fixups.

I think this could be called a bug in docker-py, it is making unwarranted assumption about the contents of the stream. OTOH it is quite possibly not alone in having done so, so perhaps I need to look at versioning this new addition, WDYT?

Ya, the first error is just in a test, but the second error is in the build client code, which is used by many. I think we will need to version this change unfortunately.

@dnephin Agreed. I think even with the changes made in https://github.com/docker/docker/pull/32406/commits/20114c436a171fd30373029b3fd853b9127e69cd vs https://github.com/docker/docker/pull/32406/commits/fa726fac711c46d546113765f98c889ac09c032f (where all the test code is now happy at least because the new message comes before the existing final one) I still need to version since other clients might not be liberal enough to accept the new messages.
I'll look into how to make that happen ASAP.

Is there an example somewhere on how to version a POST? I think I want to introspect the URL and extract the /vX.Y/ bit in order to determine whether the new message should be emitted or not, but I don't see any other code which appears to do that.

Found httputils.VersionFromContext and versions.GreaterThanOrEqualTo, which looks like just the thing I need.

Force pushed a rebase which bumps the API limit to 1.30 and resolves some conflicts (with bfcd95817afaedb078022fc2f335ead64afee55c, I think).

Janky failure is:
12:37:43 FAIL: docker_api_swarm_test.go:272: DockerSwarmSuite.TestAPISwarmLeaderElection
12:37:43
12:37:43 [dfb2b8733cdd7] waiting for daemon to start
12:37:43 [dfb2b8733cdd7] daemon started
12:37:43
12:37:43 [d456e13f11a84] waiting for daemon to start
12:37:43 [d456e13f11a84] daemon started
12:37:43
12:37:43 [d4399b74c61fa] waiting for daemon to start
12:37:43 [d4399b74c61fa] daemon started
12:37:43
12:37:43 [dfb2b8733cdd7] exiting daemon
12:37:43 [dfb2b8733cdd7] waiting for daemon to start
12:37:43 [dfb2b8733cdd7] daemon started
12:37:43
12:37:43 docker_api_swarm_test.go:332:
12:37:43     // and that after we added d1 back, the leader hasn't changed
12:37:43     c.Assert(leader.NodeID, checker.Equals, stableleader.NodeID)
12:37:43 ... obtained string = "zfkih3x83794gxg7j2xh2c2sl"
12:37:43 ... expected string = "i0a42fj8qdh5fgkg9tzdq4o4m"
12:37:43
12:37:43 [dfb2b8733cdd7] exiting daemon
12:37:43 [d456e13f11a84] exiting daemon
12:37:43 [d4399b74c61fa] exiting daemon

Don't think that is my fault here.

I guess I'm going to need to split this in two after https://github.com/moby/moby/pull/32694 but I'll wait for the dust to settle on that transition before I do so.

I've rebased.
It occurred to me that maybe the aux message should some sort of type field, such that it is extensible enough to include the result of each stage in a multistage build as something which can be picked out from the stream of layer ids. @tonistiigi any thoughts if that would be useful? I'd likely baulk at actually implementing that now, but I could clear the way in the future by including "type": "layer" in the JSON struct so it can be easily distinguished from some new variant in the future.

Design LGTM

I've pushed some updates based on @dnephin's comments (and I think replied to the rest). I'll squash them in the process of the rebase I'm about to do.

Rebased.

Thanks @tonistiigi. I addressed @dnephin's final nit and rebased over a conflict in version-history.md then force pushed.

Rebased over yet another large refactoring of this code (builder/dockerfile/builder.go this time), can we try and get this merged on this pass?

@ijc25 lint issue in ci

@tonistiigi Fixed, thanks for the heads up.

powerpc had a flaky test fail in TearDown. This is a known issue, so I think we can merge.