Networking test timing out on Jenkins

cc @ixdy @satnam6502
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:180
STEP: Creating service with name nettest in namespace nettest-9970
STEP: Creating a replication controller
STEP: Waiting for connectivity to be verified
Attempt 0/60: service/pod still starting. (error: 'endpoints "nettest" not found')
Attempt 1/60: service/pod still starting. (error: 'endpoints "nettest" not found')
Attempt 2/60: service/pod still starting. (error: 'endpoints "nettest" not found')
Attempt 3/60: test still running
Attempt 4/60: test still running
Attempt 5/60: test still running
Attempt 6/60: test still running
Attempt 7/60: test still running
Attempt 8/60: test still running
Attempt 9/60: test still running
Attempt 10/60: test still running
Attempt 11/60: test still running
Attempt 12/60: test still running
Attempt 13/60: test still running
Attempt 14/60: test still running
Attempt 15/60: test still running
Attempt 16/60: test still running
Attempt 17/60: test still running
Attempt 18/60: test still running
Attempt 19/60: test still running
Attempt 20/60: test still running
Attempt 21/60: test still running
Attempt 22/60: test still running
Attempt 23/60: test still running
Attempt 24/60: test still running
Attempt 25/60: test still running
Attempt 26/60: test still running
Attempt 27/60: test still running
Attempt 28/60: test still running
Attempt 29/60: test still running
Attempt 30/60: test still running
Attempt 31/60: test still running
Attempt 32/60: test still running
Attempt 33/60: test still running
Attempt 34/60: test still running
Attempt 35/60: test still running
Attempt 36/60: test still running
Attempt 37/60: test still running
Attempt 38/60: test still running
Attempt 39/60: test still running
Attempt 40/60: service/pod still starting. (error: 'request [&{Method:GET URL:https://<IP_ADDRESS>/api/v1beta1/proxy/services/nettest/status?namespace=nettest-9970 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[] Body:<nil> ContentLength:0 TransferEncoding:[] Close:false Host:<IP_ADDRESS> Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr: RequestURI: TLS:<nil>}] failed (504) 504 Gateway Time-out:
<title>504 Gateway Time-out</title>

504 Gateway Time-out

nginx/1.2.1

')
Attempt 41/60: service/pod still starting. (error: 'request [&{Method:GET URL:https://<IP_ADDRESS>/api/v1beta1/proxy/services/nettest/status?namespace=nettest-9970 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[] Body:<nil> ContentLength:0 TransferEncoding:[] Close:false Host:<IP_ADDRESS> Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr: RequestURI: TLS:<nil>}] failed (504) 504 Gateway Time-out:
<title>504 Gateway Time-out</title>

504 Gateway Time-out

nginx/1.2.1

')
Attempt 42/60: service/pod still starting. (error: 'request [&{Method:GET URL:https://<IP_ADDRESS>/api/v1beta1/proxy/services/nettest/status?namespace=nettest-9970 Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[] Body:<nil> ContentLength:0 TransferEncoding:[] Close:false Host:<IP_ADDRESS> Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr: RequestURI: TLS:<nil>}] failed (504) 504 Gateway Time-out:
<title>504 Gateway Time-out</title>

504 Gateway Time-out

nginx/1.2.1

')

I think we need to revert the PRs that went in

(The later commits, not the namespace one.)

Wait, no. It's been timing out since 11am.

Yes, I am noticing it too and I think there might be deadlock somewhere which occurs just as the test tries to leave the running state to pass.

I really wanted to blame you, but the first failure is at git v0.12.0-882-g7269960, which is shortly before your first PR went in. :)

I can't see what's in that which would cause the networking test to break?
On Wed, Mar 18, 2015 at 5:37 PM, Zach Loafman<EMAIL_ADDRESS>wrote:

I really wanted to blame you, but the first failure is at git
v0.12.0-882-g7269960, which is shortly before your first PR went in. :)
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/5629#issuecomment-83236648
.

fwiw i had this failing an ~hour ago but not on rebase

My guess is that it's #5555.

The tests seem to work for me:
Running Suite: Kubernetes e2e Suite run 1 of 1
==============================================
Random Seed:<PHONE_NUMBER> - Will randomize all specs
Will run 2 of 30 specs

SSSSSSSSSSSSSSSS
------------------------------
Networking
  should function for pods
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:193
[BeforeEach] Networking
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:39
>>> testContext.kubeConfig: /usr/local/google/home/satnam/.kube/.kubeconfig
[It] should function for pods
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:193
STEP: Creating service with name nettest in namespace nettest-6777
STEP: Creating a webserver pod on each node
INFO: Creating pod nettest-0 on node e2e-test-satnam-minion-rkqu.c.kubernetes-satnam.internal
INFO: Creating pod nettest-1 on node e2e-test-satnam-minion-s7sh.c.kubernetes-satnam.internal
STEP: Wait for the webserver pods to be ready
STEP: waiting up to 5m0s for pod nettest-0 status to be running
INFO: Waiting for pod nettest-0 in namespace nettest-6777 status to be "running" (found "Pending") (406.567337ms)
INFO: Waiting for pod nettest-0 in namespace nettest-6777 status to be "running" (found "Pending") (5.458883651s)
STEP: waiting up to 5m0s for pod nettest-1 status to be running
INFO: Waiting for pod nettest-1 in namespace nettest-6777 status to be "running" (found "Pending") (43.816791ms)
INFO: Waiting for pod nettest-1 in namespace nettest-6777 status to be "running" (found "Pending") (5.089164552s)
STEP: Waiting for connectivity to be verified
Attempt 0/60: test still running
Attempt 1/60: test still running
Attempt 2/60: test still running
Attempt 3/60: test still running
Passed on attempt 4. Cleaning up.
STEP: Cleaning up the webserver pods
STEP: Cleaning up the service

• [SLOW TEST:32.236 seconds]
Networking
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:215
  should function for pods
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:193
------------------------------
SSS
------------------------------
Networking
  should provide unchanging URLs
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:214
[BeforeEach] Networking
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:39
>>> testContext.kubeConfig: /usr/local/google/home/satnam/.kube/.kubeconfig
[It] should provide unchanging URLs
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:214
STEP: testing: /validate
STEP: testing: /healthz
•SSSSSSSSS
Ran 2 of 30 Specs in 32.689 seconds
SUCCESS! -- 2 Passed | 0 Failed | 0 Pending | 28 Skipped I0318 18:02:48.681366   31568 driver.go:89] All tests pass

This test is now passing with gusto. I'm confused.

This is the same thing @satnam6502 stuck in the logging for, but it's snuck back in, now with more logging:
Networking
  should function for pods
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:203
[BeforeEach] Networking
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:39
>>> testContext.kubeConfig: /var/lib/jenkins/jobs/kubernetes-e2e-gce/workspace/.kube/.kubeconfig
[It] should function for pods
  /go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/networking.go:203
