Question: With libnetwork, how to find the veth peer of a container's eth interface?

Hi,
It would be great if someone could help me out with this at the earliest - previously with socketplane, ovs was used and internal ports were created for interfaces inside docker containers. However, with libnetwork, veth pairs are being created for each interface plumbed within a container.
So, here are the steps I follow -
1) docker network create -d overlay enet1
2) docker service publish esvc1.enet1
3) docker service attach ct1 esvc1.enet1

I then see an additional eth1 plumbed in the container ct1, and as can be seen, alongwith eth0, it's also part of a veth pair -
root@5db800121b99:/# ip -d link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0
132: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:ac:11:00:1a brd ff:ff:ff:ff:ff:ff promiscuity 0
    veth
158: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:f3:86:28:45 brd ff:ff:ff:ff:ff:ff promiscuity 0
    veth
root@5db800121b99:/#

I need to get what eth1's veth peer is. So, I do this next inside the container ct1 itself -
root@5db800121b99:/# ethtool -S eth1
NIC statistics:
     peer_ifindex: 159
root@5db800121b99:/#

It tells me that the peer_ifindex is 159, so, I would expect this peer to reside somewhere on my host on which ct1 runs. So I go to the host and fire off an ip -d link show -
$ ip -d link show | grep 159
$

As can be seen, it's empty. Why is this so? What am I missing? Am I looking at the wrong place for this interface peer? In the above output, a bunch of other veths show up, but are too many, so I haven't pasted them here. Please let me know if you want me to paste that output.
Also, I have two containers running on the host, and brctl on the host shows the veth peers of the eth0 interfaces of  both containers -
$ sudo brctl show
bridge name	bridge id		STP enabled	interfaces
docker0		8000.36e2edec3b41	no		veth1bd121c
							vethb7ec76f
$

So why isn't it showing the veth peer of the interface that was plumbed using docker service attach on ct1?
I'm blocked on this, so it would be awesome if someone could point me to the right direction asap. TIA!

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

$ docker -v
Docker version 1.8.0-dev, build 6e64e05, experimental
$

$ uname -a
Linux docker-libnet-test2 3.19.0-21-generic #21-Ubuntu SMP Sun Jun 14 18:31:11 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$

$ docker info
Containers: 4
Images: 136
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 144
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.19.0-21-generic
Operating System: Ubuntu 15.04
CPUs: 2
Total Memory: 7.305 GiB
Name: docker-libnet-test2
ID: HL4A:P2XK:PDWA:U6SM:FQMB:ON6N:PS4L:I4KO:BUNB:KJVL:2DGV:YD3S
WARNING: No swap limit support
Labels:
 com.docker.network.driver.overlay.bind_interface=eth0
 com.docker.network.driver.overlay.neighbor_ip=<ip_removed>
Experimental: true
$

CC: @mavenugo @nathanleclaire

@vijayendrabvs Every network created using the Overlay driver has its own network namespace. And for every network (& its subnet combination), we create a linux bridge inside that dedicated namespace. The host end of the veth pair is moved into this namespace and attached to the bridge (inside of that namespace). Hence, if you look for the veth pair in the host namespace, you wont find any :-).
Instead, you have to execute these commands inside the namespace and you will be able to see all the info.

@mavenugo Thanks Madhu for the info! I'm still a bit lost because I don't see any network namespaces either on the host or inside the container -
On the host -
$ sudo ip netns list
$

Inside the container -
$ docker attach ct1
root@3df6fc6442d7:/#
root@3df6fc6442d7:/# ip netns list
root@3df6fc6442d7:/#

root@3df6fc6442d7:/# brctl show
bridge name	bridge id		STP enabled	interfaces
root@3df6fc6442d7:/#

What am I missing?? How do I view these bridge namespaces? Sorry if I'm asking a basic question or am missing something very obvious :(

@vijayendrabvs You'd have to bindmount from /var/run/docker/netns to /var/run/netns for them to be visible by iproute2.

Hi @cpuguy83 ! Thanks for the pointer but I still don't see the veth peer -

Added -v /var/run/docker/netns:/var/run/netns  when spinning up a privileged container
Did docker service attach to container on an existing overlay network.
Go into the container -

 $ docker exec -it ct1 /bin/bash
 root@6c358b339885:/go# ln -s /host/proc/1/ns/net /var/run/netns/default

This is the ip a output inside the container -

root@6c358b339885:/go# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
162: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:4/64 scope link
       valid_lft forever preferred_lft forever
178: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:bc:c8:f0:1e brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::42:bcff:fec8:f01e/64 scope link
       valid_lft forever preferred_lft forever
root@6c358b339885:/go#

Next, the ethtool -S eth1 output is -

root@6c358b339885:/go# ethtool -S eth1
NIC statistics:
     peer_ifindex: 179
root@6c358b339885:/go#

Now, finally, an ip netns exec default in the privileged container shows this (please note, 179 does not show up there) -

root@6c358b339885:/go# ip netns exec default ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
    link/ether 42:01:0a:f0:39:10 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/32 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default
    link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global docker0
       valid_lft forever preferred_lft forever
71: veth233de84: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ce:34:d9:b9 brd ff:ff:ff:ff:ff:ff
72: veth238c5a6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 9a:89:31:38:cf:0d brd ff:ff:ff:ff:ff:ff
76: veth312c017: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:bc:c8:f0:1e brd ff:ff:ff:ff:ff:ff
77: veth7846d68: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 1a:0c:3c:2d:6d:73 brd ff:ff:ff:ff:ff:ff
100: enet2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether da:82:7a:b8:35:1c brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global enet2
       valid_lft forever preferred_lft forever
119: veth4fc8789: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ac:12:2a:02 brd ff:ff:ff:ff:ff:ff
120: vethe03f4ae: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master enet2 state DOWN group default
    link/ether 1a:ee:07:bd:e1:ff brd ff:ff:ff:ff:ff:ff
128: veth5b2ae92: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ce:34:d9:b9 brd ff:ff:ff:ff:ff:ff
129: veth3814476: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether f2:ab:ae:ac:23:7b brd ff:ff:ff:ff:ff:ff
135: veth9302490: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ce:34:d9:b9 brd ff:ff:ff:ff:ff:ff
136: veth86f8e91: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether f6:d7:63:16:9c:d2 brd ff:ff:ff:ff:ff:ff
137: enet3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 42:54:f1:bb:53:e7 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global enet3
       valid_lft forever preferred_lft forever
138: veth1ac5040: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ac:13:2a:02 brd ff:ff:ff:ff:ff:ff
139: veth2ca90f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master enet3 state DOWN group default
    link/ether 76:7e:d2:e0:d4:17 brd ff:ff:ff:ff:ff:ff
155: vethbceb447: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ce:34:d9:b9 brd ff:ff:ff:ff:ff:ff
156: veth1ba37cb: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 2a:6b:b0:2e:2b:93 brd ff:ff:ff:ff:ff:ff
160: veth6634e11: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:ce:34:d9:b9 brd ff:ff:ff:ff:ff:ff
161: vethd0b06bb: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 9a:45:60:5e:36:29 brd ff:ff:ff:ff:ff:ff
163: vetha46c3e1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue master docker0 state UP group default
    link/ether 0e:e9:95:7c:a0:89 brd ff:ff:ff:ff:ff:ff
165: vrpeth2pl712: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast master docker0 state UP group default qlen 1000
    link/ether 9a:a3:09:bc:29:41 brd ff:ff:ff:ff:ff:ff
170: veth934f54b: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:bc:c8:f0:1e brd ff:ff:ff:ff:ff:ff
171: veth894dc49: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 0e:1d:63:d4:c1:fe brd ff:ff:ff:ff:ff:ff
173: veth3bc7e88: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue master docker0 state UP group default
    link/ether 6e:b5:c1:96:dc:39 brd ff:ff:ff:ff:ff:ff
175: veth0fc8a2d: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 02:42:bc:c8:f0:1e brd ff:ff:ff:ff:ff:ff
176: veth040b0ed: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
    link/ether 66:83:3f:33:19:9c brd ff:ff:ff:ff:ff:ff
root@6c358b339885:/go#

@mavenugo @cpuguy83 We figured out that the name of the network/bridge namespace is the same as the network ID as seen in docker network ls, (and present in /var/run/docker/netns/), thanks again for the pointers!
However, we're seeing some issues, and I'm detailing them below. I will log separate issues for them if required, but will note them down here for continuity.

The libnet network namespace can only be viewed in the host, and not from within a privileged container. So, if I have a container "ct2" -

$ docker ps
CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS               NAMES
856623f9f7de        ubuntu              "/bin/bash"          About an hour ago   Up About an hour                        ct2
$

and it is attached to one service by name "esvc1.enet1" -
$ docker service ls
SERVICE ID          NAME                                           NETWORK             CONTAINER
ea2b815a0d77        esvc1                                          enet1               856623f9f7de
796c8da4d0dd        ct2                                            bridge              856623f9f7de
$

and the network ls is -
$ docker network ls
NETWORK ID          NAME                TYPE
7fffd228ab54        none                null
2b8eaaed78ed        bridge              bridge
49e869f9e557        host                host
2b14fae6fcf6        enet1               overlay
$

The network namespace for the network 2b14fae6fcf6 is at -
$ sudo ls /var/run/docker/netns/2b14fae6fcf6
/var/run/docker/netns/2b14fae6fcf6
$

All the commands above were executed on the host. Now, on the host, if I attempt to mount and investigate the above network namespace, it works as shown below -
vb@big-libnetinst1:~$ sudo ln -s /var/run/docker/netns/2b14fae6fcf6 /var/run/netns/ct2
$
$ sudo ip netns exec ct2 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether ce:bf:8e:35:db:f2 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::a02e:38ff:fe44:b0aa/64 scope link
       valid_lft forever preferred_lft forever
