[octavia-ingress-controller] Could not retrieve TLS certificate

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
The octavia-ingress-controller fails to create the listener when trying to enable tls encryption.
What you expected to happen:
A listener with TLS termination to be created.
How to reproduce it:
Follow the documentation on setting up the ingress controller. Here is my configuration for octavia-ingress-controller:
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: octavia-ingress-controller-config
  namespace: kube-system
data:
  config: |
    cluster-name: yfr5nrxt47
    openstack:
      auth-url: <ID-endpoint>
      domain-name: domain
      application-credential-name: nnn
      application-credential-id: iii
      application-credential-secret: sss
      project-id: ID
      region: regionOne
    octavia:
      subnet-id: UUID
      floating-network-id: UUID
      manage-security-groups: false

Then follow: enable tls encryption.
Anything else we need to know?:
HTTP ingress in this setup worked as expected.
Logs of the octavia-ingress-controller:
INFO   [2023-04-14T08:43:47Z] creating ingress                              ingress=default/test-octavia-ingress
INFO   [2023-04-14T08:43:50Z] creating loadbalancer                         ingress=default/test-octavia-ingress lbID=30e6bbad-938e-4c77-9173-d62e530ee70a lbName=kube_ingress_yfr5nrxt47_default_test-octavia-ingress
INFO   [2023-04-14T08:44:42Z] secret created in Barbican                    ingress=default/test-octavia-ingress lbID=30e6bbad-938e-4c77-9173-d62e530ee70a secretName=kube_ingress_yfr5nrxt47_default_test-octavia-ingress_tls-secret secretRef="<KM-endpoint>/v1/secrets/f7d1242f-cff0-4cf2-8978-9fa01ab64816"
INFO   [2023-04-14T08:44:42Z] creating listener                             lbID=30e6bbad-938e-4c77-9173-d62e530ee70a listenerName=kube_ingress_yfr5nrxt47_default_test-octavia-ingress
E0414 08:44:45.239812       1 controller.go:521] failed to create openstack resources for ingress default/test-octavia-ingress: error creating listener: Bad request with: [POST <LB-endoint>/v2.0/lbaas/listeners], error message: {"faultcode": "Client", "faultstring": "Could not retrieve certificate: ['<KM-endpoint>/v1/secrets/f7d1242f-cff0-4cf2-8978-9fa01ab64816', '<KM-endpoint>/v1/secrets/f7d1242f-cff0-4cf2-8978-9fa01ab64816']", "debuginfo": null}
I0414 08:44:45.239950       1 event.go:285] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"default", Name:"test-octavia-ingress", UID:"5c479f27-3e9c-4d1b-813f-77991d91ee52", APIVersion:"networking.k8s.io/v1", ResourceVersion:"1534583", FieldPath:""}): type: 'Warning' reason: 'Failed' Failed to create openstack resources for ingress default/test-octavia-ingress: error creating listener: Bad request with: [POST <LB-endoint>/v2.0/lbaas/listeners], error message: {"faultcode": "Client", "faultstring": "Could not retrieve certificate: ['<KM-endpoint>/v1/secrets/f7d1242f-cff0-4cf2-8978-9fa01ab64816', '<KM-endpoint>/v1/secrets/f7d1242f-cff0-4cf2-8978-9fa01ab64816']", "debuginfo": null}

Note that I can retrieve the secret using the application credential, that is with
export OS_AUTH_TYPE=v3applicationcredential
export OS_AUTH_URL=<ID-endpoint>
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=regionOne
export OS_INTERFACE=public
export OS_APPLICATION_CREDENTIAL_ID=iii
export OS_APPLICATION_CREDENTIAL_SECRET=sss

I can do this:
openstack secret get <KM-endpoint>/v1/secrets/f7d1242f-cff0-4cf2-8978-9fa01ab64816 \
        --decrypt \
        --payload_content_type 'application/octet-stream' \
        -c Payload \
        -f value

Environment:

openstack-cloud-controller-manager version: 1.25.5
barbican-kms-plugin version: 1.25.5
octavia-ingress-controller version: 1.25.5
OpenStack version: Rocky
Kubernetes version: 1.25.8

I'd like to figure out where this problem is coming from, but could use some help on where to look :confused:

I have the same issue, can this please be reopened?
There are similar issues that were also closed with no solution #1995 #1250
INFO [2024-04-10T16:06:38Z] ensuring security group ingress=REDACTED

INFO [2024-04-10T16:06:38Z] ensured security group ingress=REDACTED

INFO [2024-04-10T16:06:38Z] secret created in Barbican ingress=REDACTED secretName=REDACTED secretRef=REDACTED

INFO [2024-04-10T16:06:38Z] creating listener lbID=REDACTED listenerName=REDACTED