STEP: Creating service with name nettest in namespace nettest-409
STEP: Creating a webserver pod on each node
INFO: Creating pod nettest-0 on node e2e-test-jenkins-minion-f0u9.c.kubernetes-jenkins.internal
INFO: Creating pod nettest-1 on node e2e-test-jenkins-minion-t24l.c.kubernetes-jenkins.internal
STEP: Wait for the webserver pods to be ready
STEP: waiting up to 5m0s for pod nettest-0 status to be running
INFO: Waiting for pod nettest-0 in namespace nettest-409 status to be "running" (found "Pending") (5.993637ms)
STEP: waiting up to 5m0s for pod nettest-1 status to be running
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (3.633675ms)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (5.008000484s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (10.012479962s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (15.018019974s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (20.022416932s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (25.027329461s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (30.032123805s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (35.037695148s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (40.042410693s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (45.0471947s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (50.051412829s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (55.056787917s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (1m0.061367203s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (1m5.066695731s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (1m10.071522224s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (1m15.076154792s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (1m20.080382614s)
INFO: Waiting for pod nettest-1 in namespace nettest-409 status to be "running" (found "Pending") (1m25.085091455s)
STEP: Waiting for connectivity to be verified
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.003636218s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.004278343s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 6.570714ms
INFO: Attempt 2/60: test still running
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5.693632ms
INFO: Attempt 3/60: test still running
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.00408193s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.004904434s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.005336923s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.005038183s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.005179133s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.004361386s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 6.605119ms
INFO: Attempt 10/60: test still running
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5.692527ms
INFO: Attempt 11/60: test still running
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.004285752s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 7.01869ms
INFO: Attempt 13/60: test still running
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.004841588s
INFO: About to make a proxy status call
INFO: Proxy status call returned in 9.717108ms
INFO: Attempt 15/60: test still running
INFO: About to make a proxy status call
INFO: Proxy status call returned in 5m0.004179451s
INFO: About to make a proxy status call
Build timed out (after 90 minutes). Marking the build as aborted.
Build timed out (after 90 minutes). Marking the build as failed.

We've had a couple of aborted Jenkins builds recently due to this.

From running the test locally, the failure I see is that the webserver container cannot run.
{
    "kind": "Pod",
    "id": "nettest-0",
    "uid": "6384d3eb-d804-11e4-80af-42010af08eed",
    "creationTimestamp": "2015-04-01T00:16:48Z",
    "selfLink": "/api/v1beta1/pods/nettest-0?namespace=nettest-7301",
    "resourceVersion": 682,
    "apiVersion": "v1beta1",
    "namespace": "nettest-7301",
    "labels": {
        "name": "nettest"
    },
    "desiredState": {
        "manifest": {
            "version": "v1beta2",
            "id": "",
            "volumes": null,
            "containers": [
                {
                    "name": "webserver",
                    "image": "gcr.io/google_containers/nettest:1.1",
                    "ports": [
                        {
                            "containerPort": 8080,
                            "protocol": "TCP"
                        }
                    ],
                    "resources": {},
                    "terminationMessagePath": "/dev/termination-log",
                    "imagePullPolicy": "PullIfNotPresent",
                    "capabilities": {}
                }
            ],
            "restartPolicy": {
                "never": {}
            },
            "dnsPolicy": "ClusterFirst"
        },
        "host": "e2e-test-jeffml-minion-8w7n.c.jeffmltest.internal"
    },
    "currentState": {
        "manifest": {
            "version": "",
            "id": "",
            "volumes": null,
            "containers": null,
            "restartPolicy": {}
        },
        "status": "Waiting",
        "Condition": [
            {
                "kind": "Ready",
                "status": "None"
            }
        ],
        "host": "e2e-test-jeffml-minion-8w7n.c.jeffmltest.internal",
        "hostIP": "<IP_ADDRESS>",
        "info": {
            "POD": {
                "state": {
                    "termination": {
                        "exitCode": 2,
                        "startedAt": "2015-04-01T00:16:49Z",
                        "finishedAt": "2015-04-01T00:16:58Z"
                    }
                },
                "ready": false,
                "restartCount": 0,
                "image": "kubernetes/pause:latest",
                "imageID": "docker://6c4579af347b649857e915521132f15a06186d73faa62145e3eeeb6be0e97c27",
                "containerID": "docker://20fb8035f4b0b3deee7cd9bae3e1a8c4e892298c9b72a989c8e4f81a96f48a7f"
            },
            "webserver": {
                "state": {
                    "waiting": {
                        "reason": "Container cannot run"
                    }
                },
                "ready": false,
                "restartCount": 0,
                "image": "gcr.io/google_containers/nettest:1.1",
                "imageID": "docker://a1320a4ec4cd92675d03f4d932c5a40977a864651573d242c0007a8fa5536985",
                "containerID": "docker://2dc9729cfd3f788fbd9234eccbb28cd620c34c9e41e4f5063158ab84e73e341f"
            }
        }
    }
}

This seems to be a catchall failure. @dchen1107 may have some idea what this error indicates.

If the pod's state here is "termination" then why does it show up as
"Pending" in the test log output?
S
On Tue, Mar 31, 2015 at 5:28 PM, Jeff Lowdermilk<EMAIL_ADDRESS>wrote:

From running the test locally, the failure I see is that the webserver
container cannot run.
{
"kind": "Pod",
"id": "nettest-0",
"uid": "6384d3eb-d804-11e4-80af-42010af08eed",
"creationTimestamp": "2015-04-01T00:16:48Z",
"selfLink": "/api/v1beta1/pods/nettest-0?namespace=nettest-7301",
"resourceVersion": 682,
"apiVersion": "v1beta1",
"namespace": "nettest-7301",
"labels": {
"name": "nettest"
},
"desiredState": {
"manifest": {
"version": "v1beta2",
"id": "",
"volumes": null,
"containers": [
{
"name": "webserver",
"image": "gcr.io/google_containers/nettest:1.1",
"ports": [
{
"containerPort": 8080,
"protocol": "TCP"
}
],
"resources": {},
"terminationMessagePath": "/dev/termination-log",
"imagePullPolicy": "PullIfNotPresent",
"capabilities": {}
}
],
"restartPolicy": {
"never": {}
},
"dnsPolicy": "ClusterFirst"
},
"host": "e2e-test-jeffml-minion-8w7n.c.jeffmltest.internal"
},
"currentState": {
"manifest": {
"version": "",
"id": "",
"volumes": null,
"containers": null,
"restartPolicy": {}
},
"status": "Waiting",
"Condition": [
{
"kind": "Ready",
"status": "None"
}
],
"host": "e2e-test-jeffml-minion-8w7n.c.jeffmltest.internal",
"hostIP": "<IP_ADDRESS>",
"info": {
"POD": {
"state": {
"termination": {
"exitCode": 2,
"startedAt": "2015-04-01T00:16:49Z",
"finishedAt": "2015-04-01T00:16:58Z"
}
},
"ready": false,
"restartCount": 0,
"image": "kubernetes/pause:latest",
"imageID": "docker://6c4579af347b649857e915521132f15a06186d73faa62145e3eeeb6be0e97c27",
"containerID": "docker://20fb8035f4b0b3deee7cd9bae3e1a8c4e892298c9b72a989c8e4f81a96f48a7f"
},
"webserver": {
"state": {
"waiting": {
"reason": "Container cannot run"
}
},
"ready": false,
"restartCount": 0,
"image": "gcr.io/google_containers/nettest:1.1",
"imageID": "docker://a1320a4ec4cd92675d03f4d932c5a40977a864651573d242c0007a8fa5536985",
"containerID": "docker://2dc9729cfd3f788fbd9234eccbb28cd620c34c9e41e4f5063158ab84e73e341f"
}
}
}
}
This seems to be a catchall failure
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/kubelet/dockertools/docker.go#L618.
@dchen1107 https://github.com/dchen1107 may have some idea what this
error indicates.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/5629#issuecomment-88292898
.

@jlowdermilk Which kubernetes version are you running here? It looks like an old version since the currentstate still have container POD information.
The reason of pod state is terminated and container doesn't run because its network container POD is dead. I don't know why? could you please run:
cat docker.log | grep "20fb8035f4b0b3deee7cd9bae3e1a8c4e892298c9b72a989c8e4f81a96f48a7f" to see anything abnormal there?
I can try to reproduce the issue later when I have VPN.

Don't see anything abnormal docker.log, but also not sure what would be abnormal. Here is output.
When trying to repro I saw the pod stuck in pending until timeout reached. While it was pending this was the output of docker ps -a | grep nettest on a minion
jeffml@e2e-test-jeffml-minion-8w7n:~$ sudo docker ps -a | grep nettest
3fb45954f92b        gcr.io/google_containers/nettest:1.1                      "-service=nettest -p   About an hour ago                                                      k8s_webserver.cdc9249f_
nettest-0_nettest-7539_618da41b-d80a-11e4-8a8d-42010af08eed_b43e3b95
d74f85d6f37e        gcr.io/google_containers/pause:1.0                        "/pause"               About an hour ago   Exited (2) About an hour ago                       k8s_POD.98c00084_nettes
t-0_nettest-7539_618da41b-d80a-11e4-8a8d-42010af08eed_fa4e3f25

So yeah, the network container has been dead some time. I see the same thing consistently when retrying the test.

Ok, I realized that POD container might be killed by kubelet when kubelet found all user containers are not running, and restart policy is never.
Can you please post the output of 'cat docker.log | grep 2dc9729cfd3f788fbd9234eccbb28cd620c34c9e41e4f5063158ab84e73e341f' here?

Ah, sorry, I finished working with that e2e cluster and tore it down. I'm spinning up a new one and will see if I can repro the above symptoms.

Don't worry, I will try to reproduce it later. Thanks!

I will also independently have a look at this, depending on how soon I can
neutralize the kids.
On Tue, Mar 31, 2015 at 7:55 PM, Dawn Chen<EMAIL_ADDRESS>wrote:

Don't worry, I will try to reproduce it later. Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/5629#issuecomment-88322856
.

Ok, running e2e takes forever, sigh!
It is very easy to reproduce the issue, just require a long time. docker log shows that container cannot run because a bad image:
Cannot start container 336ddc1f6a73209d416c1b7b8a789e7139d8f72ea940a0413dee823810bab3fc: exec: "-service=nettest": executable file not found in $PATH
time="2015-04-01T06:39:59Z" level="info" msg="-job start(336ddc1f6a73209d416c1b7b8a789e7139d8f72ea940a0413dee823810bab3fc) = ERR (1)"

I believe this is a regression introduced by #6100 which changes the way how kubernetes are going to use ENTRYPOINT. The fix should be straighforward. I can provide it tomorrow morning.

cc/ @bgrant0607 :-)

FYI @pmorie

If #6100 is the culprit, it's a bug. The image's entrypoint is supposed to be used if entrypoint isn't provided.

@bgrant0607 @dchen1107 @satnam6502 Taking a look to see if it's #6100

#6100 definitely lines up with the beginning of the Networking test failures, which actually started after I reopened this bug, amusingly. This bug has taken on a different meaning, though. I reopened the bug from a totally issue that we're still seeing, which is a hang off contacting the proxy endpoint. I'm forking and re-lowering the priority because we haven't seen another red dot in a little bit.

Forked to #6294. This bug should stay as the random, very serious issue where the nettest attempts to make a client call and hangs arbitrarily, which is a violation of all reasonable principals dealing with timeouts.

@bgrant0607 the code was functioning correctly; in this case the e2e test
needed to be changed to set the args, not the command.
On Wed, Apr 1, 2015 at 11:34 AM, Zach Loafman<EMAIL_ADDRESS>wrote:

Forked to #6294
https://github.com/GoogleCloudPlatform/kubernetes/issues/6294. This bug
should stay as the random, very serious issue where the nettest attempts to
make a client call and hangs arbitrarily, which is a violation of all
reasonable principals dealing with timeouts.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/5629#issuecomment-88524685
.

@bgrant0607 It is not a bug introduced by #6100 since we know it is a breakage change. The fix should be straightforward.

Just found @pmorie already provided a fix for  #6294 which is dup of this one. Shouldn't we close this?

@dchen1107: Unless you're fixing the hang, no. I forked that off to #6294.

What do you mean hang? I thought that is the only issue reporting here. Now we have a new issue or you just simple point to the that performance issue we suspected watcher?

The hang that this issue was opened for. It most recently occurred in https://github.com/GoogleCloudPlatform/kubernetes/issues/5629#issuecomment-88138430 and caused Jenkins to timeout, losing the build. There was another recurrence on gke-ci at the same time.
It just happened to be there were two networking related failures yesterday, by coincidence. #6294 just happened to land right after we had a recurrence of this hang, so people glommed onto this bug. Which is why I forked it.

yup im seeing the same thing, ran many many times

@pmorie's fix looks good to me, but it's not related to the OP.
The problem in the OP is caused by apiserver crashing (only way I'm aware of for an nginx instance to give bad gateway errors), can we get apiserver logs?

@lavalamp: Why is the client not timing out? That seems like a bug, too.

@zmerlynn it looks like nginx is timing out waiting for apiserver. From our client's perspective, the connection is just fine but apiserver is slow sending data. So the fix is probably to make nginx not wait for apiserver.
Also we should figure out what happened to apiserver, and fix that, too, of course.

Looking at the logs further down in the thread...
It's also possible that apiserver's proxy is incorrectly waiting for something that's not answering; if so that'd be a totally different issue from apiserver crashing and nginx bad gatewaying, even though the symptom would be similar.

Should this issue be closed? It doesn't look like the networking test has had any problems the last couple weeks.

yup close this guy .  this isnt an issue anymore, it runs generally in 15 seconds or less (on a single node).  Its usually less than a minute on clusters from my experience.


Add copyright notice at footer

Things added/changed:

Add copyright notice at the footer.

LGTM. Thanks for your contribution.


Update schema.sql

add checking if table exists - without it a had errors "customer already exists"

@siwekmichal Thank you for signing the Contributor License Agreement!


Improve errno Constants page

The table has been combined with the one from the errno, _doserrno, _sys_errlist, and _sys_nerr page, and the values for the POSIX error codes have been added.

@ccawley2011 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @ccawley2011, thank you for taking time to improve the docs. I'll review this but am in the middle of getting ready for a release. I will come back to this, but it will be a bit.  Didn't want you to think this is forgotten.

@ccawley2011 @TylerMSFT
This looks like a fine addition. There are a couple of style issues I'd fix. I'd recommend using alphabetical order on the constant names, rather than ordering them by their values, for ease of lookup. I'd also recommend switching to code style for the constants, for errno itself, flags like _O_CREAT, and for function names, such as _open. Also, tables are easier to read if they have spaces between the pipe characters and cell contents, and it looks like the last pipe character in _STRUNCATE in the first table is missing. It doesn't affect rendering, but it's a good style practice, especially if you're going to sort rows.

@ccawley2011 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Adding missing Zephyr keys to existing E2E tests

Adding missing Zephyr keys to the following E2E tests:

message_display_mode_spec.js
long_post_attachments_spec.js
message_edit_post_with_attachment_spec.js

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.


Override error code on AuthorizationCodeProvider.CreateAsync

Hi,
I was trying to handle some error that might happen on my AuthorizationCode code creation. Apparently i can't redirect my self to the Client Redirect URI with he correct error code which is "server_error"
The following is my code :
private static void CreateAuthorizationCode(AuthenticationTokenCreateContext context)
{
	try
	{
		//Some Code to create and save the AuthorizationCode that can throw an Exception
		context.SetToken(code);
	}
	catch (Exception ex)
	{
		logger.Fatal(ex);
		var redirectUri = GetRedirectUri();
		var redirectLocation = string.Format("{0}?code={1}", redirectUri, "server_error");
		context.Response.Redirect(redirectLocation);
	}
}

But I get redirected by the framework to the redirect Uri with https://redirecturi?error=unsupported_response_type !
Is this a normal behavior ? Or maybe there is any other way to handle those kind of scenario that I'm missing?
Why there is not way to set by myself the error using the AuthenticationTokenCreateContext object like context.SetError("my_error") ?
Thank you.

AuthenticationTokenCreateContext no longer exists. Can you try this on a more recent build and let us know what isn't working?

@Eilon I'm not sure trying a newer build will be really helpful since @alaeddinegallas's question is all about the OAuth2 authorization server that was part of Katana 3 :smile:
Given that it won't be ported to ASP.NET 5 (see https://github.com/aspnet/Security/issues/83 for more information), this repository is probably not the best place to post this issue, but...

Is this a normal behavior ? Or maybe there is any other way to handle those kind of scenario that I'm missing?

Normal, I dunno. But expected, definitely: when using an IAuthenticationTokenProvider, you're not supposed to alter the HTTP response.

Why there is not way to set by myself the error using the AuthenticationTokenCreateContext object like context.SetError("my_error") ?

Unlike the ValidateAuthorizeRequest notification, it hasn't been designed to allow you to return an error.
Sadly, there's no way to return a server_error response from an IAuthenticationTokenProvider, since OAuthAuthorizationServerHandler will always use unsupported_response_type if you don't provide an authorization code: https://github.com/jchannon/katanaproject/blob/master/src/Microsoft.Owin.Security.OAuth/OAuthAuthorizationServerHandler.cs#L204
FYI, this is something we fixed recently in AspNet.Security.OpenIdConnect.Server (a fork of the OAuth2 authorization server shipped with Katana 3): https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server/issues/112#issuecomment-125040925. If your custom code returns a null authorization code, a server_error response will be automatically returned to the client application.

@PinpointTownes ah yeah we were in a rush to get through these issues and we suspected it was Katana as well :smile:


segmentation violation

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.7 linux/amd64

What operating system and processor architecture are you using (go env)?
# go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build548111168=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x6515ef]

goroutine 27407223 [running]:
panic(0xa3ff60, 0xc420010060)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
net/http.(*persistConn).closeConnIfStillIdle(0xc420272400)
	/usr/local/go/src/net/http/transport.go:1311 +0x2f
net/http.(*persistConn).(net/http.closeConnIfStillIdle)-fm()
	/usr/local/go/src/net/http/transport.go:683 +0x2a
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

This stuff happened randomly.
It looks like https://github.com/golang/go/issues/16208

This is a dup of #16208. Go 1.7.1 will come soon. It was supposed to be last week.

Closing as dupe. Please watch for Go 1.7.1.


Extends the login command with appId and tenant. Closes #1975

Extends the login command with appId and tenant. Closes #1975
@pnp/cli-for-microsoft-365-maintainers I'd appreciate it if you could double check all is working as expected

Hey @YannickRe, it would be cool if you could have a look at it, since you've originally requested it 😊

@waldekmastykarz thank you for asking me for a review, much appreciated!

Awesome! Appreciate your help @YannickRe! Let's finalize our discussions and I'll adjust what needs adjustment and merge it in. 👏

Merged manually


Removing plist files in a command-line build / Jenkins

Hello,
I'm currently using Siesta framework in an internal iOS framework (written in Swift). This framework is built and tested by our Jenkins server. Sometimes, Jenkins may have some trouble cleaning the Build folder.
I use the XCode plugin for Jenkins, it build then test the project. It seems to build it two times in a row (one for the default action "build" and another for my custom settings that tells him to "test" the project).
After the second step, my build fails (each time - i do a manual xcodebuild clean before running into XCode plugin). Here is my output :
Testing failed:
Failed to remove /Users/jenkins/Library/Developer/Xcode/DerivedData/AXCoreSwift-cejrqtokifrbcyaxysroapbfuahi/Build/Products/Release-iphoneos/Siesta/Siesta.framework/Info-iOS.plist: “Info-iOS.plist” couldn’t be removed.
Failed to remove /Users/jenkins/Library/Developer/Xcode/DerivedData/AXCoreSwift-cejrqtokifrbcyaxysroapbfuahi/Build/Products/Release-iphoneos/Siesta/Siesta.framework/Info-OSX.plist: “Info-OSX.plist” couldn’t be removed.

Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
Linker command failed with exit code 1 (use -v to see invocation)
** TEST FAILED **

It might be caused by permissions issues or a mistake while setting up my Jenkins, but i also managed (rarely, so very difficult to reproduce) to get it while building from XCode.
FYI, i also use SwiftyJSON and a few UI pods, nothing about another networking library.
I can provide as much informations as needed

Mystery to me. I've never encountered this.
One shot in the dark: try removing Info-*.plist from the Siesta Xcode project — not the files themselves, just the references in the project file. They’re included in Source/Support.

Hi, sorry for the late answer (i was on vacation).
Siesta has been installed using Cocoapods, removing file references means thats i need to create a script or something like a post-install hook to do so in my Jenkins build.
I will update this thread as i get deeper in solving this issue,
Thank you for your help

I did found the trick !
This solution is actually working within Jenkins CI (using XCode plugin or not). The thing here is to use xcodeproj gem to access to Pods groups and files reference. xcodeproj must be installed on the running Mac before executing this script (use sudo gem install xcodeproj to do so).
I switch this issue to closed.
Added this in my podfile's post_install hook :
# Need to execute "sudo gem install xcodeproj" before executing this post_install hook
post_install do |installer|

    # Removing Info-OSX.plist and Info-iOS.plist to avoid crash while building
    # with Jenkins CI. After a fresh pod install, Siesta isn't able to delete properly
    # these files. See https://github.com/bustoutsolutions/siesta/issues/69
    installer.pods_project.pods.groups.each { |g|

        if g.name == "Siesta"
            puts "--- Found Siesta group"
            g.groups.each { |g2|

                if g2.name == "Core"
                    puts "--- Found Core group, Removing Info-OSX.plist and Info-iOS.plist"
                    g2.files.each { |f|
                        if f.name == "Info-OSX.plist" || f.name == "Info-iOS.plist"
                            puts "--- Removing files"
                            f.remove_from_project
                        end
                    }
                end
            }

        end
    }

    # Update valid architectures parameters
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ARCHS'] = '$(ARCHS_STANDARD_INCLUDING_64_BIT)'
        end
    end

end

You might want to report this to the Cocoapods and Jenkins teams. It sure sounds like the problem is on one of their ends.

Aha! Looks like you might be hitting this: https://github.com/CocoaPods/CocoaPods/issues/3638
…and if so, looks like a fix is in the Cocoapods pipeline.


Assembly of a sprite file with a limit on the weight of the sprite file

how to supplement your program to collect sprites weighing no more than 200-300kb. Thank you!
we collect banners with your tool. The task is that when, let's say, the fire is animated with a sprite, you need to collect several sprite files from 100 pictures up to 200-300kb ...

Unfortunately, I consider this is outside the scope of spritesmith. We try to avoid doing too much (e.g. optimizing images) which can largely swing the results of this
And if we were just to go off of the size of the input sprites, then we can likely find a library to chunk those up for us as well
Thus, outside the scope of spritesmith/gulp.spritesmith
Closing was wontfix


performance for moving objects

I re-ran this project, but the performance for moving objects didn't meet expectations. Please refer to the attached figure for reference.
In the figure: (segment-10335539493577748957_1372_870_1392_870_with_camera_labels/0000_0001.npz)

Black represents points at time T.
Blue indicates points at time T+1.
Red denotes points from time T after adding the predicted flow.
As evident, the objects within the bounding box are misaligned. I've observed this issue in multiple case. Is this discrepancy expected?
@Lilac-Lee

Can you provide your NSFP++  baseline since it adopt extra assumption

Hi @waveleaf27, this might happen when the grid cell size is relatively large, making the prediction prone to similar motions nearby.
Please refer to MBNSF for the implementation of NSFP++ baseline.
Cheers.

I also observed the moving object prediction in FastNSF is not better than NSFP in AV2 too. But in general, it's not bad.
Btw, I want to ask about grid cell size is that equal to grid_factor in the code? Is 10 default mean 0.1-meter grid size?


[Bug Report] can not add transition animation to el-tab tl-tab-pane

Element UI version
2.4.8
OS/Browsers version
mac
Vue version
2.5.17
Reproduction Link
https://jsfiddle.net/Yanni_Jia/813afkc9/
Steps to reproduce
add transition to el-tab-pane, not work
What is Expected?
hope to add transition animation to tab-pane content when switch el-tabs
What is actually happening?
transition animation not work

Duplicate of #12762


XVim not loading with Xcode 7.1

I pulled XVim master and built using make.  I opened Xcode 7.1 and accepted the external plug-in's when prompted however XVim didn't load and I am stuck Vim-less (gasp!).

I noticed that my Alcatraz plug-in wasn't working either and tried removing both Alcatraz and XVim and re-installing to no avail.  I then came across this that saved the day for both Alcatraz and XVim.
https://github.com/supermarin/Alcatraz/issues/362#issuecomment-150457101
For those who don't want to click through here's the comment from @uptownboy :beer: :tada:.
problem fixed!!!!

run these 2 lines in terminal:
1:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID

2:
defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-7.1

3:
restart xcode!

Worked for me. Thans!

have the same problem with you, download Xvim master and make ,then restart xcode, but xvim seems not work, i have xcode version 7.1.1
i have tried running two command in terminal , and it's still not working

Try this. (You have to change the version part)
https://github.com/XVimProject/XVim/issues/757#issuecomment-106301119

@JugglerShu  Thanks, It works for me

Had the same problem upgrading from Xcode 7.2.1 to Xcode 7.3.  Deleting XVim.xcplugin and rebuilding master then running this command fixed it for me.
defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-7.2.1

Don't forget to restart Xcode afterwards and press "Load Bundle" button when Xcode shows dialog with a message "Unexpected code bundle..." (from https://github.com/XVimProject/XVim/issues/757#issuecomment-106301119).  Thanks @JugglerShu for the great plugin and helpful advice.


Install of swissup/module-rtl failed

[Exception]
Higher matching version 2.5.3 of swissup/module-breeze was found in public repository packagist.org
than 2.5.1 in private https://repo.magento.com. Public package might've been taken
over by a malicious entity,
please investigate and update package requirement to match the version from the private repository

We just submited recent release to Magento marketplace. Please try to install it in next 15 minutes. We also suggest to install Breeze directly from our repository as ussualy there is delay between official release and module submission to Marketplace.


Fix mypy errors

Fixes the following mypy errors,
mypy arff.py --ignore-missing-import
arff.py:331: error: Incompatible types in assignment (expression has type "str", base class "ArffException" defined the type as "None")
arff.py:335: error: Incompatible types in assignment (expression has type "str", base class "ArffException" defined the type as "None")
arff.py:349: error: Incompatible types in assignment (expression has type "str", base class "ArffException" defined the type as "None")
arff.py:386: error: Incompatible types in assignment (expression has type "str", base class "ArffException" defined the type as "None")
arff.py:390: error: Incompatible types in assignment (expression has type "str", base class "ArffException" defined the type as "None")
arff.py:394: error: Incompatible types in assignment (expression has type "str", base class "ArffException" defined the type as "None")
Found 6 errors in 1 file (checked 1 source file)

Because scikit-learn vendors arff.py this error show also when running the checker on scikit-learn https://github.com/scikit-learn/scikit-learn/issues/12953
The goal here is by no mean to add type annotations for everything, but merely to fix mypy errors (that are fairly rare).

Still supporting Py2 here...

Indeed, should be OK now.

Hey, thanks for the PR.

The goal here is by no mean to add type annotations for everything, but merely to fix mypy errors (that are fairly rare).

I wouldn't mind type annotations. That would require dropping a few supported python versions, but I guess we can finally drop Python 2.
Let me know whether you folks want to add that or whether I should just go ahead and merge this PR.

I would rather we merged this PR. I don't plan to work on it much more. But yes, I agree type annotations could help.

Alright then. Thanks for the contribution.


A loader for fixture modules.

It could be nice to provide a function that calls Code.load_file for all the fixture modules in a project, possibly based on path globs.  Something like the auto-loading of conftest.py in py.test.

2 features in particular I'd like this to have:

Actually call Code.load_file on fixture files.  Maybe just by looking for files based on a glob.
Slightly more indepth - automatically use any fixture modules that are relevant to a file, much like the auto-loading of conftest.py files in py.test.

Ideally it'd be possible to use 1 without 2.


(437) Fix CircleCI artifacts and add Cypress HTML report

Context
Artifacts were not being saved in CircleCI runs of integration tests
Changes in this PR

Fix artifact saving in CircleCI integration tests
Move test config and results into a more consistent structure
Add HTML report for integration tests

We possibly don't need the XML or JSON reports if we're happy with the HTML, but I've kept/included them for now (this MoJ repo does the same)
Screenshots of UI changes
Before

After

Post-merge checklist

[ ] This adds, extends or meaningfully modifies a feature...

[ ] ... and I have written or updated an end-to-end test for the happy path in the Accredited Programmes E2E repo

[ ] This makes new expectations of the API...

[ ] ... and I have notified the API developer(s) of changes to the contract tests (Pact), or the API is already compliant

 Fix Circle artifact and results storage for integration tests


JDK 8 is installed but getting: 'Java is required to install this formula.JavaRequirement unsatisfied!'

I tried updating brew and upgrading all my outdated formula today, but got the 'Java 1.7+ is required to install this formula.JavaRequirement unsatisfied!' error.
Additionally I get the same error when trying to install ant, except the message is for java 1.8+. I originally had ant installed but it failed to upgrade in the same manner as the other formula's above. I tried to uninstall and reinstall ant and got the same error.
I searched for any other issues that may be related, but only found an old issue where they were pointing at a jre instead of a jdk (https://github.com/Homebrew/legacy-homebrew/issues/50035).
Here is the gist of the output of all my steps I took trying to debug this:
https://gist.github.com/nickg415/1c7a1c8bfe28d75320960e7a7f53c265

Try to unset JAVA_HOME. Did you try rew cask reinstall java?

Just tried that now, but was unsuccessful. Updated the gist (new starts at line 145).

Can I see your brew config and brew doctor output with JAVA_HOME unset? Thanks!
CC @rwhogg in case you have any ideas here as you worked here recently.

Updated the gist with these (starts at line 265)

@nickg415 Just made a new tag. Can you try to brew update once more and see if it fixes anything? If not: I think I'm stumped here 😭

@nickg415 if that doesn't work, feel free to join the #machomebrew IRC channel and I can try debugging it with you interactively.

The gist of the issue is that if $JAVA_TOOL_OPTIONS is set, it inserts extra output into java -version. $JAVA_TOOL_OPTIONS included the string "1.1" in it, so JavaRequirement mistakenly thought it was Java version 1.1 instead of 1.8.
I'm not immediately sure of the appropriate fix for this, but for now a workaround is to unset $JAVA_TOOL_OPTIONS.
(Side note: I should really open a PR to add a newline to the output of the failure message for JavaRequirement.)

@rwhogg Updated the gist with our chat in IRC.
also, didn't notice you left IRC before I posted this:
so is there any actionable thing that could be done to improve that? or not worth the effort at this time? I'm not really familiar with the inner workings of brew (obviously), but if you point me the right direction (and if I can find the time), I may be willing to contribute
nickg415
definitely agree that some check should be put into brew doctor
nickg415
thoughts on maybe some regex or parsing improvement to ignore the output of JAVA_TOOL_OPTIONS?

For now I'd suggest unsetting JAVA_TOOL_OPTIONS. The longer-term solution is enabling https://github.com/Homebrew/brew/issues/932 for everyone.


enviro indoor picow (0.0.9) reporting ~3C higher temperature

I've noted that with 0.0.9 that my enviro indoor (run on USB power) appears to be reporting the temperature at approximately 3C higher than the actual room temperature. I've ensured there is clear airflow around the device.
In earlier versions of the firmware I did not see this issue.

I see similar with reported temperatures higher than actual. Also enviro indoor on USB power. Results are sent to Adafruit and it shows temperature reported at around c. 28 degrees C. I'd guess 6 or 7C higher than actual

I have also noticed this with Enviro Urban.

I found this with Enviro Weather. other weather stations in my area say ~17ºC, but mine is reporting upwards of 21ºC! I am running 0.0.10 on permanent USB power

As all my data lives in influxdb it looks like I need to write some scripts to pull this from the APIs as no handy export to CSV in the UI. I took 30 data points manually from the graphs of how my board differed to the separate BME688 and got a trend line of around y = x/20 on top of the offset already configured, probably around 4, need to pull the config to check.
When I can get more time to look at the data, identify if outliers are noise or if say humidity plays a factor or other correlations and see if anything can be confidently learnt from the data I can put some calibration code in.
What we can say is that the board was designed for infrequent polling on battery power. Deploying powered or with frequent polling and uploading introduces heat to the onboard sensor in a potentially non linear fashion with several input variables (poll frequency, upload frequency and environment temperature at least). I suspect the best approach for frequent polling is to move any data collection for temperature and humidity off board via QWST connector and then calibrate them to a known source, as I can see my BME688 out of the box is several degrees higher, but hopefully linearly so without the Pico sinking heat into it.


Keep not working with S3

Keep option is not working with s3 settings.
I have almost 700 backups on my s3 account now i am trying to limit it to only saving the last 40 backups. I updated my store_with settings and add a keep option with a value of 40. But still, backups are being saved but old ones are not being deleted.
config is as follows.
store_with S3 do |s3|
s3.access_key_id     = '....'
s3.secret_access_key = '.....'
s3.region            = '....'
s3.bucket            = 'abc'
s3.path              = ''
s3.keep              = 40
end

Operating system:  Ubuntu 14.04.3 LTS
Ruby version: ruby 2.5.0p0
Tools or services used by backup: PostgreSQL
backup (5.0.0.beta.1)

I'm seeing this myself also, both S3 and Local store options.
It used to work on my old setup, but stopped after moving to Dockerised setup, so perhaps there's something with containers that I'm missing?
Some state file or something?
I'm running it via
docker-compose run --rm backup /bin/bash -c '/usr/local/bundle/bin/backup perform -t my_model --config-file /backup/model.rb'

The backup container is running ruby-2.6

I had a similar problem.
For me, it was because Backup's persistent information didn't match with the actual backup data in S3.
Here's how Backup's Cycler works

When Backup's Cycler is used, small YAML files are stored in data_path.
And it removes outdated backup data based on that information.

So if the outdated backup data is somehow missing in the persistent information it will never be deleted.
How to solve
You have to match the persistent information to the actual backup data.
I just deleted all backup data and the persistent information.
The location of the data_path can be configured in config.rb. The default is <root_path>/.data.
For S3 backups, it would be <root_path>/.data/<backup_name>/S3.yml.

I don't have much time to dig into these kind of issues. You'll have to send a PR

Are you using different storage ids (such as daily/weekly/monthly)?
If so, you need to specify the storage_id in the store_with method such as:
 store_with S3, storage_id do |sftp|     .... end
Another example here: http://backup.github.io/backup/v4/storages/


set_extension_schemas fails for models with multiple extensions

This will demonstrate the issue which produces pydantic_core._pydantic_core.PydanticSerializationError: Error calling function set_extension_schemas: AttributeError: model_fields
payload = User[Union[EnterpriseUser, PatchOp]](
<EMAIL_ADDRESS>        external_id=str(uuid.uuid4()),
<EMAIL_ADDRESS>        display_name="Leroy Johnson",
    )
payload.model_dump(scim_ctx=Context.RESOURCE_REPLACEMENT_RESPONSE)

It looks like set_extension_schemas can not handle the Union.

Thank you for your report.
The Model[Union[ExtensionA, ExtensionB]] syntax is intended to be used for extensions, but if EnterpriseUser is a valid extension for Users, PatchOp is not.
PatchOp is a Message defined in RFC7644 §3.5.2 and while the models are defined, its usage is not really implemented in scim2-models yet.
I will open tickets and update the documentation to indicate that the implementation of PatchOp is to be done, as the implementation of Bulk operations.

Oh interesting...PatchOP seems to be working for Group with no issues, but there I'm only using it alone...there's no Union.
I'm trying to use these models for an endpoint that is called directly by Microsoft's Entra's SCIM v2 support.  If I don't have the PatchOP extension applied to the model, then the Entra sync requests fail validation with "No extension model found for schema '..... PatchOP'
Entra requests also require the EnterpriseUser extension for User models .... so if they are supported combined I believe I'm stuck.  Unless I misunderstand something?
I might try to monkey-patch set_extension_schemas to see if I can work around this.

This is strange, because RFC7644 §3.5.2 illustrates PatchOperations payloads with something like:
   { "schemas":
       ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
     "Operations":[
       {
        "op":"add",
        "path":"members",
        "value":[
         {
           "display": "Babs Jensen",
           "$ref":
   "https://example.com/v2/Users/2819c223...413861904646",
           "value": "2819c223-7f76-453a-919d-413861904646"
         }
        ]
       },
       ... + additional operations if needed ...
     ]
   }

Plus, I see in your OP that you attempt to produce a RESOURCE_REPLACEMENT_RESPONSE, but the RFC indicates that Patch responses payload should contain the patched object or nothing.
On successful completion, the server either MUST return a 200 OK
   response code and the entire resource within the response body,
   subject to the "attributes" query parameter (see [Section 3.9](https://datatracker.ietf.org/doc/html/rfc7644#section-3.9)), or MAY
   return HTTP status code 204 (No Content) and the appropriate response
   headers for a successful PATCH request.  The server MUST return a 200
   OK if the "attributes" parameter is specified in the request.

The Entra documentation on Patch seems to confirm this.

Wow...really appreciate that research and insight.  I'm using FastAPI so the validation and parsing happens behind the scenes, then my endpoint is handed a SCIMUser[Union[EnterpriseUser, PatchOp]] object.  I was using it and then simply trying to return it on success with:
my_user_object.model_dump(scim_ctx=Context.RESOURCE_REPLACEMENT_RESPONSE)
That triggers the issue. Based upon your feedback, I'm now just returning  a 204 and avoiding the model_dump altogether.  Thanks for getting me sorted!


Const violation in object/array deconstruction is not maintained

Input:
const c = 1;
export default function f() {
  [c = 2] = [];
  ({c = 3} = {});
}

Output:
export default (c => function f() {
  [c = 2] = [];
  ({c = 3} = {});
})(1);

Input function throws TypeError: Assignment to constant variable. Function in output ignores that c is a const, and sets c.
Additionally, Livepack has missed that c is only written to, not read from, so initial value of c (1) is not required.

This is always a const violation. But right-hand side of assignment pattern is only evaluated if the incoming assignment value is undefined.
Correct replacement for c = f() in [c = f()] = [x] would be:
{
  set a(v) {
    v === void 0 && f();
    const c = 0;
    c = 0;
  }
}.a

The var v would need to be named so does not block access to any vars used in the right-hand side of the assignment pattern. If right-hand side contains eval(), this becomes impossible.
const c = 0; c = 0; would also need to be contained within a nested block if right-hand side contains a reference to c.
This version avoids these pitfalls by evaluating right-hand side of assignment pattern in unaltered scope:
(
  e => ( {
    set a(v) {
      v === void 0 && e();
      const c = 0;
      c = 0;
    }
  } )
)( () => f() ).a

Fix implemented on issue-333 branch. Just needs tests.


ReferenceField is unable to resolve the instance when the collection name does not match with the model Document name.

If I define a collection name in the meta of a document, different from the document name I get an exception:
File "/Users/o.garcia/.virtualenvs/quinexas/lib/python2.7/site-packages/rest_framework_mongoengine/fields.py", line 98, in to_internal_value
    instance = dereference.DeReference()([dbref])[0]
  File "/Users/o.garcia/.virtualenvs/quinexas/lib/python2.7/site-packages/mongoengine/dereference.py", line 78, in __call__
    self.object_map = self._fetch_objects(doc_type=doc_type)
  File "/Users/o.garcia/.virtualenvs/quinexas/lib/python2.7/site-packages/mongoengine/dereference.py", line 154, in _fetch_objects
    for x in collection.split('_')))._from_son(ref)
  File "/Users/o.garcia/.virtualenvs/quinexas/lib/python2.7/site-packages/mongoengine/base/common.py", line 25, in get_document
    """.strip() % name)
NotRegistered: `AutomatorServices` has not been registered in the document registry.
            Importing the document class automatically registers it, has it
            been imported?

This is my model definition:
class AutomatorService(Document):
    name = fields.StringField(required=True)
    description = fields.StringField(required=True)
    date_changed = fields.DateTimeField()
    task = fields.StringField(required=True)

    meta = {
        "collection": "automator_services"
    }

The problem is that when mongoengine is dereferencing tries to search for the model AutomatorSevices instead of AutomatorService (note plural vs singular).

References reimplemented in current trunk.
Please, try to make a test case to check, with [dev environment]
(https://github.com/umutbozkurt/django-rest-framework-mongoengine/blob/master/requirements_dev.txt)
(I'm not shure it will run py2.7 though)

Thanks, It works now.
Tested in 2.7.10 and no problem.


Add dereference and function call operators to NanCallback

As a way of addressing #284, I added a dereference operator to NanCallback as a shorthand for GetFunction. I also added a function call operator as a shorthand for Call.
Should be included in #365.

LGTM, I suppose, although I question how useful that is.

It's more natural. You would expect NanCallback to be a functor. Makes it easily usable in more code.


pw resest - update styling

page looks pretty gross... let's couple this with #1003 maybe?

This was spruced up when we cleaned up the default page templates. Closing.


KeyValueGroupedDataset Overload resolution ambiguity

Since KeyValueGroupedDataset in Scala already has the functions
def reduceGroups(f: (V, V) => V): Dataset[(K, V)]

and
def reduceGroups(f: ReduceFunction[V]): Dataset[(K, V)]

this has priority over the extension function provided in the api:
inline fun <reified KEY, reified VALUE> KeyValueGroupedDataset<KEY, VALUE>.reduceGroups(noinline func: (VALUE, VALUE) -> VALUE): Dataset<Pair<KEY, VALUE>>

and thus makes writing
groups.reduceGroups { a, b ->  ... }

impossible in the code due to Overload resolution ambiguity.
Currently, the only way to use the Kotlin one is by typing:
groups.reduceGroups(func = { a, b ->  ... })

(It's also confusing why this maps the values to Pairs instead of Arity2s... but that's another matter)
This problem is also relevant for mapValues and mapGroups

Could you please provide me with reproducer? Looks like these functions are tested and there are examples of usage and they compile fine…

Could you please provide me with reproducer? Looks like these functions are tested and there are examples of usage and they compile fine…

It appears, there are no tests yet for these functions. I provided an example in the 3.0 test here: https://github.com/Jolanrensen/kotlin-spark-api/tree/overloadResolutionAmbiguityExample

The absence of tests looks like a major bug itself! Thank you for reporting!

@asm0dey
I think currently the only solution (apart from Spark implementing first party Kotlin support or we finding new names for reduce, mapValues etc.) would be a Kotlin wrapper for these.
Something like:
class KDataset<T>(dataset: Dataset<T>) : Dataset<T>(dataset.queryExecution(), dataset.encoder()) {

    fun reduce(func: (T, T) -> T): T = reduce(ReduceFunction(func))

}

solves the issue, but it would require a large overhaul of the entire API, plus it might add some extra complexity for the users.
(Not sure if I mentioned it before, but Dataset.reduce suffers from the same issue as the other methods mentioned here. They can only be called with a specific ReduceFunction or a named parameter to avoid the overload.)

@asm0dey
I know KDataset will probably not happen, but I was bored and thought I'd give it a try, just for fun.
Here's my implementation (3.0 only, hence the errors):
https://github.com/Jolanrensen/kotlin-spark-api/tree/KDataset
And here are my thoughts:
It does provide some benefits. It can be used as a normal Dataset and there is an easy toKotlin() conversion. Every time (most time) a dataset would be created inside the Kotlin Spark API, now a KDataset is created.
It's more null-safe since the arguments are now supplied in Kotlin functions instead of Scala ones.
The lambda types are easier to understand when read since it's normal Kotlin notation now and not interfaces.
Most of the resolution ambiguity, like reduce {}, is gone.
Not everything can be solved how we want it though, for instance, select() cannot return a Dataset<Pair>. We still need selectTyped() for that, however, select() can now be overridden and annotated with @Deprecated.
This @Deprecated annotation is also helpful for foreach to point to forEach etc.
KeyValueGroupedDataset would also need to be wrapped for the other overload resolution ambiguities.
And KDataset is of course more work if the Spark API itself changes.

@asm0dey
Any idea why the Dataset.filter {} lambda works without resolution ambiguity but Dataset.reduce {} does not?
They both have a Java/Scala variant with an interface and a functional type version.
(I'm checking to see if more functions need a K-variant in https://github.com/Jolanrensen/kotlin-spark-api/tree/fixing-more-overload-res-ambiguity)

I added reduceK in https://github.com/JetBrains/kotlin-spark-api/pull/95
We'll need to take a good look if we missed any of the functions in the API that need a K-variant. Otherwise, we could maybe close this issue for now :)

Any idea why the Dataset.filter {} lambda works without resolution ambiguity but Dataset.reduce {} does not?

No any idea! They look so similar!


Tag Feature: AttributeError

receiving:
terraform-compliance v0.4.11 initiated
Steps    : /usr/local/lib/python2.7/site-packages/terraform_compliance/steps
Features : /Users/demianginther/git/tf-modules/compliance
TF Files : /var/folders/zf/f1h382nn35z3gd1kv92bw6r80000gn/T/tmpdenIxW (.)
Reading terraform files.
All HCL files look good.
Running tests.
Feature: Resources should be properly tagged  # /Users/demianginther/git/tf-modules/compliance/tags.feature
    In order to keep track of resource ownership
    As engineers
    We'll enforce tagging on all resources
1 features (0 passed)
1 scenarios (0 passed)
3 steps (0 passed)
Run<PHONE_NUMBER> finished within a moment
Error: Hook 'load_terraform_data' from /usr/local/lib/python2.7/site-packages/terraform_compliance/steps/terrain.py:6 raised: 'AttributeError: 'unicode' object has no attribute 'update''

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/radish/hookregistry.py", line 121, in call
    func(model, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/terraform_compliance/steps/terrain.py", line 12, in load_terraform_data
    enable_resource_mounting(tf_conf.terraform_config)
  File "/usr/local/lib/python2.7/site-packages/terraform_compliance/extensions/terraform_validate.py", line 29, in enable_resource_mounting
    enable_resource_mounting(tf_conf, sub_value, sub_resource)
  File "/usr/local/lib/python2.7/site-packages/terraform_compliance/extensions/terraform_validate.py", line 29, in enable_resource_mounting
    enable_resource_mounting(tf_conf, sub_value, sub_resource)
  File "/usr/local/lib/python2.7/site-packages/terraform_compliance/extensions/terraform_validate.py", line 37, in enable_resource_mounting
    change_value_in_dict(tf_conf, target, {source: processing_resource})
  File "/usr/local/lib/python2.7/site-packages/terraform_compliance/common/helper.py", line 134, in change_value_in_dict
    target.update(value_to_change)
AttributeError: 'unicode' object has no attribute 'update'

when setting up a dynamoDB resource set.
Not sure exactly which code is tripping it up.
Any ideas?

I have a similar problem:
    In order to improve security
    And decrease impact radius
    As engineers
    We'll use a layered architecture in our AWS Environment
1 features (0 passed)
1 scenarios (0 passed)
3 steps (0 passed)
Run<PHONE_NUMBER> finished within a moment
Error: Hook 'load_terraform_data' from /usr/local/lib/python3.6/site-packages/terraform_compliance/steps/terrain.py:6 raised: 'AttributeError: 'str' object has no attribute 'update''

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/radish/hookregistry.py", line 132, in call
    func(model, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/terraform_compliance/steps/terrain.py", line 12, in load_terraform_data
    enable_resource_mounting(tf_conf.terraform_config)
  File "/usr/local/lib/python3.6/site-packages/terraform_compliance/extensions/terraform_validate.py", line 29, in enable_resource_mounting
    enable_resource_mounting(tf_conf, sub_value, sub_resource)
  File "/usr/local/lib/python3.6/site-packages/terraform_compliance/extensions/terraform_validate.py", line 29, in enable_resource_mounting
    enable_resource_mounting(tf_conf, sub_value, sub_resource)
  File "/usr/local/lib/python3.6/site-packages/terraform_compliance/extensions/terraform_validate.py", line 37, in enable_resource_mounting
    change_value_in_dict(tf_conf, target, {source: processing_resource})
  File "/usr/local/lib/python3.6/site-packages/terraform_compliance/common/helper.py", line 181, in change_value_in_dict
    target.update(value_to_change)
AttributeError: 'str' object has no attribute 'update'

I narrowed it down to line:
  count                   = "${length(var.dmz_subnet_cidr_blocks)}"

If I comment it out, the test passes:
    In order to improve security
    And decrease impact radius
    As engineers
    We'll use a layered architecture in our AWS Environment

    Scenario: Subnet Count
        Given I have AWS Subnet defined
        When I count them
        Then I expect the result is more than 2

1 features (1 passed)
1 scenarios (1 passed)
3 steps (3 passed)
Run<PHONE_NUMBER> finished within a moment
Cleaning up.

The variable dmz_subnet_cidr_blocks is defined as follows:
DMZ specific settings
variable "dmz_subnet_cidr_blocks" {
type = "list"
default = ["<IP_ADDRESS>/27", "<IP_ADDRESS>/27", "<IP_ADDRESS>/27"]
}

this problem must be fixed already within 1.0.0 release. Please let us know if it is still not working for you.
Thanks!

I am getting this error. I am running Terraform Compliance in Docker Ubunto 18.04 image
terraform-compliance v1.3.5 initiated
. Converting terraform plan file.
Traceback (most recent call last):
File "/usr/local/bin/terraform-compliance", line 11, in
sys.exit(cli())
File "/usr/local/lib/python3.6/dist-packages/terraform_compliance/main.py", line 113, in cli
(' ({})'.format(features_git_repo) if 'features_git_repo' in locals() else '')))
File "/usr/local/lib/python3.6/dist-packages/radish/utils.py", line 50, in console_write
print(u(text))
UnicodeEncodeError: 'ascii' codec can't encode character '\U0001f6a9' in position 0: ordinal not in range(128)

Upgrading to Python 3.8 from 3.6 solved this issue.

I am getting this error. I am running Terraform Compliance in Docker Ubunto 18.04 image
terraform-compliance v1.3.5 initiated
. Converting terraform plan file.
Traceback (most recent call last):
File "/usr/local/bin/terraform-compliance", line 11, in
sys.exit(cli())
File "/usr/local/lib/python3.6/dist-packages/terraform_compliance/main.py", line 113, in cli
(' ({})'.format(features_git_repo) if 'features_git_repo' in locals() else '')))
File "/usr/local/lib/python3.6/dist-packages/radish/utils.py", line 50, in console_write
print(u(text))
UnicodeEncodeError: 'ascii' codec can't encode character '\U0001f6a9' in position 0: ordinal not in range(128)

Upgrading to Python 3.8 from 3.6 solved this issue.


Switch to -n auto and stop running bigmem tests separately

What was wrong?
The memory issues that required distinguishing bigmem tests and limiting tests to 2 threads have been fixed.
How was it fixed?
Switch to -n auto with --maxprocesses 8. Run bigmem together with the other tests. The bigmem flag has not been removed.
Cute Animal Picture

LGTM


error: Cannot read from /./ts2.tbs

env: mac   node.js v7.10.0
ts.tbs
import {test2} from "./ts2.tbs";
...

ts2.tbs
export function test2 ():void{}

out
$ tc ts.tbs --wasm --out ts.wasm
error: Cannot read from /./ts2.tbs
error: Cannot write to ts.wasm

This should have fixed in master.


Need help converting Gridsize to float?

How would I convert Gridsize to float on all the script without getting errors? When I tried to change gridsize to a float in the Traning script, I get
"error CS0266: Cannot implicitly convert type float' to int'. An explicit conversion exists (are you missing a cast?)"
Not sure what to do.
I really need to make my character smaller than 1 meter.

Yeah i have an issue open for that (https://github.com/selfsame/unity-wave-function-collapse/issues/9). In the meantime you'll probably have to use integer sized tiles and just resize the output map for your games needs


[Bug]: issue with device.start/stop_livestream

Version
1.6.6/0.8.4
Node version
v12.22.5
Operating System type
Linux
Operating system version
Debian 11.1
Describe the bug
Hello,
I encounter a problem when I want to use the device.start_livestream/device.stop_livestream/device.is_livestreaming command.
I have the error:
{"type":"result","success":false,"errorCode":"unknown_command"}
Docker also shows the error:
2022-02-16 09:38:26.510  ERROR Message error
 Error
details:
{
  command: 'device.start_livestream',
  errorCode: 'unknown_command'
}

I've tried using different versions of the schema but that doesn't solve the problem.
Here is my test script that calls this command:
import json
from websocket import create_connection
ws = create_connection("ws://<IP_ADDRESS>:3000")
print(ws.recv())
ws.send(json.dumps({"command": "device.start_livestream", "serialNumber": "T8113NXXXXXXXXXXX"}))
print(ws.recv())
ws.close()

Thanks in advance for your help.
To reproduce
Try to use the next script to open livestream :
import json
from websocket import create_connection
ws = create_connection("ws://<IP_ADDRESS>:3000")
print(ws.recv())
ws.send(json.dumps({"command": "device.start_livestream", "serialNumber": "T8113NXXXXXXXXXXX"}))
print(ws.recv())
ws.close()
Screenshots & Logfiles
No response
Additional context
No response

Please read the documentation. Here you will find the answer to your problem.

Thanks for your answer and the work performed on the eufy environment.
I have read the documentation and how to set the schema version but sorry I still can't do it.
No matter what schema version I tell the server I get "Success" back but it doesn't seem to apply.
Would it be possible to have a little more explanation?
I make my tests with postman.

Thanks in advance.


Added support for DISTINCT and GROUP BY

@vinodpahuja Do you considering to merge this PR? I really need this feature. Thank you in advance.

Do you considering to merge this PR?

Sure, but unfortunately I am not the owner of the repo. I used it as a patch only. If you need you can do the same.


[FEATURE REQUEST] Expose API to free memory associated with decompiled functions

Is your feature request related to a problem? Please describe.
I'm always frustrated when Ghidra gets killed by the OS because it ate all of the system's memory when decompiling large functions, or many small functions programmatically.
Describe the solution you'd like
I'd like to have an API exposed that allows me to free the memory associated with a decompiled function.
Describe alternatives you've considered
Currently, I'm selective in my scripts about which functions I decompile and I cache results to disk so that I can pick up from where I left off when Ghidra inevitably dies.
I've tried things like del FUNC in conjunction with System.gc(), but Ghidra won't 🎶 let it go 🎶
Additional context
Add any other context or screenshots about the feature request here.

You need to use reflection to expose the Cache<Function, DecompileResults> decompilerCache via decompilerPanel.controller.decompilerCache and calll invalidate(foo)

awesome, I appreciate the insight! I'll give this a try.

Can you describe how you are decompiling functions programmatically? Are you disposing of them when you are done? Perhaps you can share your scripts here so we can try to identify the issue?

@ghidra007 sorry for the delayed response. Here's the basics of what i'm doing
def get_high_function():
    options = DecompileOptions()
    monitor = ConsoleTaskMonitor()

    iface = DecompInterface()
    iface.toggleSyntaxTree(True)
    iface.setSimplificationStyle('decompile')
    iface.openProgram(getCurrentProgram())
    iface.setOptions(options)

    result = iface.decompileFunction('some_function', 60, monitor)
    return result.getHighFunction()

highfunction = get_high_function()

for op in highfunction.getPcodeOps():
    yield op

varnode = op.getInputs()[0]
call_addr = varnode.getAddress()

callee = getFunctionAt(call_addr)

for descendent in op.getOutput().getDescendants():
    inputs = descendent.getInputs()

My assumption is that it's the getHighFunction call, that chews up the memory, but i don't know that for sure.
I've tried using del HIGHFUNC and calling into jython's garbage collector to no avail.

Have you tried calling iface.dispose()?


V2.4.x

Flat structure for example domain

there's something terrible wrong... I think you want to apply only the latest commit; not the entire master?


Consumer retries?

Hi!  I'm trying to learn Kakfa, and I've been using Kafka-Flow for my proof of concept applications.  Kafka-Flow is very impressive, and I really like what you've done!  But I'm running into some odd issues that may be a misunderstanding on my part, and I'm hoping you can help me.
As part of my testing, I've written a small app intended to first produce a message on a Kafka topic, and then consume that same message.  I'm using docker compose to spin up a Kafka broker, wiping the data and starting fresh each time.  The first time I run my app, it produces the test message but never reads it.  My breakpoints confirm the typed handler on my consumer is never triggered.  And if I look in Kafdrop, I can see the original message in the topic, though my consumer group isn't registered to the topic.  In the log, I see 3 instances of errors that look like this:
KafkaFlow: Kafka Consumer Error | Data: null | Exception: {"Type":"Confluent.Kafka.ConsumeException","Message":"Broker: Unknown topic or partition","StackTrace":"   at Confluent.Kafka.Consumer\u00602.Consume(Int32 millisecondsTimeout)\r\n   at Confluent.Kafka.Consumer\u00602.Consume(CancellationToken cancellationToken)\r\n   at KafkaFlow.Consumers.Consumer.ConsumeAsync(CancellationToken cancellationToken)"}
Three errors make sense, I think - I have my consumer, admin messages, and telemetry configured.
But if I shut down my test app and then start it again (while leaving the broker up), a second test message is produced - but this time the consumer's handler picks it up and processes it.  In Kafdrop, this time the consumer group IS registered to the topic.  And when I look in the logs, there is only one instance of the Kafka Consumer error.
Maybe I'm interpreting what I'm seeing wrong, but is it possible that in the first run the consumer fails to register because the topic doesn't exist until a message is produced - and then on the second run the consumer works because the topic already exists?  And if that's the case, is there a way to have a consumer periodically retry connecting to a topic if it fails the first time? Or am I missing the real problem entirely?  Any advice you could give would be appreciated.

Hi @jplumhoff, thanks for the question.
Short answer: Kafka Flow already has this behavior.
Long answer: Take a look at the sample project output below.

As you can see,  at first kafkaflow couldn't connect to the topic and showed an error (red message) as expected.
After that, I produced one message, the topic was created, and then kafkaflow connected the consumer to the topic (green message).
However, the previous message was not consumed because the consumer group was created with AutoOffsetReset.Latest (default value), which means, reading messages from the latest offset if no offset has yet persisted in Zookeeper.
Then, I produced another message and this one was successfully consumed (blue rectangle).

Nowadays it is not possible to create topics using Kafkaflow, but we are planning to develop this feature when we get this issue.
Probably, something like this:
.Topics(config =>
   config.Add(topicName, topic =>
       topic.CreateIfMissing(t =>
           {
               t.NumPartitions = 2;
               t.ReplicationFactor = 1;
               ...
           });)

Thanks - that makes perfect sense!
On a somewhat related topic, I'm interested in learning a lot more about Kafka and this library in particular.  I'm willing to "pay my way" by contributing to any documentation tasks or creation of demo/sample projects. I'm sure I'd need to ask lots of question, though. Please let me know if/how I can help.

Hi @jplumhoff, please join us at our slack channel  and send me a message so we can talk about the currently open issues and how you could contribute to our project
😃


Tests seem to run for both lib and main

Hi, I am following the blog, currently at the tests post. The tests seem to run twice:
Running unittests src/lib.rs (target/target/debug/deps/os-700045f9d1cee9a8)
...
Running unittests src/main.rs (target/target/debug/deps/os-72fe698e079ceb87)

Both files call test_main so the tests run twice. Any idea why? I compared my code with the post-04 branch and seems to be the same.
Thank you! Awesome work btw :)

That's how testing in Rust works. Libraries are built and tested separately from binaries.

Thanks!


fix/feat(cluster create): Ignore monitoring variables and fix Dockerfile tagging

Codecov Report
Base: 35.46% // Head: 35.32% // Decreases project coverage by -0.14% :warning:

Coverage data is based on head (2a39c97) compared to base (82138f0).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #278      +/-   ##
==========================================
- Coverage   35.46%   35.32%   -0.15%
==========================================
  Files          44       44
  Lines        2450     2460      +10
==========================================
  Hits          869      869
- Misses       1476     1486      +10
  Partials      105      105

Impacted Files
Coverage Δ

pkg/cluster/create.go
36.88% <0.00%> (-1.72%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Why my model's physics.data.ncon is always zero?

Hi,
I'm a student and I'm trying to use MuJoCo for simulation.
I'm looking for some help with the collision computation of mesh.
The xml is as follows:

</default>
<asset>
    <texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="512"/>
    <texture name="texplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 0.15 0.2" width="512" height="512" mark="cross" markrgb=".8 .8 .8"/>
    <material name="matplane" reflectance="0.3" texture="texplane" texrepeat="1 1" texuniform="true"/>
    <mesh name="head" file="Base_link.STL" />
    <mesh name="body_odd" file="body1.STL" />
    <mesh name="body_even" file="body2.STL" />
    <mesh name="tail" file="body16.STL" />
</asset>
<worldbody>
    <geom name="floor" pos="0 0 0" size="100 100 1" type="plane" material="matplane" margin="0.001" condim="3" friction="10 10 10"/>
    <geom name="branch" pos="-1.365 -0.084 1.5" type="cylinder" size="0.05 1 0" euler="0 1.570796 0" rgba="1 0 0 1" friction="1 0.005 0.0001"/>
    <camera name="camera" mode="trackcom" pos="-1.365 -2 1.2" euler="1.570796 0 0"/>
    <body name="Base_link" pos="-0.86641004 -0.01086565  1.3357951" quat="-0.71272223  0.09020974 -0.69314648  0.05862742">

        <geom class="head" />
        <body name="body1" pos="2.22044605e-16  8.32667268e-17 -2.00000000e-03" quat="7.58165369e-01  0.00000000e+00 -1.59594560e-16  6.52062323e-01">
            <camera name="track" mode="trackcom" pos="0 -5 5"  xyaxes="1 0 0 0 1 1"/>
            <inertial pos="-0.0215451 -1.13714e-08 -0.0259557" quat="0.498731 0.501266 0.501264 0.498732" mass="0.238862" diaginertia="0.000165831 0.000145855 0.000102879" />

            <geom class="geom_odd" />
            <body name="body2" pos="-0.091 -0.026 -0.026" quat="0.70569435  0.70569734 -0.04464733  0.04464714">
                <inertial pos="-0.0215451 -1.13682e-08 -0.0259557" quat="0.498731 0.501266 0.501264 0.498732" mass="0.238862" diaginertia="0.000165831 0.000145855 0.000102879" />

                <geom class="geom_even" />
	...
	...
            </body>
        </body>
    </body>
</worldbody>

I run the simulate.exe in mujoco\bin, and get the picture as follows:

2-4193-9b98-e28406ae10f4.png)
Why there isn't any contact point ? And i print physics.data.nconv, which is awlays zero, why? Can you help me ?

Please attach a loadable model, XML or zip file if your model requires binary assets.

xml.zip
This is a loadable model.

The coiled part of your robot has no dofs, its geoms are considered part of the world. Geoms in the same body cannot move relative to each other and therefore cannot collide. If I grab the jointed part of your model and drape it over the pole, I get all the contacts I expect.

I guess that what you said is about the collision of the pole and the body, but I want to know why there is no collision between bodies like this picture.

The red part is which makes me confused. They are geoms in different body, and their bodies have dofs.

You are telling them not to collide in this line
<geom type="mesh" conaffinity="0" contype="1" friction="1 0.005 0.0001" margin="0.001" >

Read this for details.

Thank you very much!  Your answer solves my problem absolutely!
Salute!


Editing the web-ui component pages

hi, I am working on the zally web-ui to add some of the organization-specific customizations to the below page.

however even after changing the file and it is getting compiled successfully (application running the yarn dev mode) but still the customization is not getting reflected on the page. can anyone please tell me where to get this started? Below are the compilation logs for reference -
i ｢wdm｣: Compiled successfully.
i ｢wdm｣: Compiling...
i ｢wdm｣: Hash: 6ce003d644ef0f6a128b
Version: webpack 4.32.2
Time: 734ms
Built at: 11/12/2021 10:01:39 PM
    Asset     Size  Chunks             Chunk Names
bundle.js  6.9 MiB    main  [emitted]  main
Entrypoint main = bundle.js
[./src/client/app/components/violations.jsx] 4.42 KiB {main} [built]
    + 149 hidden modules
i ｢wdm｣: Compiled successfully.

Hi Beena,
sorry for the late answer. Could you tell what exactly you've changed, and where you expect your changes to show up?

Hi @ePaul - I was managed to get this working by adding the below property in the dev.js file.
writeToDisk: true // only add for development window. so that yarn can pick file changes.
the purpose of this question was to find the property that will help to see the UI changes during development without rebuilding the web-ui each time. I think the UI development guide should have this information. Please feel free to close this issue.


Adding additional migration guide articles

Description / Motivation
As part of the migration adventure, we have added some community articles to our collection. These are now added to our migration landing page with this PR.
I also updated the references to jasonstcyr.com with the community.sitecore.com equivalents, to match with the articles in the migration adventure.
How Has This Been Tested?
Tested locally and on Vercel preview site.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Documentation update (non-breaking change; modified files are limited to the /data directory or other markdown files)

Checklist:

[X] I have read the Contributing guide.
[X] My code/comments/docs fully adhere to the Code of Conduct.
[] My change is a code change.
[X] My change is a documentation change and there are NO other updates required.
[ ] My change has new or updated images which are stored in the /public/images folder that need to be migrated to Sitecore DAM

I haven't marked this as Ready for Review because the YouTube video from SUGCON isn't playing on the site. I'm trying to resolve that with the Community team to see if we can get embedding enabled.

Video embedding has been fixed and is now ready for review.


apigatewayv2-controller and HTTP headers management

Hello!
I try to manage my AWS HTTP API gateway and its resources by the controller. I got a confusion due to manipulation by the HTTP header.
I need to overwrite the header Host: my.local.host.
I use Integration manifest to manage it:
apiVersion: apigatewayv2.services.k8s.aws/v1alpha1
kind: Integration
metadata:
  name: integration-my
  namespace: rental-connect
spec:
  apiRef:
    from:
      name: adopt-api-gateway-my
  connectionID: id
  integrationType: HTTP_PROXY
  connectionType: VPC_LINK
  integrationURI: arn:aws:elasticloadbalancing:eu-central-1:...
  integrationMethod: ANY
  payloadFormatVersion: "1.0"
  requestParameters: <here I need help>

I suppose requestParameters can help me. But I have absolutely no idea in what format I can use it.
Any ideas?

@Khuman2 Hi! Unfortunately, the ACK reference documentation for APIGatewayv2's API resources is bad.
You can, however, visit the upstream AWS APIGateway v2 API reference for Integration here:
https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html
which lists the following docstring:

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name} , where {location} is querystring, path, or header; and {name} must be a valid and unique method request parameter name.
For HTTP API integrations with a specified integrationSubtype, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
For HTTP API integrations without a specified integrationSubtype request parameters are a key-value map specifying how to transform HTTP requests before sending them to backend integrations. The key should follow the pattern :<header|querystring|path>.. The action can be append, overwrite or remove. For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Transforming API requests and responses.

The type of the RequestParameters field is "IntegrationParameters", which is documented here:
https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-integrations-integrationid.html#apis-apiid-integrations-integrationid-model-integrationparameters


Add To/FromCBOR instances for ShortByteString

And add it to the round trip test.
These are basically copied from the serialise package instances.

bors merge


typo: ouput -> output

Added code fence languages as well

@nschonni : Thanks for your contribution! The author, @MashaMSFT, has been notified to review your proposed change.

@MashaMSFT The typo corrections are fine, but please verify the code fence languages. Thanks!

Hi @nschonni thank you so much for your contribution! #sign-off


Wrong file processed when clicking on open files tab.

When a file is selected in Solution Explorer, then this file is always processed even if the execution of clang-tidy is done through clicking on tab bar with opened files.

I can confirm this bug.
It manifests itself only when Track Active Item in Solution Explorer is OFF.
We actually have this option ON, so we missed this issue... oops!
As a workaround, until we fix this bug, please enable Track Active Item in Solution Explorer from:
[VS] > [Options] > [Projects and Solutions] > [General]

This issue was fixed here.


Add ability to manipulate CSS before linting

Another small change, but one that has come from me trying to use the preprocessor on a couple of projects.
It solves the issue of manipulating the CSS before it gets to the linter. An example of this is using postcss-nested. It needs to run on each file before it gets to the bem-linter otherwise it would fail.
A beforeLint option is now available which allows the user to return manipulated CSS to the bem-linter.
I've also improved the documentation further.

@simonsmith isn't it possible to apply the postcss-bem-linter plugin at the end and avoid beforeLint? i.e. drop config['postcss-import'].transform and lintImportedFiles <- you changes are needed because bem-linter runs at import time right?

You need to lint each file yeah. Doing it at the end would try to lint the entire package. You can add:
/* @define Foo */
.Foo {}
/* end /*

But I think that's quite messy and easy to forget.

Isn't it better to lint the entire package at the end?

It needs to be done before custom properties are replaced etc. And would require the start and end comments (as above) to be added to everything.
It's certainly possible, but not sure if better.

This would work but it seems only necessary if you can't do per file checks, like using Sass or something.

Oh right sorry, I don't know what I was thinking, maybe I should go to bed :)
Then your solution is fine I think. Is there any risk to end up with an infinite loop when using the cli in watch mode?

Ha, yeah it must be late there!
Good question. I will check this. I should also think about how to add some watch tests too.


Test New Models

Rails test model associations and such.
Verify information matches.

I'm having issues testing the connections between models. Not quite sure how to test them


Tidy up build process

Problem
There is some pile of fixes to build correctly, but it may be stack needless fix too.
Expected
Clean up needless fixes.

[x] Remove deprecated GemParser #209
[x] Adding more windows test cases #212
[x] Remove needless --priviliged #210
[x] Suppress Travis-CI #204
[x] Document specinfra patch #215
[ ] Check .conf when package was removed. (deb, rpm)
[ ] Stop to create c:/var strictly (timing issue?)
[ ] Do not show command prompt on Windows.
[x] Use meaningful -name in .yml (GitHub Actions) #216

needless --auto-commit?

I've forgot to mention specinfra.

check .conf when package was removed. (deb, rpm)

suppress to create c:/var strictly.

do not show command prompt on Windows.

check recent lintian warning again.

Use meaningful -name in .yml

#216 was merged.

#217 was merged.

#218 was merged.

#220 was merged, I'll close it.


Add role descrimination to WebsiteConsentByOrg_ATMA.

This enables hiding the patient oriented content from staff users.

@mcjustin Please merge https://github.com/uwcirg/ePROMs-site-config/pull/37 first.


Added colored preview pane icon

How are you colourising these glyphs, IIRC Coloured Fonts have an embedded colour palette, but this can't be changed by the user?  Have you found a way to do it?

How are you colourising these glyphs, IIRC Coloured Fonts have an embedded colour palette, but this can't be changed by the user? Have you found a way to do it?

Each icon is split into two glyphs and displayed stacked, the top one colored with the user's accent color.
For example, this is the paste icon:

which becomes

How are you colourising these glyphs, IIRC Coloured Fonts have an embedded colour palette, but this can't be changed by the user? Have you found a way to do it?

Each icon is split into two glyphs and displayed stacked, the top one colored with the user's accent color.
For example, these are the glyphs for the paste icon:

which become

Ah so its not a coloured font, but two glyphs which overlap - that is a neat solution.


pangram: missing edge case

@helenst came across a solution that had a bug that the test suite didn't catch. It's addressed in https://github.com/exercism/xpython/pull/331
The solution worked by accident because 'the quick...' happens to be alphabetically greater than 'abcdef...'.
Here's the test case that was added:
def test_invalid_pangram(self):
    self.assertFalse(
        is_pangram('the quick brown fish jumps over the lazy dog'))

We need to:

[ ] update the canonical data - https://github.com/exercism/x-common/blob/master/pangram.json
[ ] draft a detailed issue

[ ] describes the problem that was found
[ ] describes the fix
[ ] links to the canonical data (and mentions that it has been updated with the new test cases)
[ ] suggests that the exercise should be fixed to include these test cases
[ ] links to this specific issue (so we get a visual todo list)

[ ] submit the issue to the relevant tracks using blazon

I'm reopening this, since we haven't put together the issue text to be blasted across all the relevant repositories with blazon.

Yay for Blazon.

exercism/x-common#284 hopefully helps clarifies this.

All tracks have incorporated the change, even the java track have merged the change they just didn't close the issue. So we could close this here, right?


Change Thickness?

Is it possible to change the thickness?

https://codepen.io/TheJaredWilcurt/pen/apXgyp?editors=0100
change line 67 of the Sass from 0.1 to 0.2


Fix Repl 'Shift-enter' bug

Description
Fixes #1721

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

How to test

Checklist

[ ] I have tested this code
[ ] I have updated the documentation

Pull Request Test Coverage Report for Build 819974771

0 of 7 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 29.2%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/commons/repl/ReplInput.tsx
0
7
0.0%

Totals

Change from base Build 819453030:
0.002%

Covered Lines:
2642

Relevant Lines:
8309

💛  - Coveralls


Implementing Support for suffixes eg. file extensions

Hi it would be really useful for my use case to support suffixes.
e.g. routes like "/users/:id.png"
or even  "/users/:id.:ext"
... or even  "/users/*.png"
Although it is possible to do at the application level it quickly gets very complicated when multiple extensions are present, and it looks like it might be easier to implement it in Matchit.
According to what I understand from the docs the parameter extends up to the next slash, and so currently is not possible.
How easy would it be to change parameter names to not allow '.' and add something like ParamWithSuffix(String) to the enum NodeType.
I optimistically forked the repo and was planning to implement it but then I realized that I dont understand the code well enough...  My fork just has the test case (that currently fails) See below:
use matchit::{InsertError, MatchError, Router};

fn router()->Result<Router<&'static str>,InsertError> {
    let mut router = Router::new();
    router.insert("/home", "Welcome!")?;
    router.insert("/users/:id", "A User")?;
    router.insert("/users/:id.png", "A User Photo Currently not working")?;
    router.insert("/users/:id/x.png", "Another User Photo that works")?;
    Ok(router)
}

#[test]
fn match_img()->Result<(),MatchError>{

    let router=router().unwrap();
    let matched = router.at("/users/978")?;
    assert_eq!(matched.params.get("id"), Some("978"));
    assert_eq!(*matched.value, "A User");
    Ok(())
}

To consider: how would multiple '.' be handled e.g. schema.foo.yaml

Now that 0.8 is released with the new syntax, I'll try to implement this. The tricky part is that we have to repeatedly attempt to match the suffix in the case that we don't get a full match earlier in the path, but the suffix exists elsewhere. This also means suffixes might not be as performant as a regular static segment, but hopefully this can be added without affect performance for existing routes.

Firstly, thank you @ibraheemdev for your work on 0.8.
If implementing this does not affect existing routes, I believe it's perfectly reasonable to expect that suffixes may not perform as efficiently as regular static segments. I care about performance, however the ability to differentiate routes by suffixes would greatly simplify my life as an upstream user of Axum. This is because the alternative involves forgoing the power of axum::Router/matchit and resorting to matching multiple suffixes in a less declarative manner within a single handler.
I'm looking forward to an implementation that resolves this issue and please let me know if I can help.

Just my 2¢ to support this feature and explain why it can't be handled in the application as you've suggested before: matchit is used in axum, the (most?) popular web framework in rust, and though axum offers great facilities for customization through middleware, these cannot be used to affect Router behavior (documentation is not completely clear here and can be interpreted as "url rewriting cannot affect routing" which would be understandable, but in practice it's also "url rewriting cannot affect captures", so I cannot write a middleware which strips file extensions from captures). Doing rewriting before routing, as the docs suggest, is not a viable solution here as you basically need to reimplement pattern matching for all routes to determine which URIs need rewriting.
So for all axum users "handling in application" would mean either reimplementing the routing or forking axum if you want generic solution. I don't consider either of these viable, so I have to stick with stripping suffixes from captures manually in each affected handler, and having suffix handling in machit would same me from duplicating this code in each handler.
For the record, my case only needs suffix stripping, that is if the capture doesn't have expected suffix, I'm happy with 404 and do not need checking alternative routes. I'm sure this logic can be implemented without any performance penalty, but I'm not sure that this specific case justifies syntax complication that will be required.

I spent some time working on this recently and have a branch that implements support for suffixes at the end of a route.