200: vxlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN group default
    link/ether ce:bf:8e:35:db:f2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ccbf:8eff:fe35:dbf2/64 scope link
       valid_lft forever preferred_lft forever
202: veth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default
    link/ether ea:5b:7e:63:29:07 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::e85b:7eff:fe63:2907/64 scope link
       valid_lft forever preferred_lft forever
$

Here, 202 is the veth peer I was looking for. To confirm this, from within the container ct2, I check thus -
root@856623f9f7de:/# ethtool -S eth1
NIC statistics:
     peer_ifindex: 202
root@856623f9f7de:/#

It's good until here. However, the problem I have is that I cannot do the namespace inspection from a privileged container (this container does not mount /var/run/netns in this case, but it makes no difference even if it does - the result is the same. This container does mount /var/run/docker/netns) -
$ docker exec -it roxproxy /bin/bash
root@400da40baaa6:/go# ln -s /var/run/docker/netns/2b14fae6fcf6 /var/run/netns/ct2
root@400da40baaa6:/go# ip netns exec ct2 ip a
setting the network namespace "ct2" failed: Invalid argument
root@400da40baaa6:/go#

Why is this the case? We ran an strace on this and we saw that the setns() call fails with an invalid argument error -
open("/var/run/netns/ct2", O_RDONLY|O_CLOEXEC) = 4
setns(4, CLONE_NEWNET)                  = -1 EINVAL (Invalid argument)

Any idea how we can address this?
Also, now that every network gets its own namespace - how can we run proxies within privileged containers? Without visibility into the ports, what would be good ways of doing it?

cc: @mrjana @dave-tucker
Any update on this?

Can this issue be closed now you've got #14743 (and a workaround on there as well)?

Yes. I think this can be closed based on https://github.com/docker/docker/issues/14743#issuecomment-124264534.

closing. thanks!


Use ::outline for polygon line properties

To make it fully compatible with Vector rendering, we need to use different rendering layers when using lines in polygons.
So at any time use a line-color property in a polygons dataset, we should respect the existing style if it uses a ::outline approach, or we must use the ::outline approach.
References:

https://github.com/CartoDB/deep-insights.js/issues/549.
https://github.com/CartoDB/cartodb/issues/7723.

Merged, deployed, 🚀 !


allow ROI rectangle top/left/bottom/right to be 0 for query

It is nature to fill the ROI rect with zero when query the max
supported ROI numbers. Without this change, the query does not
work for such case.

as mentioned above that "@eistarov good point, i'm afraid i have no time for such change, just pass the ball to msdk team, thanks."


Create Unit test to assert properties observed by Ember.observer()

@notmessenger: This is ready to merge

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io

@notmessenger: Hang on. I found something that needs to be updated.

Comments from the review on Reviewable.io

Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

tests/unit/components/sl-date-picker-test.js, line 494 [r1] (raw file):
You need to add a blank line at the end of the file to pass listing.

Comments from the review on Reviewable.io

@juwara0 github doesnt show the empty line by default, it is present and has passed linting in the build. ready to merge.

@notmessenger: this is ready to merge

Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from the review on Reviewable.io

Reviewed 1 of 1 files at r1.
Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from the review on Reviewable.io


GPL-699 Result 'Limit of detection' == 'Positive'

User story
GPL-699 | As Lead Covid-19 Statistical Geneticist (Jeff B) I would like samples with a result of 'Limit of detection' to be treated the same as a positive result in col E of plate map files
Who are the primary contacts for this story
Rich L
Cristina A
Acceptance criteria
To be considered successful the solution must allow:

[ ] On finding value of 'Limit of detection' in result column E change crawler behaviour to see this as positive to be picked, given current Ct rules

Dependencies
Need to clarify if values 'Detected' and 'Not Detected' are Positive and Negative respectively
Additional context
Data is parsed today as result of GPL-654. As of 22nd Oct, no results of 'Limit of detection' have been seen in wild.

UPDATE:
A GPL-654 commit added 'limit of detection' to the ALLOWED_RESULT_VALUES in Crawler. Does the uppercase L in limit mean that this code is currently not working as intended?
There was also a comment TODO: confirm! 'Detected', 'Not detected'?, which has since been removed. Who can clarify if values 'Detected' and 'Not Detected' are Positive and Negative respectively?


Copy Ruby extension from vscode

There are a couple of test files here, I'm not sure if they should be removed or not.
Thanks!

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for porting this over, @mhanberg ! Tried it with the included fixture and worked great.

There are a couple of test files here, I'm not sure if they should be removed or not.

Longer-term - I plan on making a fork of VSCode just for building and packaging the extensions (some have compiled typescript or other code) - the tests will be stripped as part of that build process. But for now its fine 👍


Add plugin to official repository

It would be nice if the plugin could be installed and updated through the official repository.

Oh wow, I was too quick with opening this issue after reading the readme. The plugin is already in the repo. I guess all there is left to do is adjust the install instructions. Sorry for the noise.

Just added a hint to the official KiCad repo to the readme. Thanks for the input!


CodeChecker cmd diff is missing a print-steps flag

You cannot print from the command line the bug steps in diff mode (as you can in the parse command).
This would be very useful feature.

This is a duplication of #1424 so I will close this one.


feat: sort Evaluation-predict_and_score calls by dataset row

Because of async processing, the Evaluation-predict_and_score are ordered rather arbitrarily within the trace tree. This is a bit of a hack to sort them by dataset row # instead.

Nice quick fix... would be better for us to add this the attributes of the call however..

Yeah, this won't fix the sort order when viewing the child calls in the grid for example.


Issue 12 Allow center to be an Object

This PR extends circleToPolygon so the function accepts center coordinate either as an array or as an object. Behavior is unchanged when the center coordinate is an array.
Key-pair priorization
Passing the lat and lon values in an object causes the complication that the object can contain more than two keys, and some of the keys might seem to be duplicates (eg: { lat, latitude, longitude }, where lat does not mean "latitude").
This problem can be solved in several ways. I chose to solve it by looking for complete key-pairs. The first found complete key-par is being used (no matter if the keys has the correct values or not). Key pairs are being looked for in the following order:

{ lat: latValue, lon: lonValue }
{ lat: latValue, lng: lonValue }
{ latitude: latValue, longitude: lonValue }

In other words;

the object { lat: 0, latitude: 1, lng: 3, lon: 4, longitude: 5 } will be interpreted as  [4, 0]
the object: { lat: 6, latitude: 7, lng: 8, longitude: 9 } will be interpreted as [8, 6]
the object { lat: 10, latitude: 11, longitude 12 } will be interpreted as [12, 11]
the object { lat: "there", latitude: 1, lng: 3, lon: "hello", longitude: 5 } will be interpreted as  ["hello", "there"]

Error handling
No valid key pairs
circleToPolygon will throw an error if no complete key pairs are found (when center argument is an object).
In other words, the following key pairs will throw an error:

{ lat, longitude}
{ lng, latitude }
{ log, latitude }

No valid values
An error will be thrown if the first found complete key pair does not have the correct type or values. For example: { lat: "General" lon: "Kenobi", latitude: 120.827492, longitude: 40.729362 } will throw an error since lat/lon is used instead of latitude/longitude
Other
I have chose to accept objects such as { lat, latitude, longitude } since maybe it makes sense for someone to have the key lat in the center object for use somewhere else, idk...
I'm wondering if it makes more sense to prioritize the keys pair latitude/longitude the highest, instead of lowest...
Also, should I have it look for the first valid key-pair instead of the first complete key pair?
I'm open to changing this behavior is requested.
This closes #12  .

I'm closing this PR since it's quite big and contain some things that is not connected to the issue. I will instead break the PR into several smaller PR's that are much more easy to check. Easier to check several small PR's with small changed than one big PR.


Update .GitHub/workflows README.md

This PR adds additional instructions to practically fix GitHub workflows.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

~Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.~
~Update CHANGES.md with noteworthy changes.~
~If this contribution is large, please file an Apache Individual Contributor License Agreement.~

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

waiting on author


FAQ Slash Command

This command will allow anyone to use access the FAQ at a moments notice. The current problem is that only certain roles are able to run the mee6 command and we should allow anyone to be able to use them.

Role restriction was purposeful. We do not need everyone spamming the command. Only staff members need access.

Thats fine. Ill just close it and call it a day.


SUBMARINE-559. [API] Define Swagger API for pre-defined template registration/delete, etc.

What is this PR for?
Make basic rest api for management experiment template.
get, post, del, patch
http://localhost/V1/template
What type of PR is it?
[Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring]
Todos

[x] - REST API

What is the Jira issue?
https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-559
How should this be tested?

First time? Setup Travis CI as described on https://submarine.apache.org/contribution/contributions.html#continuous-integration
Strongly recommended: add automated unit tests for any new or changed behavior
Outline any manual steps to test the PR here.

Screenshots (if appropriate)

Questions:

Does the licenses files need update? Yes/No
Is there breaking changes for older versions? Yes/No
Does this needs documentation? Yes/No

Could you take a look at test failure?
https://travis-ci.org/github/apache/submarine/jobs/711883279
Results :
Tests in error:
  ExperimentTemplateServiceTest.testSelect:61->compareTemplates:115 ClassCast co...
  ExperimentTemplateServiceTest.testUpdate:87->compareTemplates:115 ClassCast co...

Thanks @JohnTing , it looks better to me. One question: Does our ExperimentSpec support {{...}} format? (In other words, is it a valid YAML syntax?)
Also, we need to do validations for the parameters specified in the experiment spec. For parameters in {{..}}, and In ParameterSpec, we need make sure they have 1-1 mapping.
I think replace parameter logic will be done when we implement submit pre-defined template logics.

@wangdatan , thanks for your comment,
I will add replace parameter logic and modify the replacement format.