E0410 16:06:41.106992 12 controller.go:548] failed to create openstack resources for ingress REDACTED: error creating listener: Bad request with: [POST https://REDACTED/v2.0/lbaas/listeners], error message: {"faultcode": "Client", "faultstring": "Could not retrieve certificate: ['https://REDACTED/v1/secrets/REDACTED', 'https://REDACTEDl/v1/secrets/REDACTED']", "debuginfo": null}

I0410 16:06:41.107218 12 event.go:364] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"REDACTED", Name:"REDACTED", UID:"REDACTED", APIVersion:"networking.k8s.io/v1", ResourceVersion:"12066708", FieldPath:""}): type: 'Warning' reason: 'Failed' Failed to create openstack resources for ingress REDACTED: error creating listener: Bad request with: [POST https://REDACTED/v2.0/lbaas/listeners], error message: {"faultcode": "Client", "faultstring": "Could not retrieve certificate: ['https://REDACTED/v1/secrets/REDACTED', 'https://REDACTED/v1/secrets/REDACTED']", "debuginfo": null}

Sure. This is an error on the Octavia side, can you check the logs of octavia-api there to see the root cause?

Here are the related logs.
Listener creation is failing with Not Found: Secrets container not found error in octavia side. As you can see the octavia and barbican log, the secret is created correctly but it is failing to retrieve.

octavia logs
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:28.877 10 ERROR barbicanclient.client [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] 4xx Client error: Not Found: Secrets container not found.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:28.878 10 INFO octavia.certificates.manager.barbican [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Loading certificate secret https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 from Barbican.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:28.879 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Secrets uuid ref: secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:28.922 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Secrets uuid ref: secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:28.975 10 INFO octavia.certificates.manager.barbican_legacy [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Loading certificate container https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 from Barbican.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:28.976 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Containers uuid ref: containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.001 10 ERROR barbicanclient.client [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] 4xx Client error: Not Found: Secrets container not found.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.002 10 ERROR octavia.certificates.manager.barbican_legacy [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Error getting cert https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5: Not Found: Secrets container not found.: barbicanclient.exceptions.HTTPClientError: Not Found: Secrets container not found.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.832 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Containers uuid ref: containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.853 10 ERROR barbicanclient.client [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] 4xx Client error: Not Found: Secrets container not found.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.853 10 INFO octavia.certificates.manager.barbican [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Loading certificate secret https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 from Barbican.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.854 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Secrets uuid ref: secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.896 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Secrets uuid ref: secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.937 10 INFO octavia.certificates.manager.barbican_legacy [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Loading certificate container https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 from Barbican.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.938 10 INFO barbicanclient.base [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Calculated Containers uuid ref: containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.963 10 ERROR barbicanclient.client [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] 4xx Client error: Not Found: Secrets container not found.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: 2024-04-25 17:23:29.964 10 ERROR octavia.certificates.manager.barbican_legacy [None req-d077039c-d0e5-45c5-be3e-bd309c430cbe - 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Error getting cert https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5: Not Found: Secrets container not found.: barbicanclient.exceptions.HTTPClientError: Not Found: Secrets container not found.
openstack/octavia-api-788f56d755-hr9dq[octavia-api]: [pid: 10|app: 0|req: 20835/83328] <IP_ADDRESS> () {48 vars in 1032 bytes} [Thu Apr 25 17:23:26 2024] POST /v2.0/lbaas/listeners => generated 281 bytes in 3031 msecs (HTTP/1.1 400) 4 headers in 166 bytes (1 switches on core 0)

barbican log

openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:26.900 9 INFO barbican.api.middleware.context [None req-b2f204a1-9e5f-48b3-bf87-027c174d6e8c 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Processed request: 201 Created - POST https://key-manager.openstack.vistex.local/v1/secrets
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49655/49655] <IP_ADDRESS> () {48 vars in 1010 bytes} [Thu Apr 25 17:23:26 2024] POST /v1/secrets => generated 108 bytes in 83 msecs (HTTP/1.1 201) 5 headers in 264 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-sthtq[barbican-api]: {address space usage: 132628480 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49661/49661] <IP_ADDRESS> () {28 vars in 434 bytes} [Thu Apr 25 17:23:27 2024] GET / => generated 334 bytes in 1 msecs (HTTP/1.1 300) 3 headers in 105 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-sthtq[barbican-api]: {address space usage: 132628480 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49662/49662] <IP_ADDRESS> () {32 vars in 747 bytes} [Thu Apr 25 17:23:27 2024] GET / => generated 334 bytes in 1 msecs (HTTP/1.1 300) 3 headers in 105 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:27.798 9 INFO barbican.api.middleware.context [None req-b2f204a1-9e5f-48b3-bf87-027c174d6e8c 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Begin processing request req-62f02d98-d414-4187-b219-790bc392015c
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:27.818 9 INFO barbican.api.middleware.context [None req-4ffab2b2-e05a-4548-9402-0c2b37c041e9 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/acl
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49656/49656] <IP_ADDRESS> () {32 vars in 849 bytes} [Thu Apr 25 17:23:27 2024] GET /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/acl => generated 34 bytes in 23 msecs (HTTP/1.1 200) 4 headers in 156 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:27.833 9 INFO barbican.api.middleware.context [None req-f4c51c5c-59e8-42c3-9328-b71236f8fb0c 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Begin processing request req-cdede930-d301-4c52-8a0f-e66895daf806
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:27.866 9 INFO barbican.api.middleware.context [None req-c1bf13f9-1e1e-4dfe-b31e-a9f33ab7c98b 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Processed request: 200 OK - PUT http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/acl
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: {address space usage: 132464640 bytes/126MB} {rss usage: 110899200 bytes/105MB} [pid: 9|app: 0|req: 50107/50107] <IP_ADDRESS> () {36 vars in 888 bytes} [Thu Apr 25 17:23:27 2024] PUT /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/acl => generated 109 bytes in 38 msecs (HTTP/1.1 200) 4 headers in 157 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49657/49657] <IP_ADDRESS> () {28 vars in 434 bytes} [Thu Apr 25 17:23:28 2024] GET / => generated 334 bytes in 2 msecs (HTTP/1.1 300) 3 headers in 105 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:28.836 9 INFO barbican.api.middleware.context [None req-c1bf13f9-1e1e-4dfe-b31e-a9f33ab7c98b 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Begin processing request req-d7bb6b14-dd9d-4680-97c0-7346311fe450
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:28.838 9 INFO barbican.api.middleware.context [None req-bf0ec8ff-f0cb-4c7c-994b-bf67614608ec dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: {address space usage: 132464640 bytes/126MB} {rss usage: 110968832 bytes/105MB} [pid: 9|app: 0|req: 50108/50108] <IP_ADDRESS> () {32 vars in 689 bytes} [Thu Apr 25 17:23:28 2024] GET /v1/ => generated 319 bytes in 559 msecs (HTTP/1.1 200) 4 headers in 157 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:28.856 9 INFO barbican.api.middleware.context [None req-a2aa8f8e-7c93-4147-890b-31f725715a44 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Begin processing request req-01c5102f-fa07-4c71-b5a8-34988d2e415c
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:28.874 9 INFO barbican.api.middleware.context [None req-c2d3d5bd-6f0c-4d0e-8202-f408ee5de96c dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 404 Not Found - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/barbican-api-5974877d56-sthtq[barbican-api]: {address space usage: 132628480 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49663/49663] <IP_ADDRESS> () {32 vars in 783 bytes} [Thu Apr 25 17:23:28 2024] GET /v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 => generated 82 bytes in 27 msecs (HTTP/1.1 404) 4 headers in 163 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:28.891 9 INFO barbican.api.middleware.context [None req-c2d3d5bd-6f0c-4d0e-8202-f408ee5de96c dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Begin processing request req-519f67ba-caa6-4031-b79d-478a4d211138
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:28.917 9 INFO barbican.api.controllers.secrets [None req-3e879808-7697-435e-b068-861ac491ac2e dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Retrieved secret metadata for project: f5ed2d21437644adb2669f9ade9c949b
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:28.919 9 INFO barbican.api.middleware.context [None req-3e879808-7697-435e-b068-861ac491ac2e dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/barbican-api-5974877d56-sthtq[barbican-api]: {address space usage: 132628480 bytes/126MB} {rss usage: 108453888 bytes/103MB} [pid: 9|app: 0|req: 49664/49664] <IP_ADDRESS> () {32 vars in 777 bytes} [Thu Apr 25 17:23:28 2024] GET /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 => generated 516 bytes in 31 msecs (HTTP/1.1 200) 4 headers in 157 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:28.936 9 INFO barbican.api.middleware.context [None req-bf0ec8ff-f0cb-4c7c-994b-bf67614608ec dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Begin processing request req-a6971c07-5585-4bf5-bdb9-a9bab1a59cb1
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:28.971 9 INFO barbican.api.controllers.secrets [None req-0ee4c534-1288-4186-bd25-2007364f969f dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Retrieved secret payload for project: f5ed2d21437644adb2669f9ade9c949b
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:28.974 9 INFO barbican.api.middleware.context [None req-0ee4c534-1288-4186-bd25-2007364f969f dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/payload
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: {address space usage: 133513216 bytes/127MB} {rss usage: 111341568 bytes/106MB} [pid: 9|app: 0|req: 50109/50109] <IP_ADDRESS> () {32 vars in 801 bytes} [Thu Apr 25 17:23:28 2024] GET /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/payload => generated 2495 bytes in 42 msecs (HTTP/1.1 200) 4 headers in 166 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:28.991 9 INFO barbican.api.middleware.context [None req-4ffab2b2-e05a-4548-9402-0c2b37c041e9 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Begin processing request req-cd482282-09b2-4062-8afa-e92ec073a9a6
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:28.999 9 INFO barbican.api.middleware.context [None req-39528030-4fa1-4595-ac45-bdd65ebf8738 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 404 Not Found - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49658/49658] <IP_ADDRESS> () {32 vars in 783 bytes} [Thu Apr 25 17:23:28 2024] GET /v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 => generated 82 bytes in 12 msecs (HTTP/1.1 404) 4 headers in 163 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: {address space usage: 133513216 bytes/127MB} {rss usage: 111341568 bytes/106MB} [pid: 9|app: 0|req: 50110/50110] <IP_ADDRESS> () {28 vars in 434 bytes} [Thu Apr 25 17:23:29 2024] GET / => generated 334 bytes in 2 msecs (HTTP/1.1 300) 3 headers in 105 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: {address space usage: 133513216 bytes/127MB} {rss usage: 111341568 bytes/106MB} [pid: 9|app: 0|req: 50111/50111] <IP_ADDRESS> () {32 vars in 747 bytes} [Thu Apr 25 17:23:29 2024] GET / => generated 334 bytes in 1 msecs (HTTP/1.1 300) 3 headers in 105 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.812 9 INFO barbican.api.middleware.context [None req-39528030-4fa1-4595-ac45-bdd65ebf8738 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Begin processing request req-1c0c26ef-8870-452b-a140-a5a54773662e
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.830 9 INFO barbican.api.middleware.context [None req-2c09e817-3d90-45f4-a3ce-4cdffe8bde18 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/acl
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49659/49659] <IP_ADDRESS> () {32 vars in 849 bytes} [Thu Apr 25 17:23:29 2024] GET /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/acl => generated 149 bytes in 21 msecs (HTTP/1.1 200) 4 headers in 157 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.844 9 INFO barbican.api.middleware.context [None req-2c09e817-3d90-45f4-a3ce-4cdffe8bde18 11b044fefa3521e7715702453170b35d73a20ad85a470e48f935fba5b30c4b67 972a7d5f51144b3aaed7d975aa408212 - - e14efee7c7714996884be538afa52b0c e14efee7c7714996884be538afa52b0c] Begin processing request req-478fcc6f-c02d-4299-81ec-0c48b03625a9
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.851 9 INFO barbican.api.middleware.context [None req-cefcc917-979d-41d9-bbcb-af352c60d1b5 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 404 Not Found - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108310528 bytes/103MB} [pid: 9|app: 0|req: 49660/49660] <IP_ADDRESS> () {32 vars in 783 bytes} [Thu Apr 25 17:23:29 2024] GET /v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 => generated 82 bytes in 10 msecs (HTTP/1.1 404) 4 headers in 163 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:29.866 9 INFO barbican.api.middleware.context [None req-3e879808-7697-435e-b068-861ac491ac2e dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Begin processing request req-3e5d8673-04ca-4c3a-8c9f-85de154a76f1
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:29.890 9 INFO barbican.api.controllers.secrets [None req-63a12552-c19f-4583-9965-6eb81d6c8d76 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Retrieved secret metadata for project: f5ed2d21437644adb2669f9ade9c949b
openstack/barbican-api-5974877d56-sthtq[barbican-api]: 2024-04-25 17:23:29.893 9 INFO barbican.api.middleware.context [None req-63a12552-c19f-4583-9965-6eb81d6c8d76 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/barbican-api-5974877d56-sthtq[barbican-api]: {address space usage: 132628480 bytes/126MB} {rss usage: 108453888 bytes/103MB} [pid: 9|app: 0|req: 49665/49665] <IP_ADDRESS> () {32 vars in 777 bytes} [Thu Apr 25 17:23:29 2024] GET /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 => generated 516 bytes in 31 msecs (HTTP/1.1 200) 4 headers in 157 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.907 9 INFO barbican.api.middleware.context [None req-cefcc917-979d-41d9-bbcb-af352c60d1b5 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Begin processing request req-006bba2d-7c2a-4bfa-b709-c205752bb3cd
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.933 9 INFO barbican.api.controllers.secrets [None req-c59b8941-f303-4a5f-b3d5-ff3bd174e747 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Retrieved secret payload for project: f5ed2d21437644adb2669f9ade9c949b
openstack/barbican-api-5974877d56-krjrz[barbican-api]: 2024-04-25 17:23:29.935 9 INFO barbican.api.middleware.context [None req-c59b8941-f303-4a5f-b3d5-ff3bd174e747 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 200 OK - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/payload
openstack/barbican-api-5974877d56-krjrz[barbican-api]: {address space usage: 132620288 bytes/126MB} {rss usage: 108359680 bytes/103MB} [pid: 9|app: 0|req: 49661/49661] <IP_ADDRESS> () {32 vars in 801 bytes} [Thu Apr 25 17:23:29 2024] GET /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5/payload => generated 2495 bytes in 31 msecs (HTTP/1.1 200) 4 headers in 166 bytes (1 switches on core 0)
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:29.954 9 INFO barbican.api.middleware.context [None req-0ee4c534-1288-4186-bd25-2007364f969f dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Begin processing request req-8e99582b-f0e7-4b41-aedc-c43fed310be8
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: 2024-04-25 17:23:29.963 9 INFO barbican.api.middleware.context [None req-0c34e080-6465-4e7f-9de5-16545e47a724 dd5664a9739d4afba929b37d3f123f28 f5ed2d21437644adb2669f9ade9c949b - - default default] Processed request: 404 Not Found - GET http://barbican-api.openstack.svc.cluster.local:9311/v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5
openstack/barbican-api-5974877d56-wlwvd[barbican-api]: {address space usage: 133513216 bytes/127MB} {rss usage: 111341568 bytes/106MB} [pid: 9|app: 0|req: 50112/50112] <IP_ADDRESS> () {32 vars in 783 bytes} [Thu Apr 25 17:23:29 2024] GET /v1/containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 => generated 82 bytes in 14 msecs (HTTP/1.1 404) 4 headers in 163 bytes (1 switches on core 0)

I'm currently on holiday, will reply when I'm back.

@dulek did you have a chance to check?

@okozachenko1203
According to your logs, the secrets were created using the internal barbican endpoint and they're requested by OCCM using a public endpoint:

http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5

vs

https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5

Can you try to use the keystone user configured in OCCM and check whether it can access http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 and/or https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5?
$ openstack secret get %URL%

If there is a a permission issue, barbican would return 403. In your case you clearly get 404, which may indicate the reverse proxy or babrican webserver is configured with the wrong location/endpoint.

@kayrus

secret is not an issue. I can fetch the secret with both public and private auth url. Also octavia ingress controller can fetch the secret as you can see the log. The problem is the missing secret container.
i can fetch the other pre-existing secret containers (not created by octavia-ingress controller) using both public and private href and auth url.

So the problem is that the secret container was not created by octavia ingress controller.

@okozachenko1203
According to your logs, the secrets were created using the internal barbican endpoint and they're requested by OCCM using a public endpoint:

http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5

vs

https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5

Can you try to use the keystone user configured in OCCM and check whether it can access http://barbican-api.openstack.svc.cluster.local:9311/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 and/or https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5?
$ openstack secret get %URL%

If there is a a permission issue, barbican would return 403. In your case you clearly get 404, which may indicate the reverse proxy or babrican webserver is configured with the wrong location/endpoint.

@kayrus

secret is not an issue. I can fetch the secret with both public and private auth url. Also octavia ingress controller can fetch the secret as you can see the log. The problem is the missing secret container.
i can fetch the other pre-existing secret containers (not created by octavia-ingress controller) using both public and private href and auth url.

So the problem is that the secret container was not created by octavia ingress controller.

I see, so the problem is that modern octavia requires container, not a secret? And the container is not created by the ingress controller, right?
Looks related to the #2461

I see, so the problem is that modern octavia requires container, not a secret? And the container is not created by the ingress controller, right? Looks related to the #2461

Yeah, it is right that the secret container is not created by ingress controller. But I don't think that issue #2461 is related to that.
It is failing at this line
https://github.com/kubernetes/cloud-provider-openstack/blob/a59b8a28d23b1f265eb066e760b56d72ad29e91f/pkg/ingress/controller/controller.go#L776
https://github.com/kubernetes/cloud-provider-openstack/blob/64b813046f25b41aa4295a0a51726bcf25e92bc7/pkg/ingress/controller/openstack/octavia.go#L352-L364
The secret created by ingress controller before EnsureListener is called.
https://github.com/kubernetes/cloud-provider-openstack/blob/a59b8a28d23b1f265eb066e760b56d72ad29e91f/pkg/ingress/controller/controller.go#L751-L762
INFO   [2024-04-25T17:23:26Z] secret created in Barbican                    ingress=elkstack/logstash-logstash lbID=d37899b3-f0df-4c80-bdf8-2386f89875fa secretName=kube_ingress_vstx1-useg-k8s-1_elkstack_logstash-logstash_logstash-tls secretRef="https://key-manager.openstack.vistex.local/v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5"

As you can see the secret ref is /v1/secrets/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 and it is used as Listener createOpts. Now in octavia side, it calculated Containers uuid ref as containers/bfc96ae2-2f11-4d98-9094-8a89d0fcdcf5 which is not existing and tried to fetch it and finally failed.
So I wonder if that secret container creation should be triggered by ingress controller explicitly.

/reopen
/remove-lifecycle rotten

Hi folks, any update or thoughts here?

I figured out what the problem is.
for my case, it turned out that the issue was not related to ccm.
To summarize, octavia has exception logic for pkcs12 load which uses legacy barbican certManager instead of the default modern barbican certMananer implementation. The legacy one expectes the secret container which is not created in the modern barbican service.
I had to backport some upstream patches to output the logs for such a fallback and fix the RC why pkcs12 load failure.
Thanks.

can we close the issue?

can we close the issue?

well, not sure because this issue was raised by others originally

Let me attempt the steps @okozachenko1203 roughly outlined, more details would be helpful though :-)

@okozachenko1203 were you able to bypass the bug?
If so, I would really appreciate a short explanation about how did you managed to do it.I cannot


Configure witness policy

Configure witness policy:

storage
REST endpoint to update policy
cache policy with expiry period (expiry is server configuration)
BDD

Closed in previous pull requests.


Export to mesh

https://github.com/tdhooper/glsl-marching-cubes

this issue has been created on sp-core. Meshing would have to be offline anyway, not feasible to run in browser


Update dependency google.golang.org/api

This is required for Global Access GA to be picked up.

@skmatti Can you add something in the description indicating why this is needed?

Is this still required?

I don't think so.


Fixing some dependencies, adding CFC and Age examples, adding CFC data

I installed a fresh fork of TMITransient.jl. I ran into some dependency issues involving the Differential Equations package. I also added two examples which (I think) simulate the circulation of an evolving CFC and Age-like boundary condition. These scripts plot the propagation of these tracers using the plotting scripts used in ex.1

Looks like the package is broken due to GLMakie. See the automated tests here:
https://github.com/ggebbie/TMItransient.jl/actions/runs/10101275206/job/28125724067?pr=27
The TMItransient environment will ideally not have any plotting routines that are slow to compile. They can go in the scripts environment, if needed.

Numerical tests all pass!! This seems to be evidence that the issue #26 can be freed.

Can we do anything about the GLMakie error?  I authorized the automated tests and the error from above still exists. Can we remove GLMakie?
https://github.com/ggebbie/TMItransient.jl/actions/runs/10286321861/job/28467141448#step:6:467

Ah yes, we can remove GLMakie. I'll do that now

removed GLMakie, hope nothing else changed!

Thanks for removing GLMakie: the error is resolved now!
The title says that the dependencies are updated but OrdinaryDiffEq is still pinned to an old version. Is this what you intended?
https://github.com/ggebbie/TMItransient.jl/actions/runs/10286894472/job/28469504559#step:6:50

Please advise regarding items 2 and 3 (including OrdinaryDiffEq version) above. Thanks! It would be great to resolve this before we forget about it.

Regarding #26 (item2) I did not need to update DifferentialEquations to get my code working, so I think that ODE can stay pinned for now.
Regarding Item 3, I just added a comment in the CFC file specifying that we should have a Robin boundary condition in the future and the current script actually uses a Dirichlet boundary condition.
Once this most recent commit passes all the checks, I think it's ready to merge!


Zip file sql-developer-keepalive-master.zip does not contain a bundle manifest in META-INF/bundle.xml.

Zip file sql-developer-keepalive-master.zip does not contain a bundle manifest in META-INF/bundle.xml.

Please download the ZIP from the Releases page.


Request for Guidance on Using React-Knob-Headless with Limited Experience

First, thank you for creating this library. I’m excited about the potential to use react-knob-headless in my project. However, as someone with limited experience writing React components, I'm finding it challenging to get started. I’ve reviewed Issue #64 and tried to follow the suggestions, but I’m still facing difficulties.
Would it be possible for someone to provide a clearer example or additional guidance? I would greatly appreciate any tips on how to properly set up and customize the component.
I’d be happy to contribute by helping write a more detailed README or tutorial to support other users who might face similar issues. Please let me know how I can help!
Thank you for your time and for developing this useful tool.

You need a component wrapped inside  to act as the indicator. I managed to figure it out, but the docs definitely need to make it clear in the examples that KnobThumb is not part of the package.
Thank you @satelllte  for creating this component.


remove ctypes module; depend on the cty crate

@homunkulus r+

:hourglass: Testing commit 3af68a6 with merge 3af68a6...

:sunny: Test successful - status-travis
Approved by: japaric
Pushing 3af68a66938c48ed3834b255956a9ee582932170 to master...


Unable to watch video streaming apps like hotstar, jiocinema etc.

Please help me because I am Unable to watch video streaming apps like hotstar, jiocinema etc. using scrcpy in mac

If you get a black screen, these apps probably protect the screen.

it's not a bug, it's intentional, otherwise people could pirate the movie

Might work with v1.6 or v1.7?


level 14 Question is incomprehensible

The question says
Use grid-column and grid-row at the same time to set position in both dimensions.
There is no any hint of where to position the grid cell.
I tried to fill the entire grid area with the grid using:
grid-column: 1 / -1;
grid-row: 1 / -1
but it wasn't the correct answer.

Hey @Sanusihassan, this is what the garden should look like on level 14. You should fill the cell with the weed:


Error on installation using node 4.x

gyp: Call to 'pkg-config --cflags pHash' returned exit status 127. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:355:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/jan/Projects/nahody/spice/node_modules/phash-image
gyp ERR! node -v v4.1.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "i" "--save" "phash-image"
npm ERR! node v4.1.0
npm ERR! npm  v2.14.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the phash-image package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls phash-image
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:

Sorry din't see this is a fork. Post the issue on master.

This fork should work with Node v4.
The Call to 'pkg-config --cflags pHash' returned exit status 127 message suggests pHash is not installed on this machine, or at least the development headers are not available.
https://github.com/mgmtio/phash-image#installation

First, the work on your fork is great. Thanks for that.
No. The problem was that pkgconfig was not installed. It's not installed automatically with xcode and xcode command line tools.  It must be installed manually.
Your fork differ from origin in that way, that no variables like PKG_CONFIG_PATH and LD_LIBRARY_PATH need to be set. Only phash, imagemagick and pkgconfig, need to be installed.  To install libpng and libjpeg is also a good idea. (Using OSX 10.10.5 and XCode 7 using brew for 3thd party libs)
Hope this help others.

I suspect the phash.rb formula in homebrew might need depends_on "pkg-config" adding to it.

doesn't seem like an issue with this library. i'll take a PR for better installation docs, though


⚠ Secret Website 3 has degraded performance

In a99d831, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2389 ms

Resolved: Secret Website 3 performance has improved in 2be1ca2.


npm upgrade

Always run the latest version of npm
from here: https://github.com/nodesource/docker-node

from here: https://github.com/nodesource/docker-node

Have a proposed PR, running the build tests now.

Deciding against this. Will leave updating npm to the users of the image if they choose.


Better error messages for hybrid element migration

When migration a polymer element from 1.X to 2.X in hybrid mode there is not really any error messages fired, if something is missing. For example:

Take any element written in Polymer 1.X and upgrade the dependencies to 2.X (without changing the rest of the code)
If the 1.X element has been using Behaviors  or <content> there is just no error message anywhere

So if I try to load the element in the browser I just stare at a blank screen. Without any message. Polymer analyzer also does not give me any insight.
I would expect that at least viewing it in the browser would give me some kind of hint, what went wrong.

Have you try the polymer lint? Don't forget to add this:
"lint": {
    "rules": ["polymer-2"]
  }

There's still an open issue on polymer-linter to flush out the 2.0 Ruleset, which would include things like this.  This is our preferred strategy to deal with error reporting-- not in the client-side code, but rather vla the tooling.  As such, closing in lieu of https://github.com/Polymer/polymer-linter/issues/12.


!important

How can we use a transition to  ?
Could you bring the "animate.style" animation by default ? 😍

@leocastroz The animation references react-hot-toast. I'm not particularly sure if this is solved in #10

@leocastroz The animation references react-hot-toast. I'm not particularly sure if this is solved in #9


Visual Optimization of SukiSideMenu

Description
This PR will result in two changes:

Able to set whether the movement animation of SukiSideMenuItem content is enabled or not
SukiSideMenuItem content movement using non-linear animation

Current Animation:

First Change
I added a new property to SukiSideMenu: IsSelectedItemContentMovable (Default value = true)
This property implies whether or not the content of the Item triggers a movement animation when it is selected (Padding)
For each SukiSideMenuItem, the property is IsContentMovable
When IsSelectedItemContentMovable is false, the behavior is as follows:

Second Change
When IsSelectedItemContentMovable of SukiSideMenu is true, movement animation of Item is nonlinear (CubicEaseInOut)

Super nice 👍


Cannot perform operation. Too complex, sorry

I tried to use the plugin in android studio but get a Cannot perform operation. Too complex, sorry error.

Do you have graph-viz installed? Which OS you are using?

Yeah I do that installed on the Mac OS 10.13.5

Do you see a red error icon in the bottom right corner of the IDE when this error happens? If yes it will have some stack trace could you share that stack trace?
Is the dot file generated correctly? it's on build/stateArt/state folder.

@tinder-yisongwu Any updates? Can I close this issue?

Closing as I'm not able to reproduce.

in my case the issue was by default under windows graphviz installs under
C:\Program Files (x86)\Graphviz2.38
, while plugin search for
C:\Program Files (x86)\Graphviz 2.38
(note the space) when i added space in my pathfile then it worked. @tinder-yisongwu

I'm struggling with the same issue under linux and Android Studio 3.4.2.
Graphviz is installed in /usr/bin/dot and dot -V prints "graphviz version 2.38.0".
I would appreciate to see more telling error messages, as my state machine isn't really that complex...

I have the same issue.
Graphs for some state machines are displayed when clicking the icon and some of them result in Cannot perform operation. Too complex, sorry message.
graphviz installed with brew on Mac.
Can I provide any logs or something for you to debug the issue?

I believe I found the issue, it was due to code formatting.
The plugin expects transitionTo methods to be formatted in a single line.
this is ok 👍 for the plugin:
transitionTo(SomeEvent.WhatALongName, SomeSideEffect.WhatALongName)

this is very not ok 👎for the plugin:
transitionTo(
    SomeEvent.WhatALongName,
    SomeSideEffect.WhatALongName
)

Same error here on mac with graphviz installed.
I can create state art for all other state machines in the project except one.
I didn't apply multi-line code format to transition.
Now even I copy this state machine to a new class, or comment out with only one state left, still got the error.


about retraining imagenet on detNAS

Hi,
After searching the architecutre from detNAS, the algorithm retrain the architecture on the imagenet, but why not just finetune from the imagenet supernet?
I did not see the paper to disucss this.
any idea?

In my opinion, in the supernet stage, each subnet is trained randomly just to search for the best subnet better. But the supernet is not trained enough and not optimized well, you can see it from the loss and the evaluation result. So fine-tuning from the supernet is not better than retraining.

I have finetuned from AutoSlim weight, the weight is well optimized and the accuracy is comparable with retraining. B


dependencies: Handle .la lib files returned by pkgconfig in uninstalled setups

When building against software that is being built uninstalled,
pkg-config returns values from the -uninstalled.pc variant which
might contain .la files as --libs.
This patch opens the .la files to figure out where the actual shared
library are.
Some part of this is inspired by what is done in the
gobject-introspection giscanner/utils.py code

test this please

Can one of the admins verify this patch?

retest this please

Looks nice. Please add yourself to authors.txt and we'll get this merged.

Looks nice. Please add yourself to authors.txt and we'll get this merged.

Done.


Expiry of active filter/watchlist/watchmap

To relieve future stress on the Lasair system, we have decided to weed out old and unused filters/watchlists/watchmaps. They will not be deleted, but simply made inactive. We decided that users would be warned by email before the expiry date, and told they can just click "save" in the web interface to reset the expiry date.
Currently each model has date_created and date_modified that are identical, both have auto_now in the model (*), meaning updated whenever the object is saved. The date_modified appears nowhere in the code, only the date_created in the table of filters/watchlists/watchmaps. There is an additional vestigial field called timestamp that can be removed.

Suggestion 1: the date_created should have auto_now_add (date set on creation). The date_modified should have auto_now (date set on save) as it does now.

Suggestion 2: add a new field to these 3 models called date_expire. Every time it is saved, this field is set to ACTIVE_EXPIRE months in the future, where ACTIVE_EXPIRE is soft, i.e. in the settings.py.

Once these three fields are in place in the three models, and updating correctly, we can make the the cron code where emails are sent, and where things are made inactive.

Question 1: Shall we do this on lasair-ztf then backport to lasair-lsst? A good opportunity to make sure it works. Not so difficult to backport?

(*) https://docs.djangoproject.com/en/4.2/ref/models/fields/#datefield

I prefer option 2 because it allows for filters with non-default expiry. This might be useful for a filter relating to, for example, a GW event that is only relevant for a short time period, or, conversely, we might want to set some filters, e.g. public examples or those on which another service depends, to have a much longer expiry.
Regarding the question, I have no strong preference as to whether to include in lasair-ztf or not, nor, if so, whether to implement there first. However, if we do implent in lasair-ztf first then we are porting it to lasair-lsst; backporting would be going the other way.

ACTION for Roy

Change ACTION_EXPIRE to 180 (days) and change code accordingly
Put ACTION_EXPIRE in the settings template here
Make sure the actual expiration is working
Make the emails work
Add logging
Put the expiration date in the email as 2023-10-27
Make cron jobs for warning (every 7 days) and expiration (every day)
Add cron jobs to deploy here

How to get all the active filters:
SELECT mq_id, name, first_name, last_name, email, public, active  FROM myqueries,auth_user WHERE auth_user.id=user AND active>0;

Also attached is the current situation on lasair-ztf, where I have randomised the expiry times to spread out the effect. The first expirations for users will be the beginning of March, with warnings going out in February. HOWEVER three resources owned by Ken and Roy will expire at the beginning of December, so hopefully those emails will get through.

This one makes an active resource inactive, as well as sending an email, and making an entry in the Service Log. It runs every day at 1:05am. An example email is below.
Expiration at 01:05 every day
5 1 * * * (cd /home/ubuntu/lasair4/services; python3 check_expire.py --action=expiration --days=0 --log)
at 24/10/2023, 02:05
Dear Roy Williams, Your active Lasair watchmap has recently expired and thus become inactive, and there will be no further matching of incoming alerts. To make your watchmap active again for 180 days, go to https://lasair-dev.lsst.ac.uk/watchmaps/9/ then click "Settings", "Active" or "Streaming", then "Save". Questions to<EMAIL_ADDRESS>-- The Lasair Team
This one is to warn users that expiration is coming up within the next 28 days. The email is sent out every Sunday at 1:10am, so they should get 3 or 4 warnings. An example email is below.
Expiration warning at 01:10 on Sunday
10 1 * * 0 (cd /home/ubuntu/lasair4/services; python3 check_expire.py --action=warning   --days=7 --log)
at 22/10/2023, 02:10
Dear Roy Williams, Your active Lasair watchmap will become inactive on 2023-10-23 without action from you, and there will be no further real-time matching of incoming alerts. This is to relieve pressure on the real-time pipeline. To keep your watchmap active, go to https://lasair-dev.lsst.ac.uk/watchmaps/9/ then click "Settings", then "Save". Questions to<EMAIL_ADDRESS>-- The Lasair Team


fix (yaml): changed pull policy and upgrade strategy

Changed ImagePullPolicy to IfNotPresent. Earlier, during integration testing the old image from docker-hub was pulled which overwrite the newly built images. This resulted in integration tests being performed on the old image and also the old image was retagged and pushed. With the change, only the newly built image will be used.
The update strategy of Daemonset is now set to RollingUpdate, so that the new image will be applied without manual deletion.

Codecov Report

Merging #200 into master will decrease coverage by 0.45%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #200      +/-   ##
==========================================
- Coverage    51.1%   50.65%   -0.46%
==========================================
  Files          43       43
  Lines        1769     1769
==========================================
- Hits          904      896       -8
- Misses        800      806       +6
- Partials       65       67       +2

Impacted Files
Coverage Δ

cmd/probe/eventhandler.go
34.69% <0%> (-12.25%)
:arrow_down:

cmd/probe/udevprobe.go
63.24% <0%> (-1.71%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f972084...ce7aed5. Read the comment docs.


Code will not run in explorer or chrome

When attempting to run my code, it has no issues. When opening chrome to run the code I get the error code http://localhost:8080/... I am using chrome with no issues outside this command.

/needsMoreInfo

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


⚠ Jenkins Plugins Artifactory has degraded performance

In 7e97a5c, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1603 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 50d7d59 after 12 minutes.


Bug: Incorrect selection several lines from/to the beginning of the last one

Lexical has an incorrect selection if you end the selection at the beginning of the next line (or stat the backward selection from the beginning of the next line). It leads to incorrect formatting, some floating toolbar positioning and etc, e.g. on the playground. Take a look to the gifs belown:
Glitching selection:

Incorrect formatting and floating positioning:

Lexical version: playground
Steps To Reproduce

Place the cursor at the beginning of a line
Select some lines above
Change the block format

The first part seems like a playground issue, i.e. floating toolbar appearance conflicts with the selection.
The second part of this report was reported here https://github.com/facebook/lexical/issues/2648
I have a fix ready but wasn't able to get this done because of tests and lack of time https://github.com/facebook/lexical/pull/3362

Hey @Piliuta
Thanks for your answer!
I've tried the playground on your branch and, unfortunately, my issue hasn't been fixed

Can you confirm if this still an issue? I recently saw some fixes to the toolbar and floating bar that have likely fixed this


fix: nativescript build template interpolation

This disables the ES template literal interpolation ${ ... } that was
causing the tns js build to fail due to comments containing that pattern
and the corresponding interpolation param not being found.
Specifically this bit of commented out code in the ns-app.service file:
// this.log.info(`NSAppComponent translate.onLangChange(${args.lang})`);

I disabled it in all calls to the gulp template plugin for consistency, but I can revert it to just the steps that effect this specific issue if you'd prefer.
Related lodash issue: https://github.com/lodash/lodash/issues/399

Thank you 🙏

@NathanWalker I had a QQ that I forgot to include in this relating to core/utils/config.ts (I can open this in another issue if you'd prefer, just LMK).
In the config method you are catching JSON.parse errors and just returning {}. Downstream we throw there instead which led me to catching this, I was wondering if it'd be worth a MR into the seed or if there was a reason that I'm missing?
      try {
        return JSON.parse('<%= ENV_CONFIG %>');
      } catch (exp) {
        throw new Error(`Error loading env config: ` + exp);
      }


Numpy 2.0 and GUI

Hi, I'm using conda-forge and creating the conda environment as follows:
conda create -c conda-forge "python>=3.9,<3.11" -n aizynth-env

now install numpy 2.0 and the GUI fails to load. Specifying numpy < 2.0, such as below, seems to work okay for me, and the AiZynthFInder GUI works:
conda create -n aizynth-env -c conda-forge "python>=3.9,<3.11" "numpy<2.0" pip

I'm happy to do the PR for the readme if that is helpful.
Also, perhaps the development env should also change to add numpy < 2.0?
Thanks,
Vin

oops, the issue was that I had a typo in my python version (3.8), I tried again as per the current README with python>=3.9,<3.11, and all is working. I will close this. thanks.


issue526 nettools

Description
Resolves #526

refactoring the code, fixing bugs, adding missing error handlers
many functions reimplemented
ensure complete docstrings and proper code format
adding unit tests
adding compatibility for IPv6
ensure consistent behavior on both Mac OSX and Linux operating systems
new get_free_port function to help in getting granted free and available ports

Changes
https://github.com/threefoldtech/js-ng/pull/531/commits
Related Issues
Resolves #526
related to #427
Checklist

[x] Pre-commit hook is installed to do formatting checks before committing code...etc
[x] Tests included
[x] Build pass
[x] Documentation
[x] Code format and docstrings

Codecov Report

Merging #531 (d61e0f7) into development (7594998) will decrease coverage by 0.07%.
The diff coverage is 18.98%.

@@               Coverage Diff               @@
##           development     #531      +/-   ##
===============================================
- Coverage        70.44%   70.37%   -0.08%
===============================================
  Files               84       84
  Lines             3820     3814       -6
===============================================
- Hits              2691     2684       -7
- Misses            1129     1130       +1

Impacted Files
Coverage Δ

jumpscale/sals/nettools/__init__.py
21.77% <18.98%> (+0.56%)
:arrow_up:

jumpscale/servers/gedis/server.py
64.92% <0.00%> (-2.10%)
:arrow_down:

jumpscale/core/logging/logging.py
93.56% <0.00%> (-1.17%)
:arrow_down:

jumpscale/core/base/factory.py
91.89% <0.00%> (-0.55%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7594998...d61e0f7. Read the comment docs.

Codecov Report

Merging #531 (d61e0f7) into development (7594998) will decrease coverage by 0.07%.
The diff coverage is 18.98%.

@@               Coverage Diff               @@
##           development     #531      +/-   ##
===============================================
- Coverage        70.44%   70.37%   -0.08%
===============================================
  Files               84       84
  Lines             3820     3814       -6
===============================================
- Hits              2691     2684       -7
- Misses            1129     1130       +1

Impacted Files
Coverage Δ

jumpscale/sals/nettools/__init__.py
21.77% <18.98%> (+0.56%)
:arrow_up:

jumpscale/servers/gedis/server.py
64.92% <0.00%> (-2.10%)
:arrow_down:

jumpscale/core/logging/logging.py
93.56% <0.00%> (-1.17%)
:arrow_down:

jumpscale/core/base/factory.py
91.89% <0.00%> (-0.55%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7594998...d61e0f7. Read the comment docs.

the only thing nettools.ping_machine tests is whether or not a device is configured to respond to pings, as any well-behaved device on an Ethernet LAN is free to ignore nearly any traffic, so PINGs, port scans, and the like are all unreliable.
if the main purpose of this function to check devices on the local network only, so maybe ARP requests are a better approach since a device cannot ignore them.
@xmonader

the only thing nettools.ping_machine tests is whether or not a device is configured to respond to pings, as any well-behaved device on an Ethernet LAN is free to ignore nearly any traffic, so PINGs, port scans, and the like are all unreliable.
if the main purpose of this function to check devices on the local network only, so maybe ARP requests are a better approach since a device cannot ignore them.
@xmonader

thought tests succeed locally, it failed for nettools.ping_machine on GitHub-hosted runner server because Inbound ICMP packets are blocked.
from GitHub documentation:

GitHub hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the GitHub Actions runner application installed. The GitHub-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work.

thought tests succeed locally, it failed for nettools.ping_machine on GitHub-hosted runner server because Inbound ICMP packets are blocked.
from GitHub documentation:

GitHub hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the GitHub Actions runner application installed. The GitHub-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work.

I didn't touch both get_nic_type or netrange_get because not sure of the function's requirements and its use cases.
but for the rest of the module, I think it's ready for review.

I didn't touch both get_nic_type or netrange_get because not sure of the function's requirements and its use cases.
but for the rest of the module, I think it's ready for review.

I only checked the test file

Please check the steps of the tests on the docstring some starts with lower case and the other starts with upper case, let's make them all start with upper case
Please generate the docs for the tests, see https://github.com/threefoldtech/js-ng/blob/development/docs/wiki/testing_contribution.md#generate-tests-docs
I don't prefer to use parameterize decorator when it used for only one case like test09
It's better to use logs instead of printing on tests

thanks for the feedback. I have done with the first two

[X] Please check the steps of the tests on the docstring some starts with lower case and the other starts with upper case, let's make them all start with upper case

[X] Please generate the docs for the tests, see https://github.com/threefoldtech/js-ng/blob/development/docs/wiki/testing_contribution.md#generate-tests-docs

for using the parameterize decorator on test09, I thought it would be handy here, simplifying the process of adding extra test cases later, if needed.
for logs, I'll do. should I use j.logger or something else?

I only checked the test file

Please check the steps of the tests on the docstring some starts with lower case and the other starts with upper case, let's make them all start with upper case
Please generate the docs for the tests, see https://github.com/threefoldtech/js-ng/blob/development/docs/wiki/testing_contribution.md#generate-tests-docs
I don't prefer to use parameterize decorator when it used for only one case like test09
It's better to use logs instead of printing on tests

thanks for the feedback. I have done with the first two

[X] Please check the steps of the tests on the docstring some starts with lower case and the other starts with upper case, let's make them all start with upper case

[X] Please generate the docs for the tests, see https://github.com/threefoldtech/js-ng/blob/development/docs/wiki/testing_contribution.md#generate-tests-docs

for using the parameterize decorator on test09, I thought it would be handy here, simplifying the process of adding extra test cases later, if needed.
for logs, I'll do. should I use j.logger or something else?

IMHO, we should do less logging in general (e.g. exceptions only)

could we leave it for now? it will be useful in this stage in debugging any connection issues, later we can make it less and benefit from the performance gain.
what do you think?


rpmtsCloseDB does not let the file descriptor used for the db closed.

This may not be the crystal-rpm's issue, but as recorded.

This was caused because we did not delete iterators allocated.
Please call MatchIterator#finalize to close.


function request

please add an option to the program to display the device screen inside a window or inside the browser (only the screen) (i want to stream the screen and i dont find any way) so if possible please add such a feature

Hi, I understand your request.
I think this is an interesting feature that we should consider adding.
However, it may not be easy to implement, so I will add it to the roadmap, then start doing this as soon as possible


MNT rename function for consistency

address https://github.com/paris-saclay-cds/ramp-board/pull/320#pullrequestreview-333045787

Hello @glemaitre! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file ramp-database/ramp_database/tools/tests/test_frontend.py:

Line 100:80: E501 line too long (81 > 79 characters)


Apache Airflow 2.2.2 support

Adds apache-airflow==2.2.2 support (replaces https://github.com/aws/aws-mwaa-local-runner/pull/86)
Description of changes:

Version bump to 2.2.2
Dependencies updates in accordance with constraints
bootstrap.sh updated to use the same versions

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@subashcanapathy I would be thankful for any feedback on this PR.

2.2 is already supported https://github.com/aws/aws-mwaa-local-runner/tree/v2.2.2


Introduction to plain language: remove May 23 course

The page lists all offerings of the course through the end of June. This issue is to remove the May 23 course once it has taken place.

Course removed from page.


Provide Schema Loaders for supporting different Formats

The Schema is currently created via PHP but maybe like in doctrine it make sense to create a Schema via other Formats like XML, YAML, JSON?
Current PHP Schema:
<?php

use Schranz\Search\SEAL\Schema\Field;
use Schranz\Search\SEAL\Schema\Index;
use Schranz\Search\SEAL\Schema\Schema;

return new Schema([
    'news' => new Index('news', [
        'id' => new Field\IdentifierField('id'),
        'title' => new Field\TextField('title'),
        'header' => new Field\TypedField('header', 'type', [
            'image' => [
                'media' => new Field\IntegerField('media'),
            ],
            'video' => [
                'media' => new Field\TextField('media'),
            ],
        ]),
        'article' => new Field\TextField('article'),
        'blocks' => new Field\TypedField('blocks', 'type', [
            'text' => [
                'title' => new Field\TextField('title'),
                'description' => new Field\TextField('description'),
                'media' => new Field\IntegerField('media', multiple: true),
            ],
            'embed' => [
                'title' => new Field\TextField('title'),
                'media' => new Field\TextField('media'),
            ],
        ], multiple: true),
        'footer' => new Field\ObjectField('footer', [
            'title' => new Field\TextField('title'),
        ]),
        'created' => new Field\DateTimeField('created'),
        'commentsCount' => new Field\IntegerField('commentsCount'),
        'rating' => new Field\FloatField('rating'),
        'comments' => new Field\ObjectField('comments', [
            'email' => new Field\TextField('email'),
            'text' => new Field\TextField('title'),
        ], multiple: true),
        'tags' => new Field\TextField('tags', multiple: true),
        'categoryIds' => new Field\IntegerField('categoryIds', multiple: true),
   ]),
]);

Which other formats should be supported:

[ ] YAML?
[ ] JSON?
[ ] XML?

Is the Core responsible for this formats or should the Core not care about additional Formats and Example the Symfony Bundle could us Symfony configuration tree instead, which out of the box supports Yaml, Xml, PHP Array, PHP Builder configuration.
But that would mean the definition would be framework specific, so own Schema Loaders which are not Framework specific maybe would make sense.
Maybe also other formats as the current PHP representation are not required?
In doctrine DBAL is also not responsible for this formats the ORM provide something so maybe the SEAL CORE should also not handle different formats or Schema Loaders, and maybe a future ODM would handle that, but that is another Ticket #81.
What also should be keep in mind does providing different formats improve a better developer experience or even hurt it as some answers to stackoverflow, github discussions, ... are written in just one format and not in another.

This is what a JSON Schema would look like:
{
    "name": "news",
    "fields": {
         "id": {
              "type": "id"
         },
         "title": {
              "type": "text"
         },
         "header": {
              "type": "typed",
              "typeField": "type",
              "types": {
                   "image": {
                        "media": {
                            "type": "integer"
                        }
                   },
                   "video": {
                        "media": {
                            "type": "string"
                        }
                   },
              }
         },
         "article": {
              "type": "text"
         },
         "blocks": {
              "type": "typed",
              "typeField": "type",
              "types": {
                   "text": {
                        "title": {
                            "type": "text"
                        },
                        "description": {
                            "type": "text"
                        },
                        "media": {
                            "type": "integer",
                            "multiple": true
                        }
                   },
                   "embed": {
                        "title": {
                            "type": "text"
                        }
                        "embed": {
                            "type": "text",
                            "searchable": false
                        }
                   }
              }
         },
         "footer": {
              "type": "object",
              "fields": {
                   "title": {
                        "type": "text"
                   }
              }
         },
         "created": {
              "type": "date"
         },
         "rating": {
              "type": "integer"
         },
         "commentsCount": {
              "type": "integer"
         },
         "comments": {
              "type": "object",
              "fields": {
                   "email": {
                        "type": "text",
                        "searchable": false
                   },
                   "description": {
                        "type": "text"
                   },
              }
         },
         "tags": {
              "type": "text",
              "multiple": true
         },
         "categoryIds": {
              "type": "integer",
              "multiple": true
         },
    }
}

This is what a XML Format would look like:
<index name="news">
     <id name="id" />
     <text name="title" />
     <typed name="header" type-field="type">
         <type name="image">
              <integer name="media" />
         </type>
         <type name="video">
              <text name="media" />
         </type>
     </typed>
     <text name="article" />
     <typed name="blocks" type-field="type">
         <type name="image">
              <text name="title" />
              <text name="description" />
              <integer name="media" multiple="true" />
         </type>
         <type name="embed">
              <text name="title" />
              <text name="media" searchable="false" />
         </type>
     </typed>
     <object name="footer">
          <text name="title" />
     </object>
     <integer name="commentsCount" />
     <integer name="rating" />
     <object name="comments" multiple="true">
          <text name="email" searchable="false" />
          <text name="text" />
     </object>
     <text name="tags" multiple="true" />
     <integer name="categoryIds" multiple="true" />
</index>

The PHP classes could also in future be used as attributes for the ODM #81 implementation:
<?php

use Schranz\Search\SEAL\Schema\Field;
use Schranz\Search\SEAL\Schema\Index;

#[Index(name: 'page')]
class Page {
    #[Field\IdentifierField('id')]
    private string $id;

    #[Field\TextField('title')]
    private string $title;

    #[Field\TypedField('header', 'type', [
        'image' => [
            'media' => new Field\IntegerField('media'),
        ],
        'video' => [
            'media' => new Field\TextField('media', searchable: false),
        ],
    ])]
    private array $title;

    // ...
}


postgres: initial implementation

Codecov Report

Merging #4 (1eeaf0d) into main (fd837d4) will decrease coverage by 4.94%.
The diff coverage is 70.45%.

@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
- Coverage   85.71%   80.76%   -4.95%
==========================================
  Files           3        4       +1
  Lines         189      208      +19
==========================================
+ Hits          162      168       +6
- Misses         15       28      +13
  Partials       12       12


error not set on get?

in node console
$ var memjs = require('memjs')
$ var client = memjs.Client.create()
$ client.get('hello', function(err, val) { console.log("err:"+err+" - val:"+val); })
$ err:null - world
$ client.get('nohello', function(err, val) { console.log("err:"+err+"- val:"+val); })
$ err:null - null
Assuming that 'hello' was set to 'world'
First call works as advertized
Second call should fail.  It returns no data and err is not set.
??
Would be nicer to return "key not found" error.
There is a big difference with a key not found and a key set to null.
Thanks,
Pat

hrm... there is no way to get a null for an existing key, only an empty string. In the memcache protocol, it is possible to set a key to the empty string (""), but not to null.
Some libraries, like Dalli for Ruby, actually serialize all values, so Ruby's nil get's serialized to the bytestring "\x04\b0". So the actual value from the perspective of memcache is non-null. MemJs is, by design, as close to the protocol as possible---you can put whatever layer on top you want.
None-the-less, I'm not sure there's any harm in also setting the err to "key not found", so I'm happy to take a pull request.


Add tab with configuring container networks

These PR add 2 features:

Saving network settings when container updates.
Configuring container network on separate tab in container settings.

Fixes #1249
Signed-off-by: Vyacheslav Salakhutdinov<EMAIL_ADDRESS>

I added listener and ability to create container with selected network, please review.


using portable teleporter breaks players inventory

when using the portable teleporters both regular and advance once you are back at the ship all items in your inventory are there but not usable as in the game seems to think the inventory slots are empty, the items icon are overwritten when you pick up something new, when reloading the game all items then reappear when you logged out of both the old items from when you were teleported and the new items you picked up that overwritten your inventory

If you can provide logs of when this happened and the configuration of this mod, I would appreciate it.

i did some more testing and this seems to be a incompatibility bug. with just Late-Game installed everything works fine i then install another core mod to from our pack which is Advance Company after do that the bug i mention then occurs, im guessing with the updates to both mods broke something with them working together like they used to. I'll add the log from that test.
log error teleporter bug.txt

I believe the creator implemented a fix for this I am unsure if it is live or not though.


Implement time math for lazy time literals

When attempting to reduce the WHERE clause, the time literals had not
been converted from string literals yet. This adds the functionality to
have it handle the same time math when the time literal is still a
string literal.
Fixes #7270.

👍


Support for gke workload identity in the helm chart?

I need to give cert manager access to my dns provider
I run GKE and google dns is my provider
What this means is I can give the cert manager deployment access to my google DNS zone with workload identity: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
Is it possible to configure this with the official helm chart? Could this feature be added to the chart somehow if its not possible right now?
Im sure AWS has something similar to workload ID and azure too- basically the ability to bind a cloud provider service account to the k8s deployment without having to use static keys.

Hi @red8888 ,
You should be able to use workload identity instead of the default service account- there's a section in our docs about that.


setOnLoadMoreListener

i use it like this,but it doen't work
 rv_mycre.setOnLoadMoreListener(new UltimateRecyclerView.OnLoadMoreListener() {
        @Override
        public void loadMore(int i, int i2) {
           // fg_recommend_presenter.getRcdPost(lasId);
        }
    });

I want know how to use it

it dont show progress bar

You should also use ultimateRecyclerView.enableLoadmore(); before setOnLoadMoreListener.

it is work   ultimateRecyclerView.enableLoadmore();
but it don't show progressbar.I want know how to add progressbar

You can use setCustomLoadMoreView to use your custom loading more view.

Good，all the things is OK, Come on.

#276 this should be done for the load more issue. @gushoubang


copy to clipboard

the 2 additional features 'share static version' and 'show student id' essentially work
except for the copy-to-clipboard part, which appears to be forbidden by some permissions policy
could not copyToClipboard DOMException: The Clipboard API has been blocked because of a permissions policy applied to the current document. See https://goo.gl/EuHzyv for more details.

the funny thing is, the same technique is used with the former custom.js-based approach in notebook classic...

an attempt to add
allow="clipboard-write"
to the main nbhosting iframe here
https://github.com/parmentelat/nbhosting/commit/281f8fd477196b14c8f92d0d3e40d81e30b51783
did not solve it
solving this properly seems to involve updating the FUN x-block
so I give up


📝♿ Progress a11y

resolves #2020
I added an invisible output element to linear and circular determinate progress so screenreaders should read out new values if it is inside a container with aria-live (I could not get it to read out aria-valuenow, I think maybe the element needs to be made focusable and be in focus for that to work). The output value is limited to 25/50/75/100% to limit readouts (its possible setting aria-live to assertive instead of polite also helps with this, its hard to tell with this behaving different in different browsers)
The other issues about aria-describedby/aria-label is already supported by ...rest going to the element with role="progressbar" so I added stories to storybook showing this

When testing the accessibility story for linear and circular the voice over is stuck on "loading 0%" 🤔

Well first of all I am going to rebase on develop, stand by

Hmm it looks like the mac voiceover reads out a bunch of stuff that is not read on windows. It is not supposed to read loading percentages for indeterminate loader. I need to investigate more on mac. The determinate loader demos on circular and linear works as it is supposed

Fixed mac issue by not including output element for indeterminate

VoiceOver on Mac does not seem to read out loading states for linear and star accessibility stories... 🤔

It was due to aria-busy. I removed it and made aria-live assertive as well so the loading readout interrupts the long winded readout of the button context


difference between methods

Hi
Thank you for your implementation. You have three different model in your encoders, soft-assign, base-set2set, and base. Whats the difference between these?

Hi the soft-assign is the pooling method, base is the baseline, and set2set is the baseline with the set aggregation pooling for all node embeddings. The set2set method refers to "Order Matters: Sequence to sequence for sets"

Hi the soft-assign is the pooling method, base is the baseline, and set2set is the baseline with the set aggregation pooling for all node embeddings. The set2set method refers to "Order Matters: Sequence to sequence for sets"

Hi, I have a question of your implementation of Set2Set, which is come from the PyG issue.
I am curious about the first computation step of the loop.
hidden = (torch.zeros(self.num_layers, batch_size, self.lstm_output_dim).cuda(),
	                  torch.zeros(self.num_layers, batch_size, self.lstm_output_dim).cuda())

q_star = torch.zeros(batch_size, 1, self.hidden_dim).cuda()
for i in range(n):
    # q: batch_size x 1 x input_dim
    q, hidden = self.lstm(q_star, hidden)

The input of the LSTM unit is q_star and hidden, which are initialized as 0 vectors. I am not sure if I am wrong that, the updated q and hidden in the first loop are only related to the initialized biases of the LSTM unit.


Review  contents

Make sure best practices are followed.
Look at things like

general meta tags
open graph
twitter cards
app icons and colors

Things to add:

meta description
meta keywords
meta theme color
og:image/og:image:alt #141
twitter:site
twitter:dnt
link license

Closing, resolved over multiply small commits.


gpg-tui does not recognise '~" as alias for the user's home directory

Hello Orhun,
you were so kind to the feature of exporting the secret subkeys, thank you.
Trying this feature, I discovered what I deem to be a bug:
When I set a specfific homedir or outdir using something like
gpg-tui --outdir=~/anydir
I would expect gpg-tui to write the exported keys to
/home/myusername/anydir
however, it actually writes the files to
/home/myusername/~/anydir
It seems the commonly used alias '~' for /home/myusername is not "translated" as other programs do.
Regards,

Good catch! I'll push a minor release fixing this issue soon. Thanks for reporting this!


Replace Deprectated Repository with HfApi

I got various errors uploading my models to huggingface_hub (didn't include this as a bug report as even the proposed commit that should have fixed my issue worked in my particular context), all related to the Repository object. This class seems to be deprecated.
The use of the use of Repository should be replaced by using the HfApi object (https://huggingface.co/docs/huggingface_hub/concepts/git_vs_http).
As mentioned before, there should have been a fix in the huggingface_hub repository (this fix is no t yet published to pipy: https://github.com/huggingface/huggingface_hub/pull/2320.
Already fixed it, PR is on the way 😄!

Oops, wrong repo...


set python to 3.7 in docker container and release action

An attempt to fix a release build issue due to cbmc-viewer depending on voluptuous which now depends on python 3.7 for type annotations.
This adds a ppa in the dockerfile and github release action for ubuntu 18.04 and installs python 3.7.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

Is there a way to also upgrade the "workaround" for Ubuntu 18.04.
https://github.com/model-checking/kani/blob/d1a038fcf29b6f5caa92f7cf8cb4b40edd811733/src/os_hacks.rs#L53

We also need to update our dependencies list in the Installation guidelines.
https://github.com/model-checking/kani/blob/d1a038fcf29b6f5caa92f7cf8cb4b40edd811733/docs/src/install-guide.md?plain=1#L17

Is there a way to also upgrade the "workaround" for Ubuntu 18.04.

I am not modifying the OS hacks 18.04 because they are meant to be applied only when the default pip 9.x and python 3.6.x versions are detected on the host. Since we now require python 3.7 they should not have to be applied anymore.

Why not remove the hacks then?
we would need to add a python version check too

Why not remove the hacks then?
we would need to add a python version check too

As discussed offline, I am adding a check for the python version directly, and removing the hacks. @remi-delmas-3000 can you confirm if this is the right plan?

The Python version checks will abort the installation if the minimum version isn't met. But the setup code isn't expected to do this, what it should do in any case is attempt to solve these problems for you.

I did attempt to solve the problem, but even upgrading to 3.7 is a tough job to accomplish through rust's interface since even python 3.7's reached end-of-life support ☹. Should we skip 3.7 and directly upgrade the user's python to 3.8?

I assumed the answer to be no, since anyone using python 3.6 or older is likely doing it for very specific reasons, and just informing them seemed like a good idea.

I agree that we shouldn't upgrade python in that case. But here you're not "just informing" the users, you're failing the installation...
Again, why not just remove the hacks? You can leave improvements for later.


Testing Only - ECMPS Workspace: Update Export Functionality

Workspace: Make the following updates to the Export functionality:

Remove the need to Preview data for QA & Certification Data
Notes: Currently, when a user select QA & Certification data for Export, we don't provide the ability to directly export it. Users have to click Preview to see what data is available for Export, make selections and the Export button becomes available. We want to update it so that when a user selects QA & Certification checkbox and makes a selection for the Year and Quarter, we load data available for Export.

Updating the Year and Quarter selection shall refresh the data being displayed for Qa & Certification
The Export button becomes Active once a user makes a selection for MP, QA and/or Emissions
When a user checks multiple modules for export and no QA & Certifications data is selected from the data loaded, then we should not generate a QA file

Add an 'Export' button at the top of the screen (Currently we have the button only at the bottom and users need to scroll when there is a lot of data available for selection)

All the updates are done as per the requirements. Need to add the Export Button at the bottom of the screen back. This doesn't impact functionality but makes the app user-friendly when there is too much data introducing scroll


⚠ Turnos 24x7 has degraded performance

In 6765812, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 953 ms

Resolved: Turnos 24x7 performance has improved in 3e63c56.


feat(pixels): add my new pixel (27, 37)-try2

This is second try of my contribution initial contribution failed code review done by bot.

Checklist

[ ] I ran npm test locally and it passed without errors.

[ ] I only edited the _data/pixels.json file.

[ ] I entered the username in the pixels.json that I'm also using to create this pull request.
[ ] I acknowledge that all my contributions will be made under the project's license.

@dkundel , Initially when I contributed I had some white space in the json file so code review was marked as failed by megify bot. Then I tried the second time and compared the changes, I can see everything is fine. I don't understand Why the code review is failed ? I think the the bot is not working properly, So Kindly accept the contribution manually.

Hi @shaijut! Sorry for that. It sometimes fails when your fork is not up-to-date which can happen because this PR gets a lot of PRs merged in. I resolved the current merge conflict. Unfortunately someone had claimed your pixel already so I moved you to 29,37 instead. I hope that's okay :)


Bridgewaters branch

Making revisions based on ticket request - MP1-G9H-9Z2Y.
Color -
-The colors have been revised per recommendations

Gradient header will be changed when the Navbar is rebuilt ( going to a more modern with hamburger phone view)
-Backgrounds removed from several icons to remove color ways as well.

Typography -
-Font changed
-Removed !'s and all caps titles
-Reduced 'wide' screen views or changed them to split, both max out at 800px
-PENDING VOTE - Large first letter for new section of text
Imagery -

WORK IN PROGRESS

Elements -
-Button sizing larger
-Navbar will be rebuilt soon - PENDING -
-Text sizing reduced across the board, and made larger for 1600px+ views
-Bee GIF removed :'(
-Hexes resized for less screen size consumption

Add tool tips to honeycomb - PENDING - (might be a post launch update)
-On hovers reduced to just links and buttons
-Spacing increased and balanced

Still some work to do, but large improvements so far. Look much cleaner

Brought the bee back, opened up the honey comb cells.
a little bit of content/wording alterations


Way of setting Telnet port

Hi there, and thanx for this nice addition. Worx like a charm.
For reasons of obfuscating, I want to set the Telnet port to something other than 23. I designed a solution for this, see included files. I also changed the word 'setted' into 'set' in several places, hope you don't mind.
Keep up the good work!
PjotrekSE
RemoteDebug.cpp.txt
RemoteDebug.h.txt

Hi, thanks for your suggestion,
I will do this soon
Regards,
Joao

I apreciate your suggestion, but is more simple, modify the port in RemoteDebug.h
I change the "setted"s, it will in next version
Thanks a lot

In the next version, I can modify for project:
#define TELNET_PORT 1000
#include "RemoteDebug.h"
Regards


Error while updating the property 'Source' of FastImage

We are see an error while using the below URL
https://images.hellosivi.com/eyJidWNrZXQiOiJtZWRpYS5oZWxsb3NpdmkuY29tIiwia2V5IjoiaW5zcGlyYXRpb25zLzcxZGFjOWYwLWRjMjctMTFlOS05OTkyLTMzMTcxM2VjMjIwNS5qcGciLCJlZGl0cyI6e319
Would it be possible because of the length of the URL or does it need an explicit extension?
Dependency versions

React Native version: "0.59.8"
React version: "16.8.6"
React Native Fast Image version: "^6.0.1"

We had another place passing a wrong URL value. So the above is not a bug, it is our mistake in interpretation. Closing the issue.


Document how to use CTL runtime for library users

We have a section in doc/development.md, but nothing in getting-started.md points to it. We need to make it apparent that not only CTL developers need to start the runtime, but also library users.

it points already https://github.com/Plutonomicon/cardano-transaction-lib/blob/develop/doc/getting-started.md#other-prerequisites

Thanks @zmrocze


Seldom 403 error - Request had insufficient authentication scopes. MyBusiness

Environment details

OS: Ubuntu 16.04.2 LTS
PHP version: 7.0.22
Package name and version: google/apiclient v2.4.0

Steps to reproduce

GET https://mybusiness.googleapis.com/v4/accounts

Code example

const DEFAULT_SCOPES = array(
		'https://www.googleapis.com/auth/userinfo.email',
		'https://www.googleapis.com/auth/userinfo.profile',
		'https://www.googleapis.com/auth/plus.business.manage'
);

// how $this->client is created
private function setGoogleClient( $clientSecret ) {
		$client = new Google_Client();
		$client->setAuthConfig($clientSecret);
		$client->setAccessType("offline");        // offline access
		$client->setIncludeGrantedScopes(true);   // incremental auth
		$client->addScope( $this->scopes );
		$appHostname = getenv('APP_HOSTNAME') ? getenv('HOSTNAME') : self::DEFAULT_APP_HOSTNAME;
		$client->setRedirectUri('https://' . $appHostname . self::GMB_CODE_REDIRECT_PATH);
		$client->setApprovalPrompt('force');

		return $client;
	}

// account request
$accountsResponse = $this->httpClient->request(
    'GET',
    self::GMB_HOST . self::GMB_API_VERSION . self::GMB_ACCOUNTS_RESOURCE,
        [
            'headers' => ['Authorization' => 'Bearer ' . $gmbAuth->accessToken ]
        ]
);

//fetching, so initial fetching is based on the redirect, that provides the code, is the simple call to
$this->googleClient->fetchAccessTokenWithAuthCode($authCode);
$accessToken = $this->googleClient->getAccessToken();

//refreshing the token looks at the age of it and then auto refresh it before making a request.
// If already expired this is called
$accessToken = $this->googleClient->fetchAccessTokenWithRefreshToken(
			$gmbAuth->refreshToken
		);

/**
the call to accounts resource is only made if the token refresh is successful,
else the whole Auth object (access token including code, refresh code, when created, TTL etc)
is disabled and the user is only able to see cached locations,
as ultimately the scope is to get the locations for all accounts.
Not sure where the problem is coming from but as I see it, the access tokens are definitely valid when making the request and the scopes are fixed.
**/

The above is an extract of the code that does not permanently fail. The exception is
Client error: `GET https://mybusiness.googleapis.com/v4/accounts` resulted in a `403 Forbidden` response:
{
  "error": {
    "code": 403,
    "message": "Request had insufficient authentication scopes.",
    "status": "PERMISS (truncated...)

But the scopes are always a fixes set as shown above and plus.business.manage is always included in the calls. As mentioned above this is not a permanent error and given the scopes do not change I have no idea where the problem is coming from. Any suggestion on what might be going wrong?

Hi there! What does your code look like for fetching the access token?

@bshaffer I have added snippets of code on

how the client is instatiated
how the first access token/object  is fetched from the code provided by the redirect
how the whole access token is refreshed and a description of the logic that ensures this token is indeed valid

In my own code I'm getting Service 'mybusiness.googleapis.com' not found or permission denied.. Have you been granted special access to this API?

@bshaffer yes this is a private api

Why was this closed?

I cannot tell from the documntation which scopes are required for this API call, but would try a broader scope. unfortunately since this API is not yet public, I cannot advise what the best scope is.

Here is the documentation showing what scopes are required


Use bosh vendoring packages to replace the packages added in harbor bosh release

Harbor bosh release now contains golang/docker/docker-compose binary packages. Should consider replace them with BOSH vendoring packages

BOSH vendoring packages:

2.1) Instruction at bosh.io: https://bosh.io/docs/package-vendoring.html
2.2) All packages that can be vendored: https://github.com/bosh-packages
2.3) Example of using vendored golang to compile a source code: https://gitlab.eng.vmware.com/PKS/pks-nsx-t-release/tree/master/packages/pks-nsx-t-osb-proxy

Examples of using vendored gems (for cf-uaac), 2 different approaches:

3.1) Using the ruby vendor package and storing vendored gems at the github repo: https://github.com/cloudfoundry-incubator/bosh-aws-cpi-release/tree/master/packages/bosh_aws_cpi
3.2) Using its own ruby package and using a pre_packaging script to vendor gems: https://gitlab.eng.vmware.com/PKS/pks-vrli-release/tree/master/packages/fluentd
3.3) Similar to the above, but packaging uaac: https://github.com/cloudfoundry-community/admin-ui-boshrelease/tree/master/packages/uaac

The bosh vendor packages do not support docker and docker-compose. So this task can only replace golang used in harbor bosh release with bosh vendor package. Will move this out of PKS 1.1 scope.


jsonwebtoken vulnerability detected because of ibm-cloud-sdk-core old version

Describe the bug
npm detects the jsonwebtoken vulnerability fixed with the versions >=9.0.0. The vulnerability comes with ibm-cloud-sdk-core, which fixed it in 4.0.2.
The cloudant module should be udpated to use the latest ibm-cloud-sdk-core version.

Hi @mkrudele! Thank you for your report! We are working on it and presumably will update the master branch with the latest core version tomorrow. We release a new version around the end of every month, but considering this issue the release may occur earlier, this is what our team needs to discuss.

@mkrudele the latest (https://github.com/IBM/cloudant-node-sdk/releases/tag/v0.4.0) release has the 4.0.2 core version. I'm closing this issue.


adding paper section on full model set up and t test results

Chuan have already fixed, so I close the pull request


upload progress bar

Is there a way to get a progress bar or adding tqdm when uploading a video?

If anyone else has this problem:
from tqdm import tqdm

def upload_update_tqdm(pbar = tqdm(desc = "Dailymotion Video Upload", unit = 'B', unit_scale = True, unit_divisor = 1024, leave = True, ascii = True)):
    def upload_progress(current, total):
        pbar.total = total
        pbar.update(current - pbar.n)

    return upload_progress

#and call it like this:
url = d.upload(path_to_file, progress = upload_update_tqdm(), workers = 1) #workers has to be > 0