text:
[Date-Time-Picker] Month/Year changing redundant announcement fix

Summary
Currently when navigating through the Date Picker popup and selecting a value for "Month"/ "Year", will only expose the selected value. But, the selected value is getting exposed twice as "February, Month Combobox February", .
What was changed:
Why it was changed:
Testing

This change was tested using:

[ ] WDIO
[ ] Jest
[x] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[ ] UX review
[ ] Accessibility review
[ ] Functional review

Additional Details

This PR resolves:
UXPLATFORM-XXXX

Thank you for contributing to Terra.
@cerner/terra

+1
As per PR, the issues are fixed and working as expected. However when the drop down is expanded for month and year combobox, the instruction to use the arrow keys are read out for each option present in the dropdown which is incorrect.
And I observed that 'Open Calendar' button name getting announced multiple times while navigating to the Calendar button.

repo: cerner/terra-framework


text:
MIXED NAMESPACE

Describe the bug:
I am trying to install cert-manager on my EKS cluster using the command below.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.yaml --namespace cert-manager
The Error Message:
the namespace from the provided object "kube-system" does not match the namespace "cert-manager". You must pass '--namespace=kube-system' to perform this operation.

Expected behaviour: I expected it to deploy successfully because I created a namespace called cert-manager but unfortunately that was not the case.
I downloaded the YAML file to my local computer and I can see the code to create a namespace called cert-manager but I noticed the namespace was not specified in all the play.  But I didn't think it should matter when the command I am using has instructed kubectl to deploy in the cert-manager
The last two plays in the YAML files are named mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created and  validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
I don't understand these error messages coming after they were successfully created
mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
the namespace from the provided object "kube-system" does not match the namespace "cert-manager". You must pass '--namespace=kube-system' to perform this operation.
the namespace from the provided object "kube-system" does not match the namespace "cert-manager". You must pass '--namespace=kube-system' to perform this operation.
validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
the namespace from the provided object "kube-system" does not match the namespace "cert-manager". You must pass '--namespace=kube-system' to perform this operation.
the namespace from the provided object "kube-system" does not match the namespace "cert-manager". You must pass '--namespace=kube-system' to perform this operation.

Please I need help. What can I do to solve this?

I Just found out it works without the namespace attached to the command. So simply run
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.yaml

Leader election uses kube-system by default, that is why you are seeing that error message.
This PR actually wants to  change the default leader election namespace: https://github.com/cert-manager/cert-manager/pull/6766, which would fix the issue you were seeing.

Closing in favor of https://github.com/cert-manager/cert-manager/pull/6766

source: gharchive/issue

authors: Zenitugo inteon

repo: cert-manager/cert-manager

license_type: permissive

license_source: bigquery


text:
ability to specify pod IP in volume attributes

It is possible to specify some specific IPs in volume attributes using csi.cert-manager.io/ip-sans anotation. Would it be possible to use podIP or podIPs from pod status field here to make sure the certificate is issued exactly for IP that is assigned to the pod requesting the certificate?

Hi @nerijusk,
Don't quote me on this but I believe it should be possible. Though this isn't tested, I imagine it should look something along the lines of:
        - name: tls
          protected:
          defaultMode: 0400
          sources:
          - downwardAPI:
              items:
                - path: "csi.cert-manager.io/ip-sans"
                  fieldRef:
                    fieldPath: status.podIP
          - csi:
              driver: csi.cert-manager.io
              volumeAttributes:
                    csi.cert-manager.io/issuer-name: ca-issuer

Having a play, it doesn't look like it's possible

Having a play, it doesn't look like it's possible

You were much quicker to test as per your previous post. Can such functionality be developed in this CSI driver?

I don't think we can actually. I am not particularity against the driver doing a pod status check in terms of permissions and such, but I don't think it is possible. Unless I'm mistaken, the pod IP will not be provisioned until after the volume is mounted, so the driver can't get the info during the flow.

Unfortunately I too do not know at what time the IP is assigned to pod in regard of volume mount timing. The use case I have is Azure application gateway with ingress controller. In a nutshell, it works by plugging into the same virtual network as AKS and configures backend pools by pod IPs. If I want end to end TLS I need the pods in AKS to have certificates with their IPs. So that application gateway won't bork out when trying to relay the traffic to pod over TLS because of not finding a match for IP in the cert.
Anyway, thanks for your help. I guess, I'll need to employ initContainers to have the certs with pod IPs in my case.

What is preventing you here from using a clusterIP service @nerijusk? Just trying to understand the setup

The short answer is, Azure application gateway and its ingress controller together with project requirement to use them. :) Application gateway configures backend pool by IPs of the pods. I'm not an expert on Azure and do not know why it is like that. But it's not configurable.
I've already got the TLS secret generation by cert-manager using initContainer to create certificate resource with pod name and pod IP. CSI driver would just make it a bit easier and I would get rid of additional containers and a few lines of bash in them.
Feel free to close this issue, unless you want more details. :)

Hi @nerijusk , I'm curious about your solution, would it be possible to share some additional details on how you got it to work? (or, even better, the initContainer source or some snippets 🙂  )
Some context:
I'm personally using traefik as a reverse proxy with automatic LetsEncrypt certificates for my ingress routes, but having trouble when connecting them to TLS-enabled backends such as kubernetes-dashboard. I have cert-manager configured with an internal self-signed CA (which is already trusted as a rootCA by traefik), but traefik connects to the backend pods by IP addresses directly, so it relies on SAN IP addresses and not on SAN DNS entries.
Since it is impossible to know the IP address of a pod before its creation, I was looking into the feasibility of using this CSI Driver as well, but looks like it won't solve the issue...
That left me wondering; how did you manage to make it work with the initContainer, did you have to bind a privileged ServiceAccount to your pod (for creating the Certificate resource, since there seems to be no way to have an exclusive serviceAccountName for initContainers)?

To improve on the initContainer approach, you could consider using the new
'create certificaterequest' command in the recently added CLI tool to
automatically create a CertificateRequest with whatever parameters you
need:
https://github.com/jetstack/cert-manager/pull/2957
On Thu, 9 Jul 2020 at 20:25, Ricardo Sousa notifications@github.com wrote:

Hi @nerijusk https://github.com/nerijusk , I'm curious about your
solution, would it be possible to share some additional details on how you
got it to work? (or, even better, the initContainer source or some snippets
🙂 )
Some context:
I'm personally using traefik https://docs.traefik.io/ as a reverse
proxy with automatic LetsEncrypt certificates for my ingress routes, but
having trouble when connecting them to TLS-enabled backends such as
kubernetes-dashboard https://github.com/kubernetes/dashboard. I have
cert-manager configured with an internal self-signed CA (which is already
trusted as a rootCA by traefik), but traefik connects to the backend pods
by IP addresses directly, so it relies on SAN IP addresses and not on SAN
DNS entries.
Since it is impossible to know the IP address of a pod before its
creation, I was looking into the feasibility of using this CSI Driver as
well, but looks like it won't solve the issue...
That left me wondering; how did you manage to make it work with the
initContainer, did you have to bind a privileged ServiceAccount to your
pod (for creating the Certificate resource, since there seems to be no way
to have an exclusive serviceAccountName for initContainers)?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jetstack/cert-manager-csi/issues/17#issuecomment-656308011,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABRWP27VTYJMI3SBE4RNUTR2YKTBANCNFSM4KPYT3DQ
.

@Sykkro
below is the code snippet from my pipeline that dynamically generates k8s deployment. should give you an idea how cert is issued for each pod in my case:
      - name: create-cert
        image: ${KUBECTLIMAGE}
        command:
        - "/bin/bash"
        - "-c"
        - "cd /tmp; export TMPYAML=\$(mktemp) && . /cert/cert.yaml.sh > \${TMPYAML} && kubectl apply -f \${TMPYAML}"
        env:
        - name: ENVIRONMENT
          value: "${ENVIRONMENT}"
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: APPNAME
          value: ${appName}
        volumeMounts:
        - name: cert-template
          mountPath: "/cert"
          readOnly: true
        - name: tmp-volume
          mountPath: "/tmp"
        securityContext:
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          privileged: false
          runAsUser: 1000
      - name: wait-for-cert
        image: ${KUBECTLIMAGE}
        env:
        - name: ENVIRONMENT
          value: "${ENVIRONMENT}"
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        command:
        - "/bin/bash"
        - "-c"
        - "kubectl wait --for=condition=ready --timeout=2m --namespace=\${ENVIRONMENT} certificates/\${POD_NAME} && kubectl get secret \${POD_NAME} -n \${ENVIRONMENT} -o jsonpath=\"{.data['tls\\\\.crt']}\" | base64 -d > /pod-cert/tls.crt && kubectl get secret \${POD_NAME} -n \${ENVIRONMENT} -o jsonpath=\"{.data['ca\\\\.crt']}\" | base64 -d > /pod-cert/ca.crt && kubectl get secret \${POD_NAME} -n \${ENVIRONMENT} -o jsonpath=\"{.data['tls\\\\.key']}\" | base64 -d > /pod-cert/tls.key"
        volumeMounts:
        - name: pod-cert
          mountPath: "/pod-cert"
        securityContext:
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          privileged: false
          runAsUser: 1000

the /cert/cert.yaml.sh file is mounted from configmap, which in-turn is installed with helm together with a bunch of other things when environment is provisioned. here's the relevant part from helm chart:
kind: ConfigMap
metadata:
  name: cert-template
  namespace: {{ .Release.Namespace }}
data:
  cert.yaml.sh: |-
    cat <<EOF
    apiVersion: cert-manager.io/v1alpha2
    kind: Certificate
    metadata:
      name: ${HOSTNAME}
      namespace: {{ .Release.Namespace }}
    spec:
      secretName: ${HOSTNAME}
      duration: 720h
      renewBefore: 24h
      organization:
        - ORG
      commonName: ${HOSTNAME}.{{ .Release.Namespace }}.svc.cluster.local
      isCA: false
      keySize: 2048
      keyAlgorithm: rsa
      keyEncoding: pkcs1
      usages:
        - server auth
        - client auth
      dnsNames:
        - ${HOSTNAME}
        - ${HOSTNAME}.{{ .Release.Namespace }}
        - ${HOSTNAME}.{{ .Release.Namespace }}.svc
        - ${HOSTNAME}.{{ .Release.Namespace }}.svc.cluster.local
        - ${APPNAME}
      ipAddresses:
        - ${POD_IP}
      issuerRef:
        name: ca-issuer
        kind: ClusterIssuer
        group: cert-manager.io
    EOF

Thanks for sharing that @nerijusk (and for the suggestion @munnerz)! 😄

Since we have https://github.com/cert-manager/csi-lib/pull/20 does that mean that this is now possible or is there work that needs to be done in the CSI driver now?

Pretty please!

authors: JoshVanL Sykkro djmcgreal-cc mnaser munnerz nerijusk

repo: cert-manager/csi-driver

license_source: github-api


text:
Update maintainers to point at team email

Spotted while reviewing deployment of chart for v0.3.0! I don't think there any reason for the maintainers field to vary in any chart in the cert-manager org.

Thanks for spotting this!
Can you also run helm-docs to update the README.md?

Good spot, thanks! Have updated now :+1:

/lgtm