@wangdatan , thanks for your comment,
I will add replace parameter logic and modify the replacement format.

Thanks @JohnTing , I think modify/replace logic can be done in the submit/execution JIRA: https://issues.apache.org/jira/browse/SUBMARINE-558
We need to make sure verification/validation can be done in this JIRA. (Make sure 1-1 match of parameterSpec and experimentSpec).

@JohnTing , thanks for the great efforts!
@jiwq I'm thinking once this experiment template is ready, will it change the run experiment spec implementation dramatically?

@JohnTing Thank you contribution this feature.
Will merge if no more comments.


Implement Solution Checker for Managed Environments

Solution Checker for Managed environments
Managed environments requires the configuration of Solution checker, You can use solution checker in Managed Environments to enforce rich static analysis checks on your solutions against a set of best practice rules and identify problematic patterns.
Solution Checker enforcement description
Automatically verify solution checker results for security and reliability issues before solution import. Learn more
Solution Checker ask for 3 kinds of enforcement:
•	None, Turn off solution checker verification during solution import. You can continue to manually review the results in the solution explorer.
•	Warm, Check for security and reliability issues in the solution checker results, but do not block solution import for any issues.
•	Block, Check for security and reliability issues in the solution checker results and block the solution from being imported if critical issues are found.
Rule exclusions / Excluded Rules
You can select to exclude solution checker rules from enforcement. For example, a particular rule might take significant time and effort to fix across the solution, but you would still like the rest of the rules to be enforced. Use the Excluded Rules dropdown list to select the rules to exclude from enforcement.

The list contains rule names and descriptions grouped by category and sorted by severity. As a reminder, only critical severity rules block a solution from being imported.

Excluded Rules for Managed Environments

Useful links:
Solution checker enforcement in Managed Environments - Power Platform | Microsoft Learn
Use solution checker to validate your solutions - Power Apps | Microsoft Learn
Resource

Resource Name: powerplatform_[your resource name]
API documentation:
Estimated complexity/effort:
Related resources/data sources:

Potential Terraform Configuration
# Sample Terraform config that describes how the new resource might look.

resource "example_resource" {
  name = "example"
  parameter1 = "value1"
  parameter2 = "value2"
}

Definition of Done

[ ] Data Transfer Objects (dtos)
[ ] Data Client functions
[ ] Resource Implementation
[ ] Resource Added to Provider
[ ] Unit Tests for Happy Path
[ ] Unit Tests for error path
[ ] Acceptance Tests
[ ] Example in the /examples folder
[ ] Schema Documentation in code
[ ] Updated auto-generated provider docs with make docs

Contributions
Do you plan to raise a PR to address this issue?

[ ] Yes
[ ] No

See the contributing guide for more information about what's expected for contributions.

The provider already allows you to basically enable or disabled the Automatic Solution Check, as per below.
resource "powerplatform_managed_environment" "managed_development" {
  ...
  ## Options available: None, Warn, Block
  solution_checker_mode      = "None"
}

This issue is about fine tuning the exact rules that the Solution Check will actually check, and there are lots of options, so it would be a lot of effort to create, test and document these, for what I think are very edge use-cases. Not sure it is worth the effort IMHO.


Use exists() instead of filter for a check

Just use an exists() where appropriate. References #2, which can probably be closed after this.

Good catch!

LOL I think I was the one who put that in back in the day.

We won't hold it against you @pydanny :)


How do you duplicate a GameObject

So I was working on a mod which requires me to clone/duplicate a GameObject, what should I do?

UABEA does not support this automatically yet. You can always manually copy and fix up dumps, but I have no guide for you to follow about how to do that. This feature is planned but I haven't had time to work on it. There are a few issues open about this already so I'm closing this one.


added static ip fix for vyos vm

@Vikash082

Merging it. Tested on integration setup. Any further comments will be addressed as next step. Comments are accepted even this PR is closed.


how i can show elements in grid

please show me how i can dispaly in bootsrap grid !?

Please use the correct issue template


no output detections

Hey, I am running your deploy model (caffemodel + prototxt + voc labelmap) in intel caffe framework (not using python scripts) but there are no detections found.
When I run normal voc and coco models everything seems fine, but your model has high speed but I can't see any detections at all.
Do I have to do this rescaling of images?
img = img - 127.5
img = img * 0.007843

@sfraczek May i know how did you resolve

I couldn't see detections in the output, but after I rescaled the pixel values as in the code section in my first post, it started working. I found people experiencing similar problems online.


Allow overriding accuracy metric

Right now accuracy (used in non-regression fits) is hard coded to be:
predict = predict_proba.argmax(axis=1)
accuracy = T.mean(T.eq(predict, y_batch))

It seems pretty damn useful for classification fits.  :-)


Add int8 and int16x8 support for BROADCAST_TO operator

Added support for quantized broadcast_to operator
Added tests for quantizing broadcast_to model

@MeghnaNatraj One of the internal checks (feedback/copybara) is failing. Any idea what could be causing that?

@MeghnaNatraj One of the internal checks (feedback/copybara) is failing. Any idea what could be causing that?


[question] HER and prioritized experience replay

Hi
in the stable-baselines implementation, HER does not support prioritized replay buffer.  In the HER Paper they state that: "Prioritized experience replay (....) is orthogonal to our work and both approaches can be easily combined". So my question is: Are there 'deeper reasons' for the lack of support or is it just a currently missing feature?
Best Regards,
Johannes

I believe there are no bigger reasons to lack of support, other than lack of implementation. It would require coming up with prioritizes for the samples in the buffer, and then updating the replay_buffer.py in HER. I am not too familiar with HER to know how easy of a feat this would be. On the first glance it does not sound as straight-forward as with DQNs.

Actually, PER has been shown not to improve performance over HER.
Prioritised Sequence Experienec Replay (PSER) outperforms PER but has not been imlpemented with HER.
However, Energy Based Prioritisations (EBP) significantly improves over HER and PER. I have put my name forward to imlpement this in the new PyTorch version.

Ok, thanks for the info! Indeed any such new features would be things for the PyTorch version :).

I added it to possible features for  Stable-Baselines3 1.1+ in https://github.com/DLR-RM/stable-baselines3/issues/1


[WIP] ANSIBLE_LOCAL_TEMP/ANSIBLE_REMOTE_TEMP vars

Fixes an issue on podified where ~/.ansible/tmp is not writable since ~/ is actually / for our linux user.  Error output looks something like this:
Unhandled error:
 Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/ansible/utils/path.py", line 90, in makedirs_safe
    os.makedirs(b_rpath, mode)
  File "/usr/lib64/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib64/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: b'/.ansible'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 572, in update_config_data
    value, origin = self.get_config_value_and_origin(config, configfile)
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 516, in get_config_value_and_origin
    value = ensure_type(value, defs[config].get('type'), origin=origin)
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 122, in ensure_type
    makedirs_safe(value, 0o700)
  File "/usr/lib/python3.6/site-packages/ansible/utils/path.py", line 95, in makedirs_safe
    raise AnsibleError("Unable to create local directories(%s): %s" % (to_native(rpath), to_native(e)))
ansible.errors.AnsibleError: Unable to create local directories(/.ansible/tmp): [Errno 13] Permission denied: b'/.ansible'
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/ansible/utils/path.py", line 90, in makedirs_safe
    os.makedirs(b_rpath, mode)
  File "/usr/lib64/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib64/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: b'/.ansible'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 572, in update_config_data
    value, origin = self.get_config_value_and_origin(config, configfile)
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 516, in get_config_value_and_origin
    value = ensure_type(value, defs[config].get('type'), origin=origin)
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 122, in ensure_type
    makedirs_safe(value, 0o700)
  File "/usr/lib/python3.6/site-packages/ansible/utils/path.py", line 95, in makedirs_safe
    raise AnsibleError("Unable to create local directories(%s): %s" % (to_native(rpath), to_native(e)))
ansible.errors.AnsibleError: Unable to create local directories(/.ansible/tmp): [Errno 13] Permission denied: b'/.ansible'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/bin/ansible-playbook", line 62, in <module>
    import ansible.constants as C
  File "/usr/lib/python3.6/site-packages/ansible/constants.py", line 175, in <module>
    config = ConfigManager()
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 291, in __init__
    self.update_config_data()
  File "/usr/lib/python3.6/site-packages/ansible/config/manager.py", line 584, in update_config_data
    raise AnsibleError("Invalid settings supplied for %s: %s\n" % (config, to_native(e)), orig_exc=e)
ansible.errors.AnsibleError: Invalid settings supplied for DEFAULT_LOCAL_TMP: Unable to create local directories(/.ansible/tmp): [Errno 13] Permission denied: b'/.ansible'```

Switching to /tmp/.ansible_local_tmp and /tmp/.ansible_remote_tmp should allow this most playbooks that had issues writing to those respective tmp dirs to now do it.
Links

Comments on the original commit (without a branch):  https://github.com/ManageIQ/manageiq/commit/ac6f4d8d3ac0d431264724dc75a32e90b6407f2e#commitcomment-52455378
Ansible config link:  https://github.com/ansible/ansible/blob/ad203a7dbdbcab9af0b89a577433af860b542e01/examples/ansible.cfg#L4-L8

Logging a conversation that happened here:
https://github.com/ManageIQ/manageiq/commit/ac6f4d8d3ac0d431264724dc75a32e90b6407f2e#commitcomment-52455378
Because I am pretty sure this conversation is going to disappear after I do a git push --force shortly.

@kbrock (2021-06-18T14:08:04Z)
https://github.com/ManageIQ/manageiq-appliance/blob/master/LINK/root/.ansible.cfg
you probably want json file format
not sure if you want to add the share where the libraries can be found

@NickLaMuro (2021-06-18T14:13:34Z)
@kbrock this is very much a work in progress, and I haven't gotten to test this on a podified installation to even confirm it works.
But from what I can tell, ansible will read from any and all required > config fields from the file list described here:
https://github.com/ansible/ansible/blob/devel/examples/ansible.cfg#L4-L8
And then mash them together as a single unit. I still need to test to make sure, but I don't think I need to edit that particular file with this change to allow this to get both sets of configs.

@Fryguy (2021-06-21T15:11:37Z)
Somehow I got pinged on this comment :) While it's a WIP, while I'm here, I'd suggest we don't do something different for podified vs appliance if possible - ideally we should keep the code the same between the two, and only diverge if necessary.

@NickLaMuro (2021-06-21T15:22:59Z)
I agree with you in concept, but I wonder if it is just going to break things in other unknown ways.
I wanted to keep the potential damage to just one of the two environments, specifically to just the one that is already having issues. I am afraid that if we make changes everywhere, we risk breaking some other use case that wasn't broken in the first place.
... but maybe that is just me being paranoid.

But from what I can tell, ansible will read from any and all required
config fields from the file list described here:
https://github.com/ansible/ansible/blob/devel/examples/ansible.cfg#L4-L8

Ok. I find the language confusing and am unsure if it means it reads only the first file it finds, or if it reads all files and uses that order to determine overrides.
The pod and the non-root use case seem similar. So we can either configure each instance, or we can see if it is possible to configure the global ansible case to work for us.
Either way, I still feel that since we are installing our playbooks via rpm, it makes sense to just install them into the standard share. As a fallback, we can symbolically link it.

@kbrock so I took some time to fully understand how this works by reading the source for this in ansible itself:
https://github.com/ansible/ansible/blob/c404a9003fbfc56785d32e3f6e6ab005d0467927/lib/ansible/config/manager.py
To start, this is the code that is being described in that comment that I linked originally is here:
https://github.com/ansible/ansible/blob/devel/lib/ansible/config/manager.py#L198-L218
Which is called by default in __init__, so when the class is loaded.
What that will do is find the first config file that exists, and use that as "THE CONFIG" file for that run.  That said, there is also the _base_defs, which is this file:
https://github.com/ansible/ansible/blob/c404a9003fbfc56785d32e3f6e6ab005d0467927/lib/ansible/config/base.yml
Which holds all of the defaults that come with ansible, and that is also loaded as part of the __init__ method, and then is used as a fallback when finding a particular config value here:
https://github.com/ansible/ansible/blob/c404a9003fbfc56785d32e3f6e6ab005d0467927/lib/ansible/config/manager.py#L440-L451
Note:  defs is what is _base_defs that is loaded, but it is called through get_configuration_definitions that will check for a plugin first.

Main point being is that we are both partially right, but your suggestion to add it to the /root/.ansible.cfg might be the better option since this approach would overwrite anything that is written there for the appliance.  Though, not sure that is used in pods, so maybe consolidating those options to here might also make more sense.
@Fryguy @kbrock thoughts?
@miq-bot add_reviewer @kbrock

Okay, went the route of including the config from here:
https://github.com/ManageIQ/manageiq-appliance/blob/485dfe59deddbb2d54558368021cba14525247d2/LINK/root/.ansible.cfg
As part of this change since it would be overwritten on an appliance, and it just makes sense to have it configured in once spot.  This might be why we weren't seeing output properly on podified, since the stdout_callback attribute would only be in place in production.
Will check on this tomorrow.

Ok reading back, I think I had a similar concern to @kbrock's in that we provide an OotB ~/.ansible.cfg file with some values, and I couldn't tell if the changes here would replace those values or merge those values.  If the former, then that would be a problem, because we need those values in ~/.ansible.cfg to be present.
I think the current proposal on the table is to see if we can get those 2 values into the ~/.ansible.cfg default config (I know I mentioned this specific thing as a solution somewhere, but I can't find where I said it 😅 )
I'm surprised to hear that the file might not be present in podified - I was pretty sure we verified that early on, but if not, that could explain some of the problems we are seeing.
An alternative might be to remove the ~/ansible.cfg entirely and write it out on demand to how this PR does it.  I think the reason @carbonin created it in it's current form was because it allowed developers to have a different ~/.ansible.cfg locally, and only on production builds do the paths in the ~/.ansible.cfg make sense (i.e. it's a production specific config file)

I'm surprised to hear that the file might not be present in podified - I was pretty sure we verified that early on, but if not, that could explain some of the problems we are seeing.

~/.ansible.cfg is part of the manageiq-system RPM which should be in both appliances and podified:
https://github.com/ManageIQ/manageiq-rpm_build/blob/ec0fcc85f7d24010278148f4bab83447d18884b5/rpm_spec/subpackages/manageiq-system#L23

I think the reason @carbonin created it in it's current form was because it allowed developers to have a different ~/.ansible.cfg locally, and only on production builds do the paths in the ~/.ansible.cfg make sense (i.e. it's a production specific config file)

I was thinking for this, and it can be a separate pass, was to be able to merge the config values from this in with some others that are user supplied.  That way we can force some things that need to be the way they are for things to work (the json output for example), but then allow additions or new values as the user sees fit.

@kbrock @Fryguy So are we thinking we want to move forward with this solution, or should I just fix the existing locations for the .ansible.cfg?

I do not like ~root/.ansible.cfg. Sure, it is present on all systems, but I think pods and non-root user don't play nicely with that root file. I would like it if we would delete ~root/.ansible.cfg
I prefer /etc/ansible.cfg but again, I don't know how to make this happen with rpms, so going your route is a good alternative.
I will put in a pr to put ansible libraries into the standard ansible path.

I was thinking we could just use the standard ansible path like https://github.com/ManageIQ/manageiq-rpm_build/pull/159
While I'd prefer installing the files into the path instead of these symlinks, we gotta keep @Fryguy happy.

I'd be ok with killing ~/.ansible.cfg - I don't really understand the original rationale for that specific file.  I think it was because appliance specific paths may not match local development paths, so for development the idea was a person could create their own .ansible.cfg.  If you dynamically generate with hardcoded paths, there's no way for a developer to change it.
That being said, I'd be ok with removing it and finding alternatives later.

I think it was because appliance specific paths may not match local development paths, so for development the idea was a person could create their own .ansible.cfg.

Let me do some git/github spelunking before we charge in and make this change without understanding the context of "why".

Put my findings for the above here:
https://github.com/ManageIQ/manageiq-rpm_build/pull/159#issuecomment-869844682

Myself an @kbrock had a long talk about this PR today, and decided that it was best to switch the fix for this to using ENV vars, and eventually transition to removing the other two entries in our config all together.  This would mean:

Replacing the stdout_callback to be a ENV var
Removing the roles_path variable all together and /usr/share/ansible/roles for installing our Ansible::Content

You can see the previous implementation of this branch here:
https://github.com/ManageIQ/manageiq/compare/master...NickLaMuro:embedded_ansible-fix-podified-tmp-permissions-old
Arguably, the setting of these variables probably should be global, so this PR might ultimately be the fix we want to go with, but it worked as a solid POC to prove that this does work (despite the inconsistency between the .cfg var using _tmp and the ENV var using _TEMP... :rage:).
Hopefully at least the approach of using ENV vars is something we can agree on, and then choosing the best place for these to live can be determined after we have come to a consensus.
cc @Fryguy @kbrock

Nice nick.
I was thinking we could put those variables in

master defaults/manageiq.properties
lasker/before defaults/evm

Yeah, that does it for appliances, so I would also need a PR for podified, which I think would be here:
https://github.com/ManageIQ/manageiq-pods/blob/ec8aeffa97a02acfdd35cd0620da1b8d78e85d2f/images/manageiq-base/container-assets/container_env

If you could double check. I think https://github.com/ManageIQ/manageiq-pods/blob/ec8aeffa97a02acfdd35cd0620da1b8d78e85d2f/images/manageiq-base/container-assets/container_env#L3 loads evm which loads the properties file env vars

DM'd with @kbrock and we confirmed that (through a bunch of other repos) that manageiq-appliance is used by the manageiq-pods repo to build it's /etc/default/evm file, so the change is only needed in the two spots Keenan outlined.

Are we talking about dynamically giving the ENV vars to the subprocess, or making them essentially static ENV vars in the appliance/podified bootstrap files?  One reason I'm asking is whether we need to change them per invocation (i.e. there can be multiple embedded ansible runs per appliances/pod.
Another interesting counter-point is that (I think) we use the files inside the embedded ansible run directory for everything else.

@Fryguy well, previously they were static anyway, because we were just using the default, so I don't think:

(i.e. there can be multiple embedded ansible runs per appliances/pod.

should be a concern unless someone has run into something.  Would rather address when it becomes a problem instead of assuming it "might".
The reason I think using a more "global" setting makes more sense (again, see the related PRs on ManageIQ/manageiq-appliance) is because if someone was going to try debugging this with ansible-playbook directly, they would need to override those variables anyway.

Merged https://github.com/ManageIQ/manageiq-appliance/pull/319, so I think we can close this one.


Metrics API returns 404 if proxy/all is used

Describe the bug
If we want to receive a list of all feature flags (enabled + disabled) we have to use proxy/all endpoint, but in that case metrics API returns 404 because of proxyUrl containing all.
404 /proxy/all/client/metrics
Cannot POST /proxy/all/client/metrics
Steps to reproduce the bug

Set baseUrl as proxy/all
Wait for 1 minute (default metrics inverval)

Expected behavior
We shoud have possibility to use proxy/all and metrics APIs
Logs, error output, etc.
404 .../proxy/all/client/metrics

<!DOCTYPE html>

<meta charset="utf-8">
<title>Error</title>

Cannot POST /proxy/all/client/metrics

Screenshots
No response
Additional context
No response
Unleash version
5.12.4
Subscription type
Enterprise
Hosting type
Self-hosted
SDK information (language and version)
1.0.0

Hi,
are you using Unleash Edge or Proxy?

Hi,
are you using Unleash Edge or Proxy?

we are using Proxy

The proxy lacks that end-point. However if you use Unleash Edge it is already supported.
The proxy is currently in maintenance mode, and we encourage all users to migrate to Edge when they have a chance.

To jump in here as a coworker to @vitoksmile - We would like to migrate to using Unleash Edge, but it's not a feature parity yet Unleas Edge - not supported. In our setup we a relying on context enrichers in the Proxy, hence we won't be able to migrate before that is supported


Use production GraphQL server

We are now testing new beta GraphQL service (see https://github.com/kiwicom/react-native-app/commit/6967c5c43299c21038b865b2598edc07179ce62b). Switch the backend instances and use graphql.kiwi.com after few days/weeks of testing.

Cannot switch now - there is a problem with proxy tracing and error reporting. It must be postponed until this is resolved.

Testing was stopped due to production release. See: https://github.com/kiwicom/react-native-app/commit/3d8bc3152e603749a9bd1ce4576c75221ea67ebb


Cannot install library on Python 3.10

Attempting to install the library in a virtualenv running Python 3.10 fails with the following trace, which seems to come from quicklib:
  Complete output (11 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-6ih54_ro/electrasmart_2ba398d1a3774079a409a3ece0ad7f9d/setup.py", line 10, in <module>
      _sys.path.insert(0, zips[0]); import quicklib; _sys.path.pop(0)
    File "quicklib_incorporated.v0.4.4.zip/quicklib/__init__.py", line 1, in <module>
    File "quicklib_incorporated.v0.4.4.zip/quicklib/versioning.py", line 2, in <module>
    File "quicklib_incorporated.v0.4.4.zip/past/builtins/__init__.py", line 43, in <module>
    File "quicklib_incorporated.v0.4.4.zip/past/builtins/noniterators.py", line 24, in <module>
    File "quicklib_incorporated.v0.4.4.zip/past/types/__init__.py", line 25, in <module>
    File "quicklib_incorporated.v0.4.4.zip/past/types/oldstr.py", line 5, in <module>
  ImportError: cannot import name 'Iterable' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

In the meantime I wrote a minimal setup.py so that I can run a custom install, forked at https://github.com/yuvadm/electrasmart

@yuvadm fine work there!
If you can confirm that everything is working with the new setup.py, including the cli scripts, please send a PR and I will merge it and release a new version next week. We don’t seem to be using much of quicklib’s capabilities so we might as well drop the dependency.

Sounds good! Yeah it works like a charm for me, will make a PR out of my fork

Released version 0.7 including this fix.
Released electrasmart-custom-component version 2022.4.25 to use it.


Inject certs in docker step type

Need to inject certificates into the Docker step type, somewhere inside pkg/worker/k8spodtemplating.go.
This is a weird thing we've done previously to add our internal self-signed certs, but we cannot forego it yet as we have a lot of stuff depending on it.
The current implementation from our Jenkinsfiles looks like this:
if [ "${params.DOCKERFILE_APPEND_CERT}" == "true" ]
then

cert_path=`pwd`/${params.DOCKERFILE_CONTEXT}/root.crt
cat <<EOF > root.crt
${params.ROOT_CERT}
EOF
cp root.crt \$cert_path
echo -e "\n" >> `pwd`/${params.DOCKERFILE_PATH}
echo COPY ./root.crt /usr/local/share/ca-certificates/root.crt >> `pwd`/${params.DOCKERFILE_PATH}
echo "RUN mkdir -p /etc/ssl/certs/ && touch /etc/ssl/certs/ca-certificates.crt && cat /usr/local/share/ca-certificates/root.crt >> /etc/ssl/certs/ca-certificates.crt"  >> `pwd`/${params.DOCKERFILE_PATH}

fi

https://github.com/iver-wharf/wharf-jenkinsfiles/blob/2811389f00a4335187e2f5b0a1c356eddac99494/build.git/kaniko/Jenkinsfile#L110-L125
In other words:

Copy the certificate into the build context

Add the following to the Dockerfile:
COPY ./root.crt /usr/local/share/ca-certificates/root.crt
RUN mkdir -p /etc/ssl/certs/ \
    && touch /etc/ssl/certs/ca-certificates.crt \
    && cat /usr/local/share/ca-certificates/root.crt >> /etc/ssl/certs/ca-certificates.crt

There are different ways to accomplish this from wharf-cmd's perspective, but the preferred way we could do it would be without adding Bash code to the container, as the kaniko image doesn't have a shell installed.

Idea:

After copy tar file, copy the modified Dockerfile
Mount cert into init container and then exec something like cp /mnt/cert/root.crt /mnt/repo/root.crt

Idea:

After copy tar file, copy the modified Dockerfile
Mount cert into init container and then exec something like cp /mnt/cert/root.crt /mnt/repo/root.crt

Giving this a go 👍🏻

As we have full control over the streaming data in Go, I think the implementation would be quite simple. No need to edit the Dockerfile on disk, just do a io.Copy on the file's content over through the stream, and then pipe those commands from above as well. On the receiving end just run something like tee path/to/Dockerfile, and let it receive the modified Dockerfile through STDIN


Dependencies fail to load in PlatformIO

Describe the bug
When building a project for Portenta in PlatformIO depending on AsyncMQTT_Generic, multiple errors are thrown, all seems to be related to missing stm32_def.h file. Possibly because the khoih-prog/Portenta_H7_AsyncTCP dependency fails to install.
Steps to Reproduce

Create new project fro Portenta H7 in platform IO
Add AsynqMQTT_Generic to the project using project manager.
Build.

Expected behavior
The blank program should build without issues
Actual behavior
Fails to build.
Dependcy khoih-prog/Portenta_H7_AsyncTCP fails to install
Multiple errors related to missing stm32_def.h file
When using the included platformio.ini file, the build crashes with the following info/error:
Library Manager: Installing stm32duino/STM32duino STM32Ethernet @ >=1.2.0 Error: Could not find the package with 'stm32duino/STM32duino STM32Ethernet @ >=1.2.0' requirements for your system 'windows_amd64'
Also, possibly unrelated, Vscode displays the following error during installation of the libraray:
Error: Multiple requests to rebuild the project "<name>" index have been received! Automatic index rebuilding process has been terminated for 10 minutes.
Information

Platform IO version: Core 6.0.1·Home 3.4.1
Vscode version: 1.67.2
Windows 10 Business

Additional context
It looks like the repository path for the Portenta_H7_AsyncTCP libraray is messed up on the platform.io site: (https://registry.platformio.org/libraries/khoih-prog/Portenta_H7_AsyncTCP)

Hi,
Thanks for your interest in the library.
The issue is similar to Compile error with ESP8266 and Platformio #25 and many more issues. The general answer is as follows :
As you know, using PIO requires a little more experiences and knowledge than Arduino IDE to understand and manually modify the settings. Moreover, the current PIO version is not smart enough to select the correct library, according the board, necessary to use with this library, which is written mainly for multi-platforms and Arduino IDE.
Just try using Arduino IDE and understand why it can selects correctly the libraries to use, no matter boards / platforms you're using.
This library's platformio.ini is also written to include all possible dependent libraries for all the boards with the expectation that PIO users will know and modify to ignore the incorrect ones. It's better than include nothing and users has to do research to know which libraries are needed and include them.
Just understand which libraries to be used for your board, you'll know that you can ignore some unused libraries, such as adding to your platformio.ini
lib_ignore =
   STM32AsyncTCP
   STM32duino LwIP
   STM32Ethernet
   WebServer_WT32_ETH01

Good Luck,

Additional context
It looks like the repository path for the Portenta_H7_AsyncTCP libraray is messed up on the platform.io site: (https://registry.platformio.org/libraries/khoih-prog/Portenta_H7_AsyncTCP)

Thanks, will fix.

Ok, thanks will check out that forum.
Tried the install again with same result. Maybe I'm misunderstaning something, but the latest version of AsyncMqtt_Generic library available in the Platform IO library manager is still v1.5.0 which tries (and fails) to install v1.3.0 of the Portenta_H7_AsyncTCP libraray.

It there is something wrong with the installation, you can install any library manually, by using command, such as
$ pio pkg install --global -l "khoih-prog/Portenta_H7_AsyncTCP"


Instance: SlicerMorph101, Jake Wood

Cloud Computing Instance Flavor
g3.xl - GPU instance (32 CPUs, 125 GB RAM and A100 GPU)
Description
Attending an introductory slicermorph course Dec. 2-5. I am a first year PhD student at Florida Atlantic Univeristy, and I am looking at shark intervertebral joint morphology using the software to better elucidate the ecology and evolutionary history of sharks.
ORCID
0000-0001-5578-738X
Email
U2FsdGVkX1/ReGpB5fhEetohk6gSfk4EcyCo9M5imZ8Hb+8njlDLLxY25HT0srQF
Confirm Email
U2FsdGVkX1/ReGpB5fhEetohk6gSfk4EcyCo9M5imZ8Hb+8njlDLLxY25HT0srQF

/create

/UNSHELVE

/unshelve

/unshelve

/unshelve

/unshelve


Configure github action environment for Python 3.6

Configures CI to use Python 3.6 to ensure backward-compatibility
Related to #46

This PR has gone stale.  Will open new PR.


tab_index should match the tabindex attribute

It appears that the tabindex attribute is being treated as tab_index in watir-webdriver. This seems to cause two issues:

Element#tab_index will return nil when an element has the tabindex attribute
:tab_index cannot be used to successfully locate an element that has a tabindex attribute

For example, given the html:
<input type="checkbox" value="1" tabindex="8">

I would expect the tab_index method to return "8". However, you get:
browser.checkbox.tab_index
#=> nil

browser.checkbox.tabindex
#=> NoMethodError: undefined method `tabindex' for #<Watir::CheckBox:0x34e5598>

When the :tab_index is used in a locator, the xpath generated is looking for the tab-index attribute (seen when $DEBUG=true):
b.checkbox(:tab_index => '8').exists?
#=> ...
#=> :xpath=>".//input[@tab-index='8' and translate(@type,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='checkbox']"
#=> ...

To my knowledge, html only supports the 'tabindex' attribute rather than the 'tab_index' attribute (http://www.w3schools.com/tags/att_global_tabindex.asp).
Therefore, I had expected watir-webdriver to either:
A) Use tabindex (as a Element method and valid locator) or
B) Translate tab_index to tabindex

The fix for #28 did not address this issue.
I think the solution is to create an html_element.rb file with alias methods similar to what we are doing for colspan and rowspan here

Closing in favor of #600 since that is the general use case of this one.


Add custom eslint rule 'no-array-sort-return'

Motivated by the bug found in #59523.
Needs tests.

We could instead add an earlier overload via declaration merging to return void. Might be less work and/or better, haven't tried it

I'm not totally sure how we'd add an overload before the lib.d.ts, but I guess it must be possible because ts-reset or whatever can do it?
But, that wouldn't allow us to ignore the calls that happen after we're sure the array has been cloned (which is what this PR does); we don't have that many calls to sort but most of them are actually ignored by this rule.