(this need a github-style approve, I'll add the label manually because it's trivial and this is clearly lgtm'd)

source: gharchive/pull-request

authors: JoshVanL SgtCoDFish


text:
Add CustomClientCertificateDuration

Add CustomClientCertificateDuration
Hello Team,
This PR is not yet ready for merging, as I still need to add the corresponding tests and update the Helm chart. However, I’d appreciate your feedback on the current changes before proceeding further.
In our service mesh, we aim to increase the certificate duration beyond 24 hours. I noticed a similar request in cert-manager/istio-csr issue #176.
Could you please review my changes and let me know if they seem reasonable?

/ok-to-test
Hey, thanks for raising this. I'm heading out for the holidays soon and won't be back until the new year. This does seem a reasonable thing to add. In any case, I'll enable testing so you're able to use the CI properly!
Thanks for the contribution - if you need a review, cert-manager slack is probably the place to ask!

/retest

I have recreated PR here: https://github.com/cert-manager/istio-csr/pull/469

authors: SgtCoDFish volkorny

repo: cert-manager/istio-csr


text:
Find > Highlight Usages in File broken for Tree and Visitor

Find functionality doesn't work quite right for certain types, namely Tree and Visitor in com.redhat.ceylon.compiler.typechecker.tree. It's easiest to see this with Highlight Usages in File. But even just regular occurrence highlighting demonstrates the problem:

That's a very odd bug.

Yep.

I can't reproduce anymore on that particular case.

@gavinking is it fixed for you too?

No, it's still happening. In both FindReferencesVisitor and MemberNameCompletion.
Interestingly, when I first opened the file it didn't happen ... but then after a model update it went back to broken.

I believe this is a bug in IntelliJ, that has been fixed in 2016.3 EAP, in which I can't reproduce the problem.
Most likely this fix: https://github.com/JetBrains/intellij-community/commit/a3f044d3add6d1a1e852a770cc025f1223651a02

OK, I'm using 2016.2.3 so that could explain it.

authors: bjansen gavinking

repo: ceylon/ceylon-ide-intellij


text:
NPE parsing var declaration with no assignment

File:
component {
  function test () {
	  var foo.bar('baz');
  }
}

Result:
com.cflint.exception.CFLintScanException: java.lang.NullPointerException
	at com.cflint.CFLint.process(CFLint.java:347)
	at com.cflint.CFLint.scan(CFLint.java:295)
	at com.cflint.CFLint.scan(CFLint.java:206)
	at com.cflint.api.CFLintAPI.scan(CFLintAPI.java:65)
	at com.cflint.cli.CFLintCLI.execute(CFLintCLI.java:371)
	at com.cflint.cli.CFLintCLI.main(CFLintCLI.java:339)
Caused by: java.lang.NullPointerException
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
	at cfml.parsing.cfscript.walker.CFExpressionVisitor.visitLocalAssignmentExpression(CFExpressionVisitor.java:174)
	at cfml.parsing.cfscript.walker.CFExpressionVisitor.visitLocalAssignmentExpression(CFExpressionVisitor.java:77)
	at cfml.CFSCRIPTParser$LocalAssignmentExpressionContext.accept(CFSCRIPTParser.java:5480)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitStatement(CFScriptStatementVisitor.java:278)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitStatement(CFScriptStatementVisitor.java:100)
	at cfml.CFSCRIPTParser$StatementContext.accept(CFSCRIPTParser.java:2352)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitCompoundStatement(CFScriptStatementVisitor.java:254)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitCompoundStatement(CFScriptStatementVisitor.java:100)
	at cfml.CFSCRIPTParser$CompoundStatementContext.accept(CFSCRIPTParser.java:2179)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitFunctionDeclaration(CFScriptStatementVisitor.java:176)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitFunctionDeclaration(CFScriptStatementVisitor.java:100)
	at cfml.CFSCRIPTParser$FunctionDeclarationContext.accept(CFSCRIPTParser.java:642)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
	at cfml.CFSCRIPTParserBaseVisitor.visitElement(CFSCRIPTParserBaseVisitor.java:48)
	at cfml.CFSCRIPTParser$ElementContext.accept(CFSCRIPTParser.java:563)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
	at cfml.CFSCRIPTParserBaseVisitor.visitComponentGuts(CFSCRIPTParserBaseVisitor.java:160)
	at cfml.CFSCRIPTParser$ComponentGutsContext.accept(CFSCRIPTParser.java:2245)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitComponentDeclaration(CFScriptStatementVisitor.java:115)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitComponentDeclaration(CFScriptStatementVisitor.java:100)
	at cfml.CFSCRIPTParser$ComponentDeclarationContext.accept(CFSCRIPTParser.java:431)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
	at cfml.CFSCRIPTParserBaseVisitor.visitScriptBlock(CFSCRIPTParserBaseVisitor.java:20)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitScriptBlock(CFScriptStatementVisitor.java:108)
	at cfml.parsing.cfscript.walker.CFScriptStatementVisitor.visitScriptBlock(CFScriptStatementVisitor.java:100)
	at cfml.CFSCRIPTParser$ScriptBlockContext.accept(CFSCRIPTParser.java:257)
	at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
	at cfml.parsing.CFMLParser.parseScript(CFMLParser.java:539)
	at com.cflint.CFLint.process(CFLint.java:338)
	... 5 more
Error: "java.lang.NullPointerException" Location: com.cflint.CFLint.process(CFLint.java:347)

Version 1.4.1.

Workaround: Remove the unnecessary var.

If the var here doesn't do anything, I don't think this is worth addressing. In that case, it's not a proper language construct and one of the CFML engines just happens to ignore it.

Yeah, that's a good point. It's not really valid code, but it seems to work OK in Lucee 4.5/5. Still, I'd like to see a PARSE_ERROR for any invalid code, rather than a NullPointerException.
Oddly, ACF's compile also produces an NPE when compiling similar code: https://trycf.com/gist/5c1ad2a8d21d222366ec4e1ce4f57b00/acf2018

If the NPE is not being caught then that is an issue worth addressing.
You should really be testing with the latest dev snapshot before reporting to ensure that the issue has not already been fixed. I've run your sample on the 1.5.0 snapshot through the CLI, and it appears to be able to parse.

Is there a place where I can download a JAR of the dev branch? I haven't
gotten set up to build the project myself yet.
On Tue, Oct 15, 2019 at 4:51 PM KamasamaK notifications@github.com wrote:

If the NPE is not being caught then that is an issue worth addressing.
You should really be testing with the latest dev snapshot before
reporting to ensure that the issue has not already been fixed. I've run
your sample on the 1.5.0 snapshot through the CLI, and it appears to be
able to parse.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cflint/CFLint/issues/648?email_source=notifications&email_token=AABQQN6556A3GY22JQFGJJLQOYUNFA5CNFSM4JBA3AGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBKFV7A#issuecomment-542399228,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABQQNZRVQLAR6HDC7UHX7TQOYUNFANCNFSM4JBA3AGA
.

@sbleon No, snapshots don't get releases. Building is very simple. You just need JDK8 installed and run the command gradlew build. See Building CFLint.

authors: KamasamaK sbleon

repo: cflint/CFLint


text:
Run acceptance tests on Travis w/headless browser

This commit adds the running of browser tests to our TravisCI integration, using the headless mode of Google Chrome. Currently this requires a custom installation of google-chrome-beta (version 59)
although this functionality should be coming to the stable release soon.
The various Protractor-related files have been modified to look for a GOOGLE_CHROME_BINARY environment variable; if this is set, running the browser tests (using tox -e acceptance or gulp test:acceptance) will try to invoke that path in headless mode.
Note: this is a suboptimal way to configure that headless mode is desired, but I've punted on a better way pending some ongoing discussions with @sebworks about a larger refactor of Protractor config.
To test locally on MacOS, download the beta version of Google Chrome:
https://www.google.com/chrome/browser/beta.html
Then set the environment variable like:
GOOGLE_CHROME_BINARY=/path/to/Google\ Chrome\ Beta\ App.app/Contents/MacOS/Google\ Chrome

Additions

New acceptance testing matrix entry for Travis, and support for running Protractor with a headless browser.

Removals

Removed gulp test:unit:server to standardize on use of tox for running Python unit tests.

Testing

Look at the Travis logs! Follow steps above to reproduce with a local headless browser.

Notes

Unfortunately there seems to be an issue with calling setSize to set the browser size when using the headless mode with chromeDriver; I think this might be because of the need for Xvfb which is due to this open issue. See also this open issue to Travis.

Checklist

[X] PR has an informative and human-readable title
[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Passes all existing automated tests
[X] Reviewers requested with the Assignee tool :arrow_right:

Unfortunately there seems to be an issue with calling setSize to set the browser size when using the headless mode with chromeDriver

You might be able to use the command line flag --window-size, like --window-size=1200,3000`.  A list of command line flags is here: http://peter.sh/experiments/chromium-command-line-switches/

lol lol, awww, this is too damn good.

authors: chosak sebworks

repo: cfpb/cfgov-refresh


text:
Mega Menu: Increase language link touch area

Changes

Increases the touch area for the language links in the mobile mega menu.

Testing

Pull. branch and build.
Visit any page and resize to the mobile version of the mega menu, expand the menu, and scroll down and note the airier language links than what's on production.

Screenshots

@contolini

This is ready for review again

You could also nest the selectors:

True! I think I'll leave them for now though so they're easier to pick out in a file search, if needed.


text:
关于使用CULane数据集训练模型时报错的问题

你好！我在使用tusimple数据集训练res18时，没有出现报错，但是在使用culane数据集训练res18时，出现如下报错

请教下楼主出现这样的报错应该如何修改程序？（单卡训练，学习率已经修改为0.00625）
期待楼主的答复:)

@ennheng
这个是由于没有安装CULane评估工具导致的，可以参考INSTALL.md中的第五个部分安装

感谢楼主的回复！我现在试试

又重新检索了之前的issues，已经可以训练了:)   还有一个问题 ，因为自己是这方面的小白，刚开始接触，所以想请教一下：代码的backbone可以换成其他网络进行训练吗？这个对于新手来说可行吗？期待楼主的回复:)

@ennheng
这个当然是可以的，你可以随便换成别的backbone，但是相应的你可能需要调一下参才能获得在别的backbone上最好的性能

好的~ 谢谢楼主的回复

想问下，我按照install安装了CULane的评估工具后，出现了像图片这样的问题，该怎么解决呢
./evaluation/culane/evaluate: error while loading shared libraries: libopencv_core.so.408: cannot open shared object file: No such file or directory

看来是没找到路径下的那个文件 应该是评估工具没安装好 用ubuntu才能安装

你好，我想问下culane评估工具使用时，出现tp=0是为什么，需要如何修改

 想问下，我按照install安装了CULane的评估工具后，出现了像图片这样的问题，该怎么解决呢 ./evaluation/culane/evaluate: error while loading shared libraries: libopencv_core.so.408: cannot open shared object file: No such file or directory

你这个可能跟楼主说的一样，你evaluate里面文件没找到。也可能是JSON文件的生成出问题了，我昨天这个问题和你一样，今天才解决

license: MIT


text:
report catchability (q), at least the MLE estimate

MLE value in base model seems to be 1.13689, which is available in base.model$cpue
Previous assessment reported MLE value only in Table 12. Some additional code would need to be written to get SS to produce the MCMC samples for this quantity (which is calculated as an analytical solution, not a parameter).

Done, but I'm not sharing...
On Tue, Feb 23, 2016 at 2:57 PM, andrew-edwards notifications@github.com
wrote:

Assigned #138 https://github.com/cgrandin/hake-assessment/issues/138 to
@allanhicks https://github.com/allanhicks.
—
Reply to this email directly or view it on GitHub
https://github.com/cgrandin/hake-assessment/issues/138#event-562558126.

One thing we (I mean you) can do in the future is set up q as an estimated
parameter. It will then be reported as a parameter in the mcmc. But, it may
be worth seeing if it affects convergence.
On Tue, Feb 23, 2016 at 2:58 PM, allanhicks notifications@github.com
wrote:

Done, but I'm not sharing...
On Tue, Feb 23, 2016 at 2:57 PM, andrew-edwards notifications@github.com
wrote:

Assigned #138 https://github.com/cgrandin/hake-assessment/issues/138
to
@allanhicks https://github.com/allanhicks.
—
Reply to this email directly or view it on GitHub
<https://github.com/cgrandin/hake-assessment/issues/138#event-562558126
.

—
Reply to this email directly or view it on GitHub
https://github.com/cgrandin/hake-assessment/issues/138#issuecomment-187953574
.

I know I've looked at analytical solution vs. parameter this in previous
hake assessments and it didn't seem to make a difference. Nevertheless, for
computational efficiency, it might be better to stick with the analytical
solution and just get Rick to report the analytical value of q
in derived_posteriors.sso.
For this year, I think reporting the MLE (as we did last year) is perfectly
adequate. I suspect that the increase in MLE estimates from 1.012 to 1.137
is likely due to the change in the scale of the acoustic survey due to the
removal of zeros, rather than an increase in scale of the selected
population or a change in selectivity.
On Tue, Feb 23, 2016 at 7:48 PM, Allan C Hicks notifications@github.com
wrote:

One thing we (I mean you) can do in the future is set up q as an estimated
parameter. It will then be reported as a parameter in the mcmc. But, it may
be worth seeing if it affects convergence.
On Tue, Feb 23, 2016 at 2:58 PM, allanhicks notifications@github.com
wrote:

Done, but I'm not sharing...
On Tue, Feb 23, 2016 at 2:57 PM, andrew-edwards <
notifications@github.com>
wrote:

Assigned #138 https://github.com/cgrandin/hake-assessment/issues/138
to
@allanhicks https://github.com/allanhicks.
—
Reply to this email directly or view it on GitHub
<
https://github.com/cgrandin/hake-assessment/issues/138#event-562558126
.

—
Reply to this email directly or view it on GitHub
<
https://github.com/cgrandin/hake-assessment/issues/138#issuecomment-187953574

.

—
Reply to this email directly or view it on GitHub
https://github.com/cgrandin/hake-assessment/issues/138#issuecomment-188049716
.

Good points Ian,
I have the version of SS that we used for the MSE that reports all sorts of
additional stuff. So, I will report the posterior for q this year. But,
working with Rick to provide a solution would be a good idea.
On Wed, Feb 24, 2016 at 9:00 AM, Ian Taylor notifications@github.com
wrote:

I know I've looked at analytical solution vs. parameter this in previous
hake assessments and it didn't seem to make a difference. Nevertheless, for
computational efficiency, it might be better to stick with the analytical
solution and just get Rick to report the analytical value of q
in derived_posteriors.sso.
For this year, I think reporting the MLE (as we did last year) is perfectly
adequate. I suspect that the increase in MLE estimates from 1.012 to 1.137
is likely due to the change in the scale of the acoustic survey due to the
removal of zeros, rather than an increase in scale of the selected
population or a change in selectivity.
On Tue, Feb 23, 2016 at 7:48 PM, Allan C Hicks notifications@github.com
wrote:

One thing we (I mean you) can do in the future is set up q as an
estimated
parameter. It will then be reported as a parameter in the mcmc. But, it
may
be worth seeing if it affects convergence.
On Tue, Feb 23, 2016 at 2:58 PM, allanhicks notifications@github.com
wrote:

Done, but I'm not sharing...
On Tue, Feb 23, 2016 at 2:57 PM, andrew-edwards <
notifications@github.com>
wrote:

Assigned #138 <
https://github.com/cgrandin/hake-assessment/issues/138>
to
@allanhicks https://github.com/allanhicks.
—
Reply to this email directly or view it on GitHub
<
https://github.com/cgrandin/hake-assessment/issues/138#event-562558126
.

—
Reply to this email directly or view it on GitHub
<

https://github.com/cgrandin/hake-assessment/issues/138#issuecomment-187953574

.

—
Reply to this email directly or view it on GitHub
<
https://github.com/cgrandin/hake-assessment/issues/138#issuecomment-188049716

.

—
Reply to this email directly or view it on GitHub
https://github.com/cgrandin/hake-assessment/issues/138#issuecomment-188353238
.

We should insert a new row into the parameter estimates table for catchability:
MLE  |  Median 2016  |  Median 2015
1.14       1.04                    0.92

Since this was assigned to me, I'm closing it!  See #162 to prove how quickly I forget things, even when assigned to me.

authors: allan-hicks allanhicks taylori

repo: cgrandin/hake-assessment


text:
fix bullet about ovary collection

Bullet starts "Histological analysis of ovary samples collected..." should be updated to remove list of individual years and refer to the table of ovary samples instead.

Bullet fixed, closing issue.


text:
Add manual resume flag for restore

dupe_tool -a -r -m
gives you the ability to resume containers at your own discretion. needed for when you have container dependencies ei pg-redmine container needs to be up before redmine container is started

this may not be needed since we are doing in place restore. we just need to restart all containers if you have a proxy connecting services.

repo: cgudea/docker-duplicity-py


text:
Fix creation method of identity matrix

I simplify the code. The original code has redundant process.

LGTM!

authors: okuta unnonouno

repo: chainer/chainer

license: mit


text:
[vue] [slider] SliderMarker does not align with SliderThumb correctly

Description
On a 0 to 100 slider, if I set the value to 75, I hope that SliderThumb sits perfectly on top of the 75 SliderMaker.
Currently the SliderMarker Is not aligned with the SliderThumb.
Link to Reproduction
https://ark-ui.com/docs/vue/components/slider
Steps to reproduce
Just add a style background:red; to the marker elements. Note how even if the value is 75, the SliderMarker is not aligned with the SliderThumb

Ark UI Version
0.4.0
Framework

[ ] React
[ ] Solid
[X] Vue

Browser
all
Additional Information
Contrary to the SliderMaker, the SliderThumb is not positioned linearly. When the slider value is 75, the thumb is placed 75% left but it's offset by a ratio derived from its size.
This same offset needs to be applied to marks so that they align perfectly with the thumb.

This will align top-left edge of the SliderMaker bounding-box with the thumb, we would need to still apply transform: translateX(-50%)  to each SliderMaker to that its box aligns center with the SliderThumb. Here's a screenshot (hardcoded).

Code references @zag-js/slider:

Offset calculation fn
transformer

Thanks for such a detailed issue breakdown @renatodeleao.
I just pushed a fix for this. We'll release an update shortly.
If the issue persists after upgrading, I'll re-open it.

@segunadebayo thanks for the fix! Latest version of @ark-ui/vue (0.6.0) still installs @zajs/slider@0.13.0. I'll let you know when you guys cut a new release for ark-ui/vue.

authors: renatodeleao segunadebayo

repo: chakra-ui/zag


text:
split multiword localnames?

split these?
  <phrase-arounds>
     <phrase-around>
        <localname>delInstrText delText endnote footnote instrText pict rPr</localname>
        <namespace-uri>http://schemas.microsoft.com/office/word/2003/wordml</namespace-uri>
     </phrase-around>
     <phrase-around>
        <localname>pPr rPr customXmlPr sdtPr commentReference del</localname>
        <namespace-uri>http://schemas.openxmlformats.org/wordprocessingml/2006/main</namespace-uri>
     </phrase-around>
  </phrase-arounds>

Can't just repeat the locaname element with each word, sorted.
Should do at top level?  Here:  foreach phrase-around create all versions, sort the whole lot as {ns}localname

repo: chamlin/confdiff


text:
TypeError: argument of type 'NoneType' is not iterable

when upgrade to 0.3.1
I'm using a Blueprint
bp = Blueprint('test', 'test')

class TestView(HTTPMethodView):
    def get(self, request, msg):
        return text('hello world')

bp.add_route(TestView.as_view(), '/<msg:string>')

app.blueprint(bp)

Got the exception:
2017-02-24 15:10:51,494: ERROR: Traceback (most recent call last):
  File "/Users/apple/Documents/PythonProject/pyenv/AppServer/lib/python3.5/site-packages/sanic/sanic.py", line 320, in handle_request
    handler, args, kwargs = self.router.get(request)
  File "/Users/apple/Documents/PythonProject/pyenv/AppServer/lib/python3.5/site-packages/sanic/router.py", line 266, in get
    return self._get(request.url, request.method, '')
  File "/Users/apple/Documents/PythonProject/pyenv/AppServer/lib/python3.5/site-packages/sanic/router.py", line 297, in _get
    if match and method in route.methods:
TypeError: argument of type 'NoneType' is not iterable

if i set methods in add_route, it can work
bp.add_route(TestView.as_view(), '/<msg:string>', ['GET'])

I can't reproduce this. I'm using the below:
from sanic.app import Sanic
from sanic.response import text
from sanic.blueprints import Blueprint
from sanic.views import HTTPMethodView

app = Sanic()

bp = Blueprint('test', 'test')

class TestView(HTTPMethodView):
    def get(self, request, msg):
        return text('hello world')

bp.add_route(TestView.as_view(), '/<msg:string>')

app.blueprint(bp)
app.run(debug=True)

Do I need to curl the app to get the exception? If so, what url are you suing to make the request?

from sanic import Blueprint, Sanic
from sanic.views import HTTPMethodView
from sanic.response import text

app = Sanic(__name__)

bp = Blueprint('test', 'test')

class TestView(HTTPMethodView):
    def get(self, request, msg):
        return text('hello world: {}'.format(msg))

bp.add_route(TestView.as_view(), '/<msg:string>')

app.blueprint(bp)

app.run(debug=True)

curl http://127.0.0.1:8000/test/123 -v
Thank

Hmm, I still can't reproduce I get hello world: 123 and no error logged. It does say I'm using sanic version 0.3.1, but I may have included some newer commits. Can you manually install from the master branch, by doing a git clone of the repo and python3 setup.py install?

After clone master and install.
It's really no problem!!!
Thank~

repo: channelcat/sanic


text:
Github Actions workflow for tests

This PR adds a simple GitHub actions workflow to run tests against PR branches and on push to master
Resolves #35
Makes sense to merge #42 first.
Signed-off-by: Piaras Hoban piaras@weave.works

Thank you for the PR, @phoban01 :1st_place_medal:

repo: chanwit/tf-controller


text:
Add total reads, reads per million, and depth per million to SRST2 output

amr_results.csv will now include three extra columns per gene: total_reads, rpm, and dpm.
included an updated example dag for the srst2 step
Bumped Pipeline version to 3.8

Tested with examples/amr_human_paired_sample_with_rpm.json

Merging into 3.8 branch instead. See #176 .

repo: chanzuckerberg/idseq-dag


text:
Update package-lock

After running npm install from the package root, the package-lock.json is being updated with these changes.
Anyone else seeing that?

weird, I don't see that 😮  isn't @chanzuckerberg/czedi-kit-tokens a dependency, and should be in the package-lock? But I guess the build passed so it shouldn't be??

Weird. Not sure if czedi-kit-tokens should be in the package-lock or not... 🤔 Maybe?
@anniehu4 can you confirm which versions of node and npm you're on when running npm install? If our versions match, I'll close this, and chalk it up to "dependency management is hard".
My versions are:

Node: 14.5.0
Npm: 6.14.5

Super weird. Thanks!

repo: chanzuckerberg/lp-design-system


text:
Updated self reported ethnicities

Closes #334
@jahilton @pablo-gar @bkmartinjr
This PR includes the following changes since the previous reviewed draft.

It adopts Bruce's suggestion to only allow comma separation and not comma+space separation. Commas are now a safe delimiter because the one term with a comma in its label has been updated. I've requested that no commas are used for future labels.
It enforces an order for categoricals and consistent downstream consumption. While I preferred ordering by labels, it's less complex to order by HANCESTRO terms, although more curation is required . My main sticking point was the need to reorder BOTH self_reported_ethnicity_ontology_term_id and self_reported_ethnicity_ontology_term_id_colors (if present). And IF the value of the ontology terms were not ordered, then the _colors might have different categories if "A,B,C" appeared in different variations like "A,C,B" or "B,A,C" in the original dataset with different color codes. You know it'd happen.

Nonetheless, I did draft the label approach:
categorical with str categories. If organism_ontolology_term_id is "NCBITaxon:9606" for Homo sapiens, str values MUST be one or more comma-separated (with no leading or trailing spaces) HANCESTRO terms or "unknown" if unavailable.The order of multiple terms is not significant. For example:"HANCESTRO:0005,HANCESTRO:0014" and "HANCESTRO:0014,HANCESTRO:0005" are equivalent. The terms are reordered when the corresponding human-readable names are annotated by CELLxGENE Discover.
...
If there are multiple HANCESTRO terms, then the corresponding names MUST be sorted in lexical ascending order and the terms in self_reported_ethnicity_ontology_term_id MUST be re-ordered to match.  And what about _colors? Should it be a prohibited field?

And what about _colors? Should it be a prohibited field?

I think this is a very wise thing to do. I can only see things going south, intentionally or by accident.

authors: brianraymor jahilton

repo: chanzuckerberg/single-cell-curation


text:
chore: update backend dependencies

Reason for Change
#3615
#3621
Changes

wmg pipeline requirements.txt recreated to only include primary dependences; it was a pip freeze result previously, which not ideal for understanding or updating the primary dependencies

Testing steps
Notes for Reviewer

recreating PR with single-issue association (address #3621 first via its own PR)

repo: chanzuckerberg/single-cell-data-portal


text:
Authentication

Tell us about the problem you're trying to solve
I guess it would be awesome if some sort of Authn/Authz is implemented.
Describe the solution you'd like
We cannot expose this publicly and authentication should be required.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

There's no built-in support for auth. Some workarounds:

Use a webserver, such as nginx, with HTTP basic auth
Use nginx with vouch proxy. As example of this is provided here: https://github.com/chaos-genius/chaosgenius-vouch-proxy


text:
[WIP] Switch to a hug-based API

This will make life much easier when we move from dumping JSON files in the server root to using a database (MySQL/SQLite).
I'm not sure what changes will need to be made on the real ChaosBot server to get Nginx to forward uWSGI properly, but I've modified the Docker start_services.sh script to link the new config properly.
(Note: 69d7aff says "incomplete" because currently, / serves the hug help API and you need to visit /index.html to show the index.)

Have no experience with hug or uwsgi but looks incredible, so :+1:

@hongaar I don't have much experience with them either 😛

@hongaar If you take a look at the gitter chat, we choose hug and moon for the web api/site for ease.
We heavily decided to choose simplicity and minimalism first.
@md678685 Do you need me on some stuff ?

@Swizz If you want to add anything else (or you're particularly experienced with Nginx 😉) then that'd be great!

Front end dev, know nothing about Nginx

Fair enough, I'll try and sort the index issue out

I think this is ready for merging - could we get a meritocracy review? @PlasmaPower

@PlasmaPower The voters are now sorted in descending (highest to lowest) order before it gets limited by the amount.

authors: Swizz hongaar md678685

repo: chaosbot/Chaos


text:
change number of Value metric

We removed the metric with number 4 and Value should move up in the number schema.
No other changes, only file name changed and updated link in README.md

I already updated the wiki and will merge this pull request as soon as I get a review from someone.

Thanks @BenLloydPearson

repo: chaoss/metrics


text:
Metric idea: Communication Inclusivity in Event Focus Area

CHAOSS D&I Badging recently had a Pilot Testing phase.
During that time, @ElizabethN opened an issue for providing feedback for the process, which lives here - https://github.com/badging/event-diversity-and-inclusion/issues/8
A particular fraction of the feedback contained these questions that can be asked to a CHAOSS Badging Applicant:
  - is the event website accessible for visually and hearing impaired folks?
  - is the venue wheelchair friendly?
  - are there sign language interpreters or closed captioning available?
  - are there resources for visually impaired folks? (Volunteers to assist as guides, alternative versions of schedules in Braille or available besides just online?)

This part of the feedback can possibly be looked into and expanded upon to create a new Event focus area metric about how the talks and other conference material can be made more accessible.

These are encompassed in our Event Accessibility Metric.

authors: ElizabethN bistaastha

repo: chaoss/wg-dei


text:
Cached token cause 401 without being refreshed.

Package containing the bug
next-drupal (NPM package)
Describe the bug
Hello,
I'm not familiar with creating issues, so sorry if I'm not giving every details needed.
I started a new project from scratch by using Next.js 15 with App Router.
In this project, I'd set up next-drupal to use with my CMS, which is already used by the V1 on my app (on Next.js 13 with Pages router).
At first, I tried using the next-drupal package to see if all the requests were working properly, but after setting up my dynamic header and footer, using drupal.getMenu(), I started having 401 errors on the requests.
It took me time before figuring out that I needed to clear my Next.js cache to make everything working again.
In my CMS, I made a OAuth setup just like its described in the next-drupal documentation, this setup was made with the V1.
After a few more hours of thinking and tests, I now understood that the problem comes from the association of the last releases of Next.js with the next-drupal package.
My token expiration is set up at 300 seconds (5 mins), and every time I clear my Next.js cache, I have 5 minutes from my first request without any 401.
I think the problem is that Next.js cache the token given by Drupal at the first request, then try to reuse this token.
I could temporary resolve my problem by adding withCache: false to my requests, by example:
/**
 *  Get header main menu data.
 *
 * @returns {Promise<DrupalMenu>}
 */
export const getHeaderMainMenu = async (): Promise<DrupalMenu> => {
  return await drupal.getMenu('main', {
    withAuth: true,
    withCache: false,
    params: {
      include: 'field_guide_file,field_guide_image',
      'fields[menu_link_content--main]': 'title,url,parent,field_guide_file,field_guide_image',
      'fields[file--file]': 'uri',
    },
  })
}

But I think that this will be bad using it on every requests I make with the DrupalClient.
Is it possible to fix it with my informations, or need I to provide more ?

This is a duplicate of https://github.com/chapter-three/next-drupal/issues/788

authors: tomzidani yobottehg

repo: chapter-three/next-drupal


text:
events don't work properly

No one of commonly used events and no one of described events from manual has connection to parent's component functions.
<datepicker
v-model="event.date"
placeholder="Select a date"
:input-class="{ error: $v.event.date.$error }"
@opened="sendMessage"
@click="sendMessage"
@input="sendMessage"
@blur="sendMessage"
:id="1"
:required="true"
/>
function 'sendMessage' doesn't evoked at all

For some reason it appears there's a release that isn't listed on the releases page that is messing all that up (1.6.2)
If you roll back to 1.5.1 they are all there. I know theres is years after but thought it might be useful for someone

authors: AndrewMacNaughton ShmidtAlex

repo: charliekassel/vuejs-datepicker


text:
(v2) fix(examples): make examples use v2

Goal: get the examples working for v2

[x] ssh - tested with ANSI256 & truecolor and it's giving the right output
[x] table examples
[x] tree
[x] layout
[x] list

Only thing outstanding is clarifying how to work with light and dark backgrounds + detecting background color with v2. On that note, https://github.com/charmbracelet/lipgloss/pull/359 is related to this PR

I also had to update log @ v2-exp to use colorprofile's Writer. Let me know the best way to navigate the un-merged deps. In this case I just have a go mod replace directive to point it to a local version of log checked out at v2-exp :)

@bashbunni so the work here has been merged into v2-adaptive-standalone, which contains solutions we're working though for adaptive colors, and additional fixes for the open items here that were (excellently) documented.
Are you cool if I open a PR for that branch and supersede this one?

@meowgorithm yeah totally cool! If we don't need this branch anymore we can close it

authors: bashbunni meowgorithm

repo: charmbracelet/lipgloss


text:
fix: use pty aware charmbracelet/ssh

Based on https://github.com/charmbracelet/ssh/pull/8

merged manually in https://github.com/charmbracelet/wish/pull/197/commits/50a706ee42522a1f77fd30421a1f152f9b721213

repo: charmbracelet/wish


text:
Update allow-privileged description to better describe situations it's necessary

LP#1985092

Test adjustments are due to https://github.com/juju/python-libjuju/issues/707


text:
Bug: average chart does not render properly in Strapi dashboard

Current behavior
Average chart type does not render in Strapi Admin.

Environment
  - Node version: v16.15.0
  - @strapi/strapi: v4.3.0-beta.1
  - @chartbrew/plugin-strapi: v0.2.7
  - Platform: Windows

The average type is missing indeed. I will add in the new release which should be out next week :)

Support for avg chart type was just added in 77a288c7bebfdfbc340e4a048d4b6dcde635777a

authors: Dominic-Preap razvanilin

repo: chartbrew/strapi-plugin-chartbrew


text:
Unclear bar chart in in chart.js documentation

It took me a while to find out that the following is indeed correct.

July's value is 40, but the bar is flat.
It took me a while to actually recognize that this is correct since y axis starts at value 40.
I would suggest to start the y axis at 0 at least in the demo chart, or it could be confusing.
Alternatively, set July's value to something bigger than 40.
Solution, use options for the chart as follow.
                    var myBarChart = new Chart(ctx, {
                        type: 'bar',
                        data: data,
                        //options: options
                        options: {
                            scales: {
                                yAxes: [{
                                    ticks: {
                                        beginAtZero: true
                                    }
                                }]
                            }
                        },
                    });

I thought we added ticks.beginAtZero: true in the default bar config. What version ate you using?

Sorry, maybe it was unclear.
I am referring to the documentation page: http://www.chartjs.org/docs/#bar-chart-introduction
Not sure which version are you using there, I guess the latest...

Ah, ok. That should be fixed whrn @nnnick updates the site

:+1:

I'm using version 2.3.0 and I have a similar chart where the lowest value bar was flush with the bottom of the chart so it looked like it was not plotting at all. I never noticed that the bottom most line was indeed equal to the bar value of 60.
But in contrast to the image above by the original poster, when I hover over that position, nothing pops up at all like it does on the other bar positions.
Adding the options beginAtZero code fixed it though, so all is well. Thanks to everyone posting on this.
Jim

Closed in #4100

authors: 71784 etimberg micheledallatorre


text:
Remove core plugin fallbacks to root options

Closes #8458
I removed the fallback from all plugins for now.

So we'll need to review the default colour stuff? Or just call it out as a gotcha in v3?

So we'll need to review the default colour stuff? Or just call it out as a gotcha in v3?

Reviewing (and adding tests) would be ideal. You have something specific in mind?

I'm just thinking about font colours, for example in the legend.

Hard to test because of how the spriting works.

How about that?

authors: etimberg kurkle


text:
Rename Contact Page

The Contact Page should be renamed to something else to increase conversion

The options that should be used for the AB test are below:

Contact
Say Hello
Get in Touch
Hire me
Let's Chat

repo: chase-manning/Personal-Website


text:
Update to kardianos

get updates

conflicts merged

repo: chbuescher/service

license: Zlib


text:
Fix duplicate HOSTNAME= on centos 6

Description
Changes the regex when looking for HOSTNAME= in /etc/sysconfig/network to not require a space.
Issues Resolved
Fixes https://github.com/chef-cookbooks/chef_hostname/issues/16
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[ ] The CLA has been signed. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@justyns

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

@justyns  can you remove the version bump commit?

@lamont-granquist Sorry for the delay, I removed the version bump commit


text:
Don't patch chef version > 12.5

Cookbook version
12.10.6
Chef-client version
12.8.1
Scenario:

Trying to run chefspec on a cookbook that has dependencies on compat_resource
no Gemfile.lock nor Berksfile.lock
spec fails because:

#<RuntimeError: compat_resource gem version 12.10.7 was loaded as a gem before compat_resource cookbo... gem version, update the gem to the cookbook version, or uninstall / stop loading the gem so early.>

Expected Result:
Proper convergence.
Suggested solution
Don't try to patch chef 12.8.1since it has all features.

NB: I might not understand well the need for for this cookbook when running chef 12.5 and above.

@kamaradclimber 12.5 introduced custom resources, but we've continued to make refinements (mostly bugfixes) since then. Those changes are packages up after each chef release and we ship a new version of this cookbook. By running compat_resource on 12.8 you're basically backporting a bug fixed custom resource implementation to 12.8. That was the desired workflow of this cookbook so it's something we'd like to keep.
I'm also a bit confused on how the cookbook is failing with compat_resource included. We require compat_resource in a large number of our cookbooks and chefspec runs fine. We're running the latest chefspec and the latest compat_resource. Can you make sure you have the latest version of everything in the toolchain?

thanks @tas50 for your answer.
About this issue: we don't lock gems nor cookbooks in our CI. On July 18th, our CI ran with the 12.10.7 version even though the latest gem available was 12.10.6. This made compat_resource cookbook raise an exception (for good reasons).
It might be due to our rubygems proxy/cache.
This leads me to think about the role of compat_resource in our organization. Here is how I see it:

compat_resource brings new features/bugfixes to early chef version by patching core chef code
this leads to large spectrum issues such as #66 which are desastrous for us (we use before notifications to execute some locking around critical resource convergence)
since many community cookbooks depends on compat_resource, the code is loaded on nearly all our nodes
we run recent chef versions (12.5.1 and 12.8.1 depending on teams) and want to rely on chef-client updates to fix chef-client bugs

Of course this heavily depends on our organization and the way we work, I understand others might have different needs/constraints.
I'd like to get your input on how we could proceed to prevent any chef-client patch.

So here's a more concrete example. I have, as of this writing, the latest chefdk-0.15.16 installed on my laptop and I'm trying to run my ChefSpec tests against a cookbook I'm writing. my_cookbook depends on build-essential which depends on compat_resources >= 12.10.
When I resolve my dependencies with Berkshelf, I'm pulling in 12.10.7 because that's, as of this writing, the latest available version of the cookbook. I'm not personally using compat_resources so until the error I wasn't fully aware it was included in my run list. Since I'm using chefdk, I have compat_resources pre-installed at 12.10.6. When I run my tests, 12.10.6 is loaded because it was pre-installed, and the compat_resources cookbook fails because it's a newer version than my chefdk installation.
We're seeing a similar issue on our build machine where different pinned run lists end up having different versions of compat_resources which all seemingly conflict with each other.

So yeah, to be definitive:

we're backporting more than just custom resources in this cookbook now.
if you look at #80 tom is adding apt_update and apt_repository core LWRPs so that we can use those in community cookbooks
i've also backported some of the resource collection / notification changes from something like 12.10 (which it looks like broke :before and we need to fix)

This is all being done so that similarly to custom resources we can use those feature in community cookbooks while still supporting 12.old versions of chef-client.  Otherwise we're trapped in a situation where we can't use anything new that we write for another year or two until everyone upgrades their chef clients.
So, the suggestion to not do anything on new versions of chef-client won't fly at all.  As written the title of this is just a wontfix.
I'm still trying to digest the actual issue that you're seeing though, but i want to be very clear that your proposed solution is wrong.

so @kamaradclimber it seems like mostly your problems sum up to the fact that we need to fix #66 which i'd agree with.

@brandocorp that seems to be a legit problem, and I kind of hate the way we're trying to use this as a gem and a cookbook and that gets into fights.  Your problem is a good example of that.  I'd be more inclined to tackle and issue which was to completely back out the usage of this cookbook as a gem like that and possibly remove that functionality.  I think it has become tightly coupled with cheffish and/or chef-provisioning though and that would need to get untangled.

closing in favor of #66 and #81

thanks @lamont-granquist for your feedback.
Since my issue is more the fact that my organization does not want to one cookbook to patch chef core feature, we will solve this internally by using an empty fork of this cookbook.

authors: brandocorp kamaradclimber lamont-granquist tas50