Overloads from declaration merging to in "before" the overloads they merge with


Feature: Allow to configure docker with --insecure-registry flag

This can become handy for some situations like when using deis

Maybe this can help:
- name: set docker to insecure mode
  replace: dest=/etc/default/docker regexp="^(DOCKER_OPTS=\")((?!.*insecure-registry).*)(\")$" replace="DOCKER_OPTS=\"\2 --insecure-registry=<IP_ADDRESS>/8\""

worked like a charm on my box:
$ ansible-playbook -i x.x.x.x, run_role.yml -e role=insecure_docker

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [x.x.x.x]

TASK [insecure_docker : set docker to insecure mode] ***************************
changed: [x.x.x.x]

PLAY RECAP *********************************************************************
x.x.x.x.x               : ok=2    changed=1    unreachable=0    failed=0

$ ansible-playbook -i x.x.x.x, run_role.yml -e role=insecure_docker

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [x.x.x.x.x]

TASK [insecure_docker : set docker to insecure mode] ***************************
ok: [x.x.x.x]

PLAY RECAP *********************************************************************
x.x.x.x               : ok=2    changed=0    unreachable=0    failed=0

Do you think you'll be able to propose a PR for this or do you prefer that we  take it?

I think it would be better if you take it, I am just too new to Ansible!

I can take this. I'm already doing it as a post-install task anyways, so it's better for me if insecure registry makes it in!

I'm going to close this issue. This can now be solved with the docker_options variable as of #268.


Using language pack for OCR on Windows

Hello all,
I am a new user. I am using FreeOCR on Windows. I have downloaded the tessdata data file for Gujarati and Hindi and placed them in the appropriate directory, so when I start the software, it does give me an option for Gujarati and Hindi as language, but when I try to run the OCR, it does nothing. I see blank page.
Is there something I am doing wrong? Is it possible to get a install / user guide?
Thanks in Advance for helping me
Gaurang

For   command line interface, install tesseract from
https://github.com/tesseract-ocr/tesseract/wiki#windows
For a GUI , try
VietOCR
or GImageReader
Both have versions for tesseract4, which will give you good results for
Hindi and Gujarati.
On Mon, Sep 10, 2018 at 11:15 PM, grdesai<EMAIL_ADDRESS>wrote:

Hello all,
I am a new user. I am using FreeOCR on Windows. I have downloaded the
tessdata data file for Gujarati and Hindi and placed them in the
appropriate directory, so when I start the software, it does give me an
option for Gujarati and Hindi as language, but when I try to run the OCR,
it does nothing. I see blank page.
Is there something I am doing wrong? Is it possible to get a install /
user guide?
Thanks in Advance for helping me
Gaurang
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tessdata/issues/111, or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_o4cvHZykd-hXjr61AUlzez4qKlGVks5uZqUkgaJpZM4Wh3ia
.

--

भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com

We do not support 3rd party sw.


How to change the delimiter for an open file?

I've opened a .tsv file, and the extension seemed to have picked comma as the separator, which of course isn't the right one since it's a "tab separated values" file. So then I opened up the top bar ("Read options", "Write options", "Preview", etc.) and selected "tab" as separator by clicking the icon next to "Delimiter". The tab character is inserted into the box below, but clicking "Apply" doesn't change the display of the table. This seems like the correct procedure, right?

Actually Apply is used to apply the changes back to the file. To apply the new read options you need to click on Rest data. You can hover over the ? to get help for the buttons.
Now that I'm thinking of it... the names of the buttons might be misleading. I'll rename them to something more meaningful.

Okay, thanks for clearing that up. "Reset data" made me think of destroying all data, so I avoided clicking it :)
Yeah, maybe something like "Reload" or "Reread" would be more self-explanatory.
Anyway, thanks for making the extension, it's very useful.


Add 7 new California counties

Adds 7 new counties to the California data:

San Bernardino
San Joaquin
Merced
Marin
Butte
Kings
Mendocino

Excellent work. Some of these will be brittle; can you note down which of these counties we need to reach out to to ask for them to provide a <table>?


Create a payment admin user for all billing accounts in GCP

Describe the Issue
On our GCP billing accounts the only payment admin user is Julian. We want to add a payment admin user that is linked to a shared mailbox so that we do not lose access to payments for GCP billing accounts.
Additional Context

the payment admin user has access to the add/update/modify the credit card info on the billing account.

Extra Template Info
Definition of Ready
These set of conditions will need to be met in order to bring a ticket into the sprint and start work. Protects the team from unclear requirements.
Issues (Task/Story/Spike) aligned to an EPIC and linked appropriately.
Assigned to the appropriate CPF MEMBER (and is not left blank in ZenHub) at the start of sprint (1st day of the sprint)
Acceptance has been defined for the issue and has been reviewed with CPF team and approved by the necessary approver.
Has been sized and estimated by the delivery team.
Detailed breakdown of the steps required to complete the story in the additional context
Any additional specifications have been documented, reviewed with CPF and approved by the necessary approver.
Acceptance Criteria
A set of pre-defined requirement that need to be met in order to mark the user story as “done”.
It should be testable with no room for interpretation
It should be either “pass” or “fail”
It should be clear enough for business stake holders to understand
As part of the user story, it should be written from the user perspective
A well written acceptance criteria is great for

managing expectations
defining scope
reducing ambiguity
establishing testing criteria for QA
Given (Pre-condition)
When (Action)
Then (Outcome)

Definition of Done
These set of conditions are met for work to be considered as complete on an issue.
All acceptance criteria(s) have been validated.
All the necessary documentation for the issue has been uploaded to Teams.
Functionality has been tested when applicable.
Functionality has been demonstrated to the relevant stakeholders (where applicable).
Story has been scheduled for a Sprint Demo/community update and impacted teams invited to the Demo.
Stories accepted by PO and documented for potential sharing with impacted users.

Documented = Captured in Community Update (CU) deck
Release notes = aspirational goal of providing a bulleted list of features and changes that our users can touch. Was going to store them in our Cloud Pathfinder repo. Can also display to users in the CU

Warren had created a support ticket from google billing support. Dana is an admin now. Have a training session with Dana to go over billing account in google.


x/build/cmd/gomote: SSH to AWS ARM gomotes sometimes fails

It seems like some gomotes are permanently broken, but new ones are OK?
$ gomote ssh user-mpratt-linux-arm64-aws-0
$ ssh -p 2222<EMAIL_ADDRESS># auth using https://github.com/prattmic.keys
# Welcome to the gomote ssh proxy, mpratt.
# Connecting to/starting remote ssh...
#
failed to connect to ssh on user-mpratt-linux-arm64-aws-0: unexpected /connect-ssh response: 502 Bad Gateway, dial tcp <IP_ADDRESS>:22: connect: connection refused

Connection to farmer.golang.org closed.
$ gomote ssh user-mpratt-linux-arm64-aws-0
$ ssh -p 2222<EMAIL_ADDRESS># auth using https://github.com/prattmic.keys
# Welcome to the gomote ssh proxy, mpratt.
# Connecting to/starting remote ssh...
#
failed to connect to ssh on user-mpratt-linux-arm64-aws-0: unexpected /connect-ssh response: 502 Bad Gateway, dial tcp <IP_ADDRESS>:22: connect: connection refused

Connection to farmer.golang.org closed.
$ gomote create linux-arm64-aws
# still creating linux-arm64-aws after 5s; 0 requests ahead of you
# still creating linux-arm64-aws after 10s; 0 requests ahead of you
# still creating linux-arm64-aws after 15s; 0 requests ahead of you
# still creating linux-arm64-aws after 20s; 0 requests ahead of you
# still creating linux-arm64-aws after 25s; 0 requests ahead of you
# still creating linux-arm64-aws after 30s; 0 requests ahead of you
# still creating linux-arm64-aws after 35s; 0 requests ahead of you
user-mpratt-linux-arm64-aws-1
$ gomote ssh user-mpratt-linux-arm64-aws-1
$ ssh -p 2222<EMAIL_ADDRESS># auth using https://github.com/prattmic.keys
# Welcome to the gomote ssh proxy, mpratt.
# Connecting to/starting remote ssh...
#
# `gomote push` and the builders use:
# - workdir: /workdir
# - GOROOT: /workdir/go
# - GOPATH: /workdir/gopath
# - env: GO_BUILDER_NAME=linux-arm64-aws GOROOT_BOOTSTRAP=/usr/local/go-bootstrap
# Happy debugging.
Warning: Permanently added '[localhost]:38283' (ECDSA) to the list of known hosts.
Linux 68c8a20ccbb8 4.19.0-12-arm64 #1 SMP Debian 4.19.152-1 (2020-10-18) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
debug1: PAM: reinitializing credentials
debug1: permanently_set_uid: 0/0
Environment:
  USER=root
  LOGNAME=root
  HOME=/root
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  MAIL=/var/mail/root
  SHELL=/bin/bash
  TERM=screen
  SSH_CLIENT=<IP_ADDRESS> 45848 22
  SSH_CONNECTION=<IP_ADDRESS> 45848 <IP_ADDRESS> 22
  SSH_TTY=/dev/pts/0
root@68c8a20ccbb8:~#

i.e., the old instance doesn't seem to work at all. The new instance works fine. I've had this SSH issue on two different instances today (linux-arm-aws and linux-arm64-aws). FWIW, the broken ones I did various gomote run commands on (successfully) before attempting to SSH, while the working ones I SSH'd immediately.
cc @golang/release

FWIW, the broken ones I did various gomote run commands on (successfully) before attempting to SSH, while the working ones I SSH'd immediately.

I've seen this is the case for other gomotes as well, and it probably has been a long time like this. So when I need gomote ssh I always do it upfront.

FWIW, the broken ones I did various gomote run commands on (successfully) before attempting to SSH, while the working ones I SSH'd immediately.

This prompted me to check one idea, and I suspect it's a likely explanation.
gomote run has a -firewall flag:
$ gomote run -help 2>&1 | grep firewall
  -firewall
    	Enable outbound firewall on machine. This is on by default on many builders (where supported) but disabled by default on gomote for ease of debugging. Once any command has been run with the -firewall flag on, it's on for the lifetime of that gomote instance.

Some of the builders set GO_DISABLE_OUTBOUND_NETWORK=1 in the environment (via x/build/dashboard package or another means), and the buildlet's /exec endpoint (used by gomote run) interprets it and disables outbound network access (here).

Actually, that flag's default value is false, and linux-arm64-aws's environment doesn't include that env var. Maybe it's possible some commands you ran did trigger it, or it could be something else after all.

Pretty sure it's not GO_DISABLE_OUTBOUND_NETWORK in this case because this builder doesn't even have the iptables binary.
I've noticed the 502 happened on a linux-arm64-aws gomote when I was trying to connect a second time to the same instance. When I disconnected the first SSH connection, then I could establish a new one.

@cherrymui Have they always been linux-arm[64]-aws gomote sessions?

If I recall correctly I have seen on other (non-arm) gomotes as well.

Seems like that error is originating from the buildletclient. The error is happening on the instance when the buildlet is trying to start and connect to the local SSH server. It looks like there is some room for improvement for the SSH server start/connection logic. Especially if it only starts that SSH daemon once.


Use fragment part of Hookbot URL to specify build root

This solves the problem of how to build images where the build context
is not the root of the repository.
The format is like so:
/sub/github.com/repo/scraperwiki/foo/branch/master#path/to/DockerfileDir/

A major advantage of doing this way is that where you have repo/backend/Dockerfile and repo/frontend/Dockerfile, you don't need two separate repository hookbot monitoring URLs (and tokens), but just the one will suffice, with different fragment paths.


Can this handle large sized files?

Is there any limitation on the size of files Mule Requester can pull from File/FTP/SFTP locations? We are looking to understand if this can be used to handle file sizes of 1GB to 20GB.

Hello,
There are no limitations on this module itself, but there could be in the underlying transport. For more detail, please refer to the "Limitations" section.
Sebastian


Full implementation of AVL tree and stock Span Problem

implement AVL tree in .c full working with proper comments #3806

Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
Description
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)

#3987 Stock span problem


RangeError for "RRULE:FREQ=DAILY"

Describe the bug
A basic RRULE of "FREQ=DAILY" and no other parts fails, outputting: Error: RangeError (index): Invalid value: Not in inclusive range 0..4: 5
This seems to be because the code assumes there will always be a ";" separator (codecs/string/ical.dart#L156)
    var index = name.length;
    final parameters = <String, List<String>>{};
    while (contentLine[index] == ';') {
      // Add 1 for the ";" separator.
      index++;

From the RFC: recur-rule-part *( ";" recur-rule-part )
Environment:

Package version:  rrule: ^0.1.1

Ahem, I may have been being an idiot, and passing "daily" not "RRULE:FREQ=DAILY" ... ignore me!


MinGW64 - Boost

Hunter can't compile Boost at MinGW64.
[hunter ** FATAL ERROR **] Build step failed (dir: C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost
[hunter ** FATAL ERROR **] [Directory:C:/msys64/home/user/.hunter/_Base/Download/Hunter/0.19.213/59b2b88/Unpacked/cmake/projects/Boost]

Please fill the ISSUE_TEMPLATE.md file:

https://raw.githubusercontent.com/ruslo/hunter/master/.github/ISSUE_TEMPLATE.md

Part:
<!--- Use this part of template if you want to report bug. Remove the rest. -->
<!--- BEGIN -->

...

<!--- END -->

cmake .. -G Visual Studio 14 2015 Win64 -T v140,host=x64 -DETHASHCUDA=ON -DETHASHCL=OFF -DETHSTRATUM=ON -DAPICORE=OFF
------------------------------------------------------------------------------------------------------------------------
-- [hunter] Initializing Hunter workspace (59b2b880178bdc1e9cce83f279f1d88feefa07a2)
-- [hunter]   https://github.com/ruslo/hunter/archive/v0.19.213.tar.gz
-- [hunter]   -> C:/msys64/home/user/.hunter/_Base/Download/Hunter/0.19.213/59b2b88
-- Found PythonInterp: C:/msys64/mingw64/bin/python.exe (found version "2.7.14")
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- [cable] Configurations: Release;RelWithDebInfo;Debug
-- [hunter] Calculating Toolchain-SHA1
-- [hunter] Calculating Config-SHA1
-- [hunter] HUNTER_ROOT: C:/msys64/home/user/.hunter
-- [hunter] [ Hunter-ID: 59b2b88 | Toolchain-ID: a1e037f | Config-ID: aa3cb20 ]
-- [hunter] BOOST_ROOT: C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Install (ver.: 1.64.0)
-- [hunter] Building Boost
loading initial cache file C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/cache.cmake
loading initial cache file C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/args.cmake
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/Build
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 1/3/2018 5:34:57 ��.
Project "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ALL_BUILD.vcxproj" on node 1 (default targets).
Project "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ALL_BUILD.vcxproj" (1) is building "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
PrepareForBuild:
  Creating directory "x64\Debug\ZERO_CHECK\".
  Creating directory "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\".
InitializeBuildStatus:
  Creating "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  Checking Build System
  CMake does not need to re-run because C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/Build/CMakeFiles/generate.stamp is up-to-date.
FinalizeBuildStatus:
  Deleting file "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
  Touching "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
Done Building Project "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ZERO_CHECK.vcxproj" (default targets).
Project "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ALL_BUILD.vcxproj" (1) is building "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\Boost.vcxproj" (3) on node 1 (default targets).
PrepareForBuild:
  Creating directory "x64\Debug\Boost\".
  Creating directory "x64\Debug\Boost\Boost.tlog\".
InitializeBuildStatus:
  Creating "x64\Debug\Boost\Boost.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
ComputeCustomBuildOutput:
  Creating directory "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\Boost-prefix\src\Boost-stamp\Debug\".
  Creating directory "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\CMakeFiles\Debug\".
CustomBuild:
  Building Custom Rule C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/CMakeLists.txt
  CMake does not need to re-run because C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/Build/CMakeFiles/generate.stamp is up-to-date.
  Creating directories for 'Boost'
  Performing download step (download, verify and extract) for 'Boost'
  CMake Error at Build/Boost-prefix/src/Boost-stamp/Boost-download-Debug.cmake:16 (message):
    Command failed: 1

     'C:/msys64/mingw64/bin/cmake.exe' '-Dmake=' '-Dconfig=Debug' '-P' 'C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/Build/Boost-prefix/src/Boost-stamp/Boost-download-Debug-impl.cmake'

    See also

      C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost/Build/Boost-prefix/src/Boost-stamp/Boost-download-*.log

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1. [C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\Boost.vcxproj]
Done Building Project "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\Boost.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ALL_BUILD.vcxproj" (default targets) -- FAILED.

Build FAILED.

"C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\Boost.vcxproj" (default target) (3) ->
(CustomBuild target) ->
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1. [C:\msys64\home\user\.hunter\_Base\59b2b88\a1e037f\aa3cb20\Build\Boost\Build\Boost.vcxproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:01:33.28

[hunter ** FATAL ERROR **] Build step failed (dir: C:/msys64/home/user/.hunter/_Base/59b2b88/a1e037f/aa3cb20/Build/Boost
[hunter ** FATAL ERROR **] [Directory:C:/msys64/home/user/.hunter/_Base/Download/Hunter/0.19.213/59b2b88/Unpacked/cmake/projects/Boost]

cmake .. -G Visual Studio 14 2015 Win64 -T v140,host=x64 -DETHASHCUDA=ON -DETHASHCL=OFF -DETHSTRATUM=ON -DAPICORE=OFF

Please read this file carefully:

https://raw.githubusercontent.com/ruslo/hunter/master/.github/ISSUE_TEMPLATE.md

Here is the log until first error reported by Hunter, option `HUNTER_STATUS_DEBUG` is `ON`:
* <link-to-log-file>

<!--- Check this document: https://github.com/ruslo/hunter/wiki/error.external.build.failed -->
<!--- If you got `external.build.failed` -->
I've checked that the first error in logs **IS NOT** `external.build.failed`. **[Yes|No]**

After few tries compile was successful.
Maybe some other issue.
False alarm.
I close the issue.
Thank you!


Added the setFrameSync command

Added the setFrameSync command based on https://api.flutter.dev/flutter/flutter_driver/SetFrameSync/SetFrameSync.html
Allows the implementation of https://api.flutter.dev/flutter/flutter_driver/FlutterDriver/runUnsynchronized.html in your testing language as I do not know how you would pass a function through to the flutter driver

@shibupanda
Perhaps a new can release with this and https://github.com/truongsinh/appium-flutter-driver/pull/163

Thanks @funckytown1 for the contribution.
Sure @KazuCocoa will publish a new release.


--model is ignored in ilab chat when starting server

select_backend needs model_path=model in order to honor --model in chat. Otherwise it always uses granite from the serve config.

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

@Mergifyio rebase

@Mergifyio backport release-v0.18


Add cookies banner

Add cookies banner to complies EU policies

Need to remove customize button and just have the "Accept and close" button

Beautiful


Support ANALYZE TABLE syntax

Also FYI @andygrove I want to add this for DataFusion.
There are quite some different syntax versions for this, so for now I think it is best to stick to ANALYZE TABLE [table_name] and support further syntax later on.
https://www.postgresql.org/docs/9.0/sql-analyze.html
https://spark.apache.org/docs/3.0.0-preview/sql-ref-syntax-aux-analyze-table.html
https://dev.mysql.com/doc/refman/5.6/en/analyze-table.html

Pull Request Test Coverage Report for Build 449163602

13 of 13 (100.0%)  changed or added relevant lines in 3 files are covered.
26 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 91.388%

Files with Coverage Reduction
New Missed Lines
%

src/parser.rs
26
88.88%

Totals

Change from base Build 448700048:
0.02%

Covered Lines:
4860

Relevant Lines:
5318

💛  - Coveralls


ML 8.19 : GAN(V)

Description
📌  Issues for Week 8
Welcome to 'ML' Team, good to see you here
:arrow_forward: This issue will helps readers in acquiring all the knowledge that one needs to know about ----
GAN.
:red_circle: To get assigned to this issue, add your Batch Numbers mentioned in the spreadsheet of "Machine Learning", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
✔ Domain : Machine Learning
:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.

"Issue Title" and "PR Title should be the same. Include issue number along with it.

Changes should be made inside the Machine Learning/Machine_Learning/ML_for_Seqential_Data_&_Visual_Data Branch.

Follow Contributing Guidelines & Code of Conduct before start Contributing.

This issue is only for 'GWOC' contributors of 'Machine Learning' domain.

:white_check_mark: To be Mentioned while taking the issue :

Full name
Batch Number
GitHub Profile Link
Which type of Contribution you want to make :

[ ] Video

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎
Domain
Machine Learning
Type of Contribution
Video
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

@Isha307
@abhisheks008
I would like to work on this issue
Name M.Ashish
Batch 2

Assigned to @ashish-reddy-20-08


Security documentation for password encode process

This was my my use case yesterday (first time implementing security stuff in Silex/Symfony–ish way):

Implement an optional HTTP authentication in my app
Expose a simple configuration to add a single user/password
Make it easy for others to setup, document the process

I got to a point of authentication working with provided admin/foo login/hash pair.
Then I looked how can I automate a process of obtaining a password hash.
Then this had me going in circles:
// find the encoder for a UserInterface instance
$encoder = $app['security.encoder_factory']->getEncoder($user);

// compute the encoded password for foo
$password = $encoder->encodePassword('foo', $user->getSalt());

I don't have user. I don't want one. I just want to hash a password. Why do I need salt if salt is not recommended? Why does hash of arbitrary password depends on concrete user instance?
Trait documentation further below failed altogether on unknown user() method:
$user = $app->user();

$encoded = $app->encodePassword($user, 'foo');

This is what I ended up with in the end:
$encoder = $app['security.default_encoder'];
echo  $encoder->encodePassword($password, '');

I kinda sorted out (after a while) that user is involved because choice of encoder might be conditional on it, but my impression is that as documented a starter HTTP authentication example is hard to make sense of.

I see that this is an older ticket, so forgive me if you've already worked through this issue.
It's probably going to help if you can explain very explicitly how you're setting this up and what you're trying to do.  I still don't feel like I have a clear idea after reading your ticket.
Perhaps provide a link to your own GitHub repository where your entire project is and point out the specific code that isn't working, and how someone reading this thread could reproduce the problem you're experiencing.

I believe I explained best I could and pointed out specific parts of documentation I had issue with.
If I had to summarize — documentation assumes that you have user(s) set up and code examples are conditional on that, such as $app->user() call failing.
For the context I have implemented a very simple case where login/hash pairs are fed in from configuration https://github.com/Rarst/release-belt#authentication

I was unable to find the silex.sensiolabs.org website on github, so I apologize if this response doesn't help.  I wanted to see if current version of the documentation on the silex.sensiolabs.org website is different now than when you first submitted this ticket, so most of the response below is pointing out what the website says assuming it's different now than when you first submitted the ticket.
I would note that the current version of the documentation states:
The Symfony Security component is powerful. To learn more about it, read the Symfony Security documentation.
Part of the confusion might be that you're conflating Silex and the Symfony Security component.  You can "use" the Symfony Security component inside Silex.  It's not mandatory.
Also from the website:
When a security configuration does not behave as expected, enable logging (with the Monolog extension for instance) as the Security Component logs a lot of interesting information about what it does and why.
If this isn't helpful, the website currently states:
Need support or have a technical question?
Ask support on Stack Overflow.
I can't speak for SensioLabs of course, but since this ticket hasn't received much attention maybe they interpreted it as a support request.  I certainly read it as such.  If you have specific ideas for how to improve the documentation, once you understand your problem better, maybe this is a good place for something like that?

I was unable to find the silex.sensiolabs.org website on github

I would guess that would be https://github.com/silexphp/Silex/tree/master/doc

Part of the confusion might be that you're conflating Silex and the Symfony Security component.

I understand the difference, I am talking about Silex documentation for using Security component in its context.

I can't speak for SensioLabs of course, but since this ticket hasn't received much attention maybe they interpreted it as a support request. I certainly read it as such.

I had resolved issue I had and explicitly covered how I resolved it in my first message, I require no support on this.

If you have specific ideas for how to improve the documentation, once you understand your problem better, maybe this is a good place for something like that?

If I was more proficient with Security component I simply would PR possible improvements to documentation. Unfortunately I am not proficient with it to be confident to change docs.
I don't need help or input on this issue. If someone responsible for documentation gets to this they can decide if it's something wort considering for improvement or current state is sufficient and issue can be closed.


Agreements should not terminate entire context

Description of the new feature / enhancement

I'm trying to do an update via winget on a notebook, but it keeps giving this warning "Package contracts were not agreed. Operation cancelled." and I can't find anything about it on the internet...

Originally posted by @Novogumiguel in #4350

When agreements for a single package are present, --accept-package-agreements has not been specified, and WinGet is running in a non-interactive context, the entire flow is terminated. This leads to a negative user experience. Instead, only the single package which requires agreements should fail and upgrades or installs for the remaining packages should be attempted.

Related to #4233

Proposed technical implementation details
No response

I hadn't closed it... the bot did it alone... but about winget it's ok, it worked...
I'm going to open another topic talking about Windows Home Single

@stephengillie - Any reason you closed #4301 as resolved? I see the SimilarIssues bot accurately identified this as being the same issue

I misunderstood https://github.com/microsoft/winget-cli/issues/4233 to also be the same issue. Reviewing now, I see that's for dependencies while this is for main packages.


add breadcrumb separator variable

Adds variable for custom breadcrumb separators instead of a slash.
Reference #8131

Checked it out locally... This is looking good...
@kball for merge/review!

@digitalfrood... By the way congrats on your first time contribution ;)

Let 1 item of feedback, other than that LGTM, can we get that addressed and then will merge?

done @kball ... Anything else needed or good to go??


Official guide refers to x-fb-event_id but template expects event_id

The guide at https://developers.facebook.com/docs/marketing-api/conversions-api/guides/gtm-server-side refers to x-fb-event_id being the GA4 event parameter name but this line makes me think it should be just event_id:
https://github.com/facebookincubator/ConversionsAPI-Tag-for-GoogleTagManager/blob/57278940502aff341c06441a558545a63699c245/template.tpl#L172
For instance, with this GTM config:

I see this in the server side GTM debugger:

When I use x-fb-event_id as the param name in GTM, I don't see any event_id in the server side GTM debugger.

+1

+1

+1


$.jstree.reference(DOMElement) returns wrong instance

Here is my usecase:
I have a UI with two panels, with jstree in each of them.
All jstree nodes have IDs from data source.
Both jstree instances display the same set of nodes, which means each node id (and thus DOM id) is repeated twice in the document.
While performing Drag&Drop on second panel, jstree moves my node to the first panel.
I could track the issue up to $.jstree.reference(DOMElement). It first takes id of needle (which is DOMElement in my case), then fetches the element by id with $('#'+id). This way jstree finds first DOM element with given id, which is not the original element passed to $.jstree.reference(DOMElement).

I rewrote $.jstree.reference(needle), trying to cover as many cases as possible.
I also added a warning in the case it finds more then one jstree instance for needle (it took me few hours to find this issue, so it would be helpfull to have a warning in the console).
@vakata If you like my version I'm glad to make a PR.

Thanks for dedicating time to track this down - it was a huge help. I will go over your fix and let you know if I will merge it. For now the fix I added will do the trick. I am not sure how type checking will affect performance.
Best regards,
Ivan

I made use of $.type just to ensure the algorith is clean and easy to read and refactor.
I also try to not change the original behaviour of the method, so that it works the same way in all other contexts except the one from this issue.
Thanks for a great library :-)