AbstractFormatter does not insert new lines before comments

Using the Domainmodel example language.
The formatter has been modified to output two newlines after each entity.
The formatter works as expected until you insert a comment between two entities.
After that, it no longer inserts a blank line between them.
Langium version: v1.1.0
Steps To Reproduce

Checkout the commit linked below
Go to VS Code Debug view -> Select launch config "Run Domainmodel extension"
Press F5
Open file blog.dmodel
Execute VS Code command "Format Document"

Link to code example:
https://github.com/ben5311/langium/commit/39e03cd48e9d4e4b5f274c0374ef7581cfe53e49
The current behavior
File blog.dmodel before "Format Document".
entity Blog {
    title: String
    date: complex.Date
    many posts: Post
}
entity HasAuthor {
    author: String
}
// Because of this comment, the formatter does not insert a new line between entities [HasAuthor] and [Post]
entity Post extends HasAuthor {
    title: String
    content: String
    many comments: Comment
}

entity Comment extends HasAuthor {
    content: String
}

File blog.dmodel after "Format Document".
entity Blog {
    title: String
    date: complex.Date
    many posts: Post
}

entity HasAuthor {
    author: String
}
// Because of this comment, the formatter does not insert a new line between entities [HasAuthor] and [Post]
entity Post extends HasAuthor {
    title: String
    content: String
    many comments: Comment
}

entity Comment extends HasAuthor {
    content: String
}

The expected behavior
File blog.dmodel after "Format Document".
entity Blog {
    title: String
    date: complex.Date
    many posts: Post
}

entity HasAuthor {
    author: String
}

// Because of this comment, the formatter does not insert a new line between entities [HasAuthor] and [Post]
entity Post extends HasAuthor {
    title: String
    content: String
    many comments: Comment
}

entity Comment extends HasAuthor {
    content: String
}

I'd argue the AbstractFormatter is working as intended here, mostly because it's very much unclear on how comments should be dealt with on a general language level. It's designed to be fairly conservative about comments and what to do with them. As an example, how do we format the following code?
entity First {
    ...
} // The `First` entity ends on this line
entity Second {
    ...
}

Since the comment at the end of First obviously relates to its preceeding element, it doesn't make sense to move it away, which might make the comment associate more closely to the Second element:
entity First {
    ...
}

// The `First` entity ends on this line
entity Second {
    ...
}

While some styling guide might still prefer such formatting, we don't want to enforce it as the default for all Langium based projects. The AbstractFormatter#createHiddenTextEdits method is in charge of creating text edits for formatting actions involving hidden CST nodes such as comments. If you're unhappy with the default behavior, you can override the method in your custom formatter service.

I'd argue the AbstractFormatter is working as intended here, mostly because it's very much unclear on how comments should be dealt with on a general language level.

I see, that makes sense.
Based up on your hint I was able to "adapt" the formatter so it fits my use case.
In case someone wants to do similar things, here is the code:
import {
	AbstractFormatter,
	AstNode,
	CstNode,
	Formatting,
	FormattingAction,
	FormattingContext,
	isRootCstNode,
} from 'langium';
import { TextEdit } from 'vscode-languageserver';

import * as ast from './generated/ast';

export class DomainModelFormatter extends AbstractFormatter {

    protected format(node: AstNode): void {
        if (ast.isPackageDeclaration(node)) {
            const formatter = this.getNodeFormatter(node);
            const bracesOpen = formatter.keyword('{');
            const bracesClose = formatter.keyword('}');
            formatter.interior(bracesOpen, bracesClose).prepend(Formatting.indent());
            bracesClose.prepend(Formatting.newLine());
        } else if (ast.isEntity(node)) {
            const formatter = this.getNodeFormatter(node);
            const bracesOpen = formatter.keyword('{');
            const bracesClose = formatter.keyword('}');
            formatter.interior(bracesOpen, bracesClose).prepend(Formatting.indent());
            bracesClose.prepend(Formatting.newLine()).append(Formatting.newLines(2));
        } else if (ast.isDomainmodel(node)) {
            const formatter = this.getNodeFormatter(node);
            const nodes = formatter.nodes(...node.elements);
            nodes.prepend(Formatting.noIndent());
        }
    }

    override createTextEdit(
        a: CstNode | undefined,
        b: CstNode,
        formatting: FormattingAction,
        context: FormattingContext,
    ): TextEdit[] {
        // Fix for no blank lines between entities if they have a docstring on top
        if (b.hidden && b.text.match(/\/[/*]/) && isRootCstNode(b.parent)) {
            b = {
                parent: b.parent,
                text: b.text,
                root: b.root,
                feature: b.feature,
                element: b.element,
                range: b.range,
                offset: b.offset,
                length: b.length,
                end: b.end,
                hidden: false,
            };
        }
        return super.createTextEdit(a, b, formatting, context);
    }

}

I'd argue the AbstractFormatter is working as intended here, mostly because it's very much unclear on how comments should be dealt with on a general language level.

I see, that makes sense.
Based up on your hint I was able to "adapt" the formatter so it fits my use case.
In case someone wants to do similar things, here is the code:
import {
	AbstractFormatter,
	AstNode,
	CstNode,
	Formatting,
	FormattingAction,
	FormattingContext,
	isRootCstNode,
} from 'langium';
import { TextEdit } from 'vscode-languageserver';

import * as ast from './generated/ast';

export class DomainModelFormatter extends AbstractFormatter {

    protected format(node: AstNode): void {
        if (ast.isPackageDeclaration(node)) {
            const formatter = this.getNodeFormatter(node);
            const bracesOpen = formatter.keyword('{');
            const bracesClose = formatter.keyword('}');
            formatter.interior(bracesOpen, bracesClose).prepend(Formatting.indent());
            bracesClose.prepend(Formatting.newLine());
        } else if (ast.isEntity(node)) {
            const formatter = this.getNodeFormatter(node);
            const bracesOpen = formatter.keyword('{');
            const bracesClose = formatter.keyword('}');
            formatter.interior(bracesOpen, bracesClose).prepend(Formatting.indent());
            bracesClose.prepend(Formatting.newLine()).append(Formatting.newLines(2));
        } else if (ast.isDomainmodel(node)) {
            const formatter = this.getNodeFormatter(node);
            const nodes = formatter.nodes(...node.elements);
            nodes.prepend(Formatting.noIndent());
        }
    }

    override createTextEdit(
        a: CstNode | undefined,
        b: CstNode,
        formatting: FormattingAction,
        context: FormattingContext,
    ): TextEdit[] {
        // Fix for no blank lines between entities if they have a docstring on top
        if (b.hidden && b.text.match(/\/[/*]/) && isRootCstNode(b.parent)) {
            b = {
                parent: b.parent,
                text: b.text,
                root: b.root,
                feature: b.feature,
                element: b.element,
                range: b.range,
                offset: b.offset,
                length: b.length,
                end: b.end,
                hidden: false,
            };
        }
        return super.createTextEdit(a, b, formatting, context);
    }

}

Awesome, thanks for sharing the code that got it to work for you :)


Add doc card links for new BFD configuration

Missed this in my original PR
Product Version(s):

Issue:

Link to docs preview:

SME review:

[ ] An SME has approved this change.

DOCS review:

[ ] A member of the docs team has approved this change.

Additional information:

Merge checklist:

[ ] Deploy preview inspected wherever changes were made
[ ] Build completed successfully
[ ] Test have passed

CC @ctauchen @coutinhop

LGTM, pending clean build. I'm clearing the cache and running again.

@ctauchen looks like they failed again - any idea what might be going on? Failure seems to be unrelated?

@ctauchen looks like they failed again - any idea what might be going on? Failure seems to be unrelated?

Builds passed this time, all good.


Governance: fix of instruction for create governance based on SPL GOV contract changes

Fixes based on changes coming with SPL GOV contract
https://github.com/solana-labs/solana-program-library/pull/3828

Not necessary anymore. Moving to v3.1 fixed the issue.


Merge master-qa

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 5 committers have signed the CLA.:white_check_mark: OliveGerste:white_check_mark: LucasBrazi06:white_check_mark: mahdibenromdhane:white_check_mark: cabch:x: Jakob8You have signed the CLA already but the status is still pending? Let us recheck it.


Update dependabot.yml

It looks that github thinks it is not configured

while it should look like that

after similar changes applied for my own fork it starts working
Fixes #803

After this merge:

I deleted the file and created it again, and it still looks like my screenshot above.

Something seems to work now: https://github.com/datafaker-net/datafaker/pull/807 ?

yes, at least something...
probably need to wait until new updates are available


Updated github.com/coreos/prometheus-operator version to v0.41.1

https://github.ibm.com/IBMPrivateCloud/roadmap/issues/59394

I have replaced the image in the fyre cluster seems everything working fine as expected.
Attached logs, description
raniprathyusha@Elaprolus-MacBook-Pro ~ % oc get pods | grep ibm-iam-operator
ibm-iam-operator-6df45b7fd5-7rnrd                       1/1     Running     0          10m

Description
raniprathyusha@Elaprolus-MacBook-Pro ~ % oc describe pod ibm-iam-operator-6df45b7fd5-7rnrd
Name:             ibm-iam-operator-6df45b7fd5-7rnrd
Namespace:        ibm-common-services
Priority:         0
Service Account:  ibm-iam-operator
Node:             worker0.starve.cp.fyre.ibm.com/<IP_ADDRESS>
Start Time:       Thu, 24 Aug 2023 02:56:20 +0530
Labels:           app.kubernetes.io/instance=ibm-iam-operator
                  app.kubernetes.io/managed-by=ibm-iam-operator
                  app.kubernetes.io/name=ibm-iam-operator
                  intent=projected
                  name=ibm-iam-operator
                  pod-template-hash=6df45b7fd5
Annotations:      alm-examples:
                    [
                      {
                        "apiVersion": "operator.ibm.com/v1alpha1",
                        "kind": "Authentication",
                        "metadata": {
                          "labels": {
                            "app.kubernetes.io/instance": "ibm-iam-operator",
                            "app.kubernetes.io/managed-by": "ibm-iam-operator",
                            "app.kubernetes.io/name": "ibm-iam-operator"
                          },
                          "name": "example-authentication"
                        },
                        "spec": {
                          "auditService": {
                            "imageName": "auditService no longer used - ignore",
                            "imageRegistry": "auditService no longer used - ignore",
                            "imageTag": "auditService no longer used - ignore"
                          },
                          "authService": {
                            "imageName": "icp-platform-auth",
                            "imageRegistry": "quay.io/opencloudio",
                            "imageTag": "4.2.0",
                            "ldapsCACert": "platform-auth-ldaps-ca-cert",
                            "resources": {
                              "limits": {
                                "cpu": "1000m",
                                "memory": "1Gi"
                              },
                              "requests": {
                                "cpu": "100m",
                                "memory": "350Mi"
                              }
                            },
                            "routerCertSecret": "saml-auth-secret"
                          },
                          "clientRegistration": {
                            "imageName": "im-initcontainer",
                            "imageRegistry": "quay.io/opencloudio",
                            "imageTag": "4.2.0",
                            "resources": {
                              "limits": {
                                "cpu": "1000m",
                                "memory": "1Gi"
                              },
                              "requests": {
                                "cpu": "100m",
                                "memory": "128Mi"
                              }
                            }
                          },
                          "config": {
                            "authUniqueHosts": "internal-ip1 internal-ip2 mycluster.icp",
                            "clusterCADomain": "mycluster.icp",
                            "clusterExternalAddress": "<IP_ADDRESS>",
                            "clusterInternalAddress": "<IP_ADDRESS>",
                            "clusterName": "mycluster",
                            "defaultAdminPassword": "password",
                            "defaultAdminUser": "cpadmin",
                            "scimAdminPassword": "scimpassword",
                            "scimAdminUser": "scimadmin",
                            "enableImpersonation": false,
                            "fipsEnabled": true,
                            "ibmCloudSaas": false,
                            "icpPort": 8443,
                            "installType": "fresh",
                            "isOpenshiftEnv": true,
                            "nonceEnabled": true,
                            "xframeDomain": "",
                            "preferredLogin": "",
                            "bootstrapUserId": "kubeadmin",
                            "providerIssuerURL": "",
                            "claimsSupported": "name,family_name,display_name,given_name,preferred_username",
                            "claimsMap": "name=\"givenName\" family_name=\"givenName\" given_name=\"givenName\" preferred_username=\"displayName\" display_nam...
                            "scopeClaim": "profile=\"name,family_name,display_name,given_name,preferred_username\"",
                            "oidcIssuerURL": "https://<IP_ADDRESS>:443/idauth/oidc/endpoint/OP",
                            "openshiftPort": 443,
                            "roksEnabled": true,
                            "roksURL": "https://roks.domain.name:443",
                            "roksUserPrefix": "changeme",
                            "saasClientRedirectUrl": "",
                            "wlpClientID": "4444be3a738841016ab76d71b650e836",
                            "wlpClientRegistrationSecret": "f1362ca4d20b8389af2d1ea68042c9af",
                            "wlpClientSecret": "aa73bf39752053bf723d1143fb4cf8a2"
                          },
                          "identityManager": {
                            "imageName": "icp-identity-manager",
                            "imageRegistry": "quay.io/opencloudio",
                            "imageTag": "4.2.0",
                            "masterNodesList": "<IP_ADDRESS>",
                            "resources": {
                              "limits": {
                                "cpu": "1000m",
                                "memory": "1Gi"
                              },
                              "requests": {
                                "cpu": "50m",
                                "memory": "150Mi"
                              }
                            }
                          },
                          "identityProvider": {
                            "imageName": "icp-identity-provider",
                            "imageRegistry": "quay.io/opencloudio",
                            "imageTag": "4.2.0",
                            "resources": {
                              "limits": {
                                "cpu": "1000m",
                                "memory": "1Gi"
                              },
                              "requests": {
                                "cpu": "50m",
                                "memory": "150Mi"
                              }
                            }
                          },
                          "initMongodb": {
                            "imageName": "im-initcontainer",
                            "imageRegistry": "quay.io/opencloudio",
                            "imageTag": "4.2.0",
                            "resources": {
                              "limits": {
                                "cpu": "100m",
                                "memory": "128Mi"
                              },
                              "requests": {
                                "cpu": "100m",
                                "memory": "128Mi"
                              }
                            }
                          },
                          "operatorVersion": "0.14.1",
                          "replicas": 1
                        }
                      },
                      {
                        "apiVersion": "operator.ibm.com/v1alpha1",
                        "kind": "OperandRequest",
                        "metadata": {
                          "name": "ibm-iam-request"
                        },
                        "spec": {
                          "requests": [
                            {
                              "operands": [
                                {
                                  "name": "ibm-im-mongodb-operator"
                                },
                                {
                                  "name": "ibm-idp-config-ui-operator"
                                }
                              ],
                              "registry": "common-service"
                            }
                          ]
                        }
                      },
                      {
                        "apiVersion": "operator.ibm.com/v1alpha1",
                        "kind": "OperandBindInfo",
                        "metadata": {
                          "name": "ibm-iam-bindinfo"
                        },
                        "spec": {
                          "operand": "ibm-im-operator",
                          "registry": "common-service",
                          "description": "Binding information that should be accessible to iam adopters",
                          "bindings": {
                            "public-oidc-creds": {
                              "secret": "platform-oidc-credentials"
                            },
                            "public-auth-creds": {
                              "secret" : "platform-auth-idp-credentials"
                            },
                            "public-scim-creds": {
                              "secret" : "platform-auth-scim-credentials"
                            },
                            "public-auth-cert": {
                              "secret" : "platform-auth-secret"
                            },
                            "public-cam-secret": {
                              "secret" : "oauth-client-secret"
                            },
                            "public-cam-map": {
                              "configmap" : "oauth-client-map"
                            },
                            "public-auth-config": {
                              "configmap" : "platform-auth-idp"
                            },
                            "public-ibmcloud-config": {
                              "configmap" : "ibmcloud-cluster-info"
                            },
                            "public-ibmcloudca-secret": {
                              "secret" : "ibmcloud-cluster-ca-cert"
                            }
                          }
                        }
                      }
                    ]
                  capabilities: Basic Install
                  categories: Security
                  certified: false
                  containerImage: docker-na-public.artifactory.swg-devops.com/hyc-cloud-private-integration-docker-local/ibmcom/ibm-iam-operator-amd64:4.2.0
                  description:
                    The IAM operator provides a simple Kubernetes CRD-Based API to manage the lifecycle of IAM services. With this operator, you can simply de...
                  k8s.ovn.org/pod-networks:
                    {"default":{"ip_addresses":["<IP_ADDRESS>/22"],"mac_address":"0a:58:0a:fe:14:6e","gateway_ips":["<IP_ADDRESS>"],"ip_address":"<IP_ADDRESS>...
                  k8s.v1.cni.cncf.io/network-status:
                    [{
                        "name": "ovn-kubernetes",
                        "interface": "eth0",
                        "ips": [
                            "<IP_ADDRESS>"
                        ],
                        "mac": "0a:58:0a:fe:14:6e",
                        "default": true,
                        "dns": {}
                    }]
                  olm.operatorGroup: common-service
                  olm.operatorNamespace: ibm-common-services
                  olm.skipRange: <4.2.0
                  olm.targetNamespaces: ibm-common-services
                  openshift.io/scc: restricted-v2
                  operatorframework.io/properties:
                    {"properties":[{"type":"olm.package","value":{"packageName":"ibm-iam-operator","version":"4.2.0"}},{"type":"olm.gvk","value":{"group":"oid...
                  productID: 068a62892a1e4db39641342e592daa25
                  productMetric: FREE
                  productName: IBM Cloud Platform Common Services
                  repository: https://github.com/IBM/ibm-iam-operator
                  seccomp.security.alpha.kubernetes.io/pod: runtime/default
                  support: IBM
Status:           Running
IP:               <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/ibm-iam-operator-6df45b7fd5
Containers:
  ibm-iam-operator:
    Container ID:  cri-o://ddbfdc124dc45cc7ad3d955f2ece9cb8ba45a672c77d171674c08d57f13fed4b
    Image:         docker-na-public.artifactory.swg-devops.com/hyc-cloud-private-integration-docker-local/ibmcom/ibm-iam-operator-amd64:4.2.0
    Image ID:      docker-na-public.artifactory.swg-devops.com/hyc-cloud-private-integration-docker-local/ibmcom/ibm-iam-operator-amd64@sha256:ebf8a8522d84d19e81f3fbb08c991c03035c941063634f6135c0ebf9b2583284
    Port:          <none>
    Host Port:     <none>
    Command:
      ibm-iam-operator
    State:          Running
      Started:      Thu, 24 Aug 2023 02:56:32 +0530
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     25m
      memory:  320Mi
    Requests:
      cpu:     10m
      memory:  80Mi
    Environment:
      ICP_PLATFORM_AUTH_IMAGE:      icr.io/cpopen/cpfs/icp-platform-auth@sha256:619e6f3c3ee51a40787b15eb14d52aa955f6329e144e80ba05e447a53695350e
      ICP_IDENTITY_PROVIDER_IMAGE:  icr.io/cpopen/cpfs/icp-identity-provider@sha256:f62ed0ade5738d1c9354755a70635ea8d3c22bf0d26611a1a19b0a05e02ea5e9
      ICP_IDENTITY_MANAGER_IMAGE:   icr.io/cpopen/cpfs/icp-identity-manager@sha256:3fcece528647f33737b112bd077bf6c00b1953eb20ff40fa23e97fee3043a5cb
      IM_INITCONTAINER_IMAGE:       icr.io/cpopen/cpfs/im-initcontainer@sha256:5eba855fbb9e578fae8ce09dceba68bdbed9fac7b14c297b9a37e81a79dfc2b9
      WATCH_NAMESPACE:              <set to the key 'namespaces' of config map 'namespace-scope'>  Optional: false
      POD_NAME:                     ibm-iam-operator-6df45b7fd5-7rnrd (v1:metadata.name)
      OPERATOR_NAME:                ibm-iam-operator
      ROUTE_HTTP_PORT:
      ROUTE_HTTPS_PORT:
      cluster_name:
      OPERATOR_CONDITION_NAME:      ibm-iam-operator.v4.2.0
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-k5r6z (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-k5r6z:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
    ConfigMapName:           openshift-service-ca.crt
    ConfigMapOptional:       <nil>
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason          Age   From               Message
  ----    ------          ----  ----               -------
  Normal  Scheduled       10m   default-scheduler  Successfully assigned ibm-common-services/ibm-iam-operator-6df45b7fd5-7rnrd to worker0.starve.cp.fyre.ibm.com
  Normal  AddedInterface  10m   multus             Add eth0 [<IP_ADDRESS>/22] from ovn-kubernetes
  Normal  Pulling         10m   kubelet            Pulling image "docker-na-public.artifactory.swg-devops.com/hyc-cloud-private-integration-docker-local/ibmcom/ibm-iam-operator-amd64:4.2.0"
  Normal  Pulled          10m   kubelet            Successfully pulled image "docker-na-public.artifactory.swg-devops.com/hyc-cloud-private-integration-docker-local/ibmcom/ibm-iam-operator-amd64:4.2.0" in 5.423705797s (5.423725967s including waiting)
  Normal  Created         10m   kubelet            Created container ibm-iam-operator
  Normal  Started         10m   kubelet            Started container ibm-iam-operator

LOGS
raniprathyusha@Elaprolus-MacBook-Pro ~ % oc logs -f ibm-iam-operator-6df45b7fd5-7rnrd
I0823 21:26:36.002849       1 request.go:665] Waited for 1.100004488s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/infrastructure.cluster.x-k8s.io/v1beta1?timeout=32s
{"level":"info","ts":1692825998.5031362,"logger":"operator_v1alpha1_init.addRouteV1APIfRegistered","msg":"API group found on the cluster","groupversion":"route.openshift.io/v1"}
{"level":"info","ts":1692825999.104877,"logger":"cmd","msg":"Operator Version: 4.2.0"}
{"level":"info","ts":1692825999.1049185,"logger":"cmd","msg":"Go Version: go1.20.7"}
{"level":"info","ts":1692825999.1049275,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1692825999.1049347,"logger":"cmd","msg":"Version of operator-sdk: v0.19.0"}
{"level":"info","ts":1692825999.1052456,"logger":"leader","msg":"Trying to become the leader."}
{"level":"info","ts":1692826002.6130495,"logger":"leader","msg":"No pre-existing lock was found."}
{"level":"info","ts":1692826002.7029226,"logger":"leader","msg":"Became the leader."}
{"level":"info","ts":1692826005.9033165,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":"<IP_ADDRESS>:8383"}
{"level":"info","ts":1692826005.9037154,"logger":"cmd","msg":"Registering Components."}
{"level":"info","ts":1692826006.1033587,"logger":"GetClusterType","msg":"Get cluster config"}
I0823 21:26:47.603939       1 request.go:665] Waited for 1.000820572s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/operator.ibm.com/v3?timeout=32s
{"level":"info","ts":1692826009.6101093,"logger":"GetClusterType","msg":"Got shared service namespace","namespace":"ibm-common-services"}
{"level":"info","ts":1692826009.6102014,"logger":"GetClusterType","msg":"Create client to query for ConfigMap"}
{"level":"info","ts":1692826012.703091,"logger":"GetClusterType","msg":"Try to find ConfigMap","name":"ibm-cpp-config","namespace":"ibm-common-services"}
{"level":"info","ts":1692826012.807483,"logger":"GetClusterType","msg":"Found ConfigMap","name":"ibm-cpp-config","namespace":"ibm-common-services"}
{"level":"info","ts":1692826012.8075268,"logger":"GetClusterType","msg":"Looked for kubernetes_cluster_type","ok":false,"value":"","clusterType":"OpenShift"}
{"level":"info","ts":1692826012.8076057,"logger":"cmd","msg":"Starting the Cmd."}
{"level":"info","ts":1692826012.808908,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8383"}
{"level":"info","ts":1692826012.8091202,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1alpha1.Authentication"}
{"level":"info","ts":1692826012.809172,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Certificate"}
{"level":"info","ts":1692826012.809184,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Secret"}
{"level":"info","ts":1692826012.8091948,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Job"}
{"level":"info","ts":1692826012.8092055,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Service"}
{"level":"info","ts":1692826012.8092155,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.ConfigMap"}
{"level":"info","ts":1692826012.8092275,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Ingress"}
{"level":"info","ts":1692826012.8092375,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Deployment"}
{"level":"info","ts":1692826012.8092477,"logger":"controller.authentication-controller","msg":"Starting EventSource","source":"kind source: *v1.Route"}
{"level":"info","ts":1692826012.8092575,"logger":"controller.authentication-controller","msg":"Starting Controller"}
{"level":"info","ts":1692826012.8137362,"logger":"controller.controller_oidc_client","msg":"Starting EventSource","source":"kind source: *v1.Client"}
{"level":"info","ts":1692826012.8137898,"logger":"controller.controller_oidc_client","msg":"Starting Controller"}
{"level":"info","ts":1692826017.3031554,"logger":"controller.controller_oidc_client","msg":"Starting workers","worker count":1}
{"level":"info","ts":1692826017.3033082,"logger":"controller_oidc_client","msg":"Gathering objects from the cluster to see if any updates to cache needed","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826017.303435,"logger":"controller.authentication-controller","msg":"Starting workers","worker count":1}
{"level":"info","ts":1692826017.3036764,"logger":"controller_authentication.GetClusterType","msg":"Get cluster config","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication"}
I0823 21:26:59.003840       1 request.go:665] Waited for 1.098432844s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/imageregistry.operator.openshift.io/v1?timeout=32s
{"level":"info","ts":1692826022.9031234,"logger":"controller_oidc_client","msg":"successfully set config for controller","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826022.903163,"logger":"controller_oidc_client","msg":"Reconciling OIDC Client data","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826022.910208,"logger":"controller_authentication.GetClusterType","msg":"Got shared service namespace","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication","namespace":"ibm-common-services"}
{"level":"info","ts":1692826023.002684,"logger":"controller_authentication.GetClusterType","msg":"Create client to query for ConfigMap","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication"}
{"level":"info","ts":1692826023.4029999,"logger":"controller_oidc_client.processOidcRegistration","msg":"Processing OIDC client Registration","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826023.4030416,"logger":"controller_oidc_client.invokeClientRegistrationAPI","msg":"params","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","requestType":"GET","requestURL":"https://platform-identity-provider.ibm-common-services.svc:4300/v1/auth/registration/izmqtbrdnge30r1mkefbrthy7xx0rehg"}
{"level":"info","ts":1692826023.4031596,"logger":"controller_oidc_client.getCSCACertificateSecret","msg":"Got secret","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","secretName":"cs-ca-certificate-secret"}
{"level":"info","ts":1692826025.2027922,"logger":"controller_oidc_client.invokeClientRegistrationAPI","msg":"Request complete","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826025.2028348,"logger":"controller_oidc_client.processOidcRegistration","msg":"Client found, update Client","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826025.3081024,"logger":"controller_oidc_client.invokeClientRegistrationAPI","msg":"params","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","requestType":"PUT","requestURL":"https://platform-identity-provider.ibm-common-services.svc:4300/v1/auth/registration/izmqtbrdnge30r1mkefbrthy7xx0rehg"}
{"level":"info","ts":1692826025.3081903,"logger":"controller_oidc_client.getCSCACertificateSecret","msg":"Got secret","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","secretName":"cs-ca-certificate-secret"}
{"level":"info","ts":1692826025.9028246,"logger":"controller_oidc_client.invokeClientRegistrationAPI","msg":"Request complete","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826025.9028597,"logger":"controller_oidc_client.UpdateClientRegistration","msg":"Client registration update successful","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826025.9028924,"logger":"controller_oidc_client","msg":"Received non-empty response","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","clientId":"izmqtbrdnge30r1mkefbrthy7xx0rehg"}
{"level":"info","ts":1692826025.902897,"logger":"controller_oidc_client","msg":"Updating annotations to ibm-iam-operand-restricted ServiceAccount","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","clientId":"izmqtbrdnge30r1mkefbrthy7xx0rehg"}
{"level":"info","ts":1692826025.902941,"logger":"controller_oidc_client","msg":"SharedServicesNamespace is","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","clientId":"izmqtbrdnge30r1mkefbrthy7xx0rehg","iamoperandnamespace":"ibm-common-services"}
{"level":"info","ts":1692826026.7029479,"logger":"controller_oidc_client","msg":"ibm-iam-operand-restricted SA is updated with annotations successfully","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","Request.Namespace":"ibm-common-services","client.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826026.7030892,"logger":"controller_oidc_client.GetClientCreds","msg":"successfully retrieved secret for Client","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","clientId":"izmqtbrdnge30r1mkefbrthy7xx0rehg","secret":"cpd-oidcclient-secret"}
{"level":"info","ts":1692826026.7031019,"logger":"controller_oidc_client.getAuthnTokens","msg":"Retrieved client creds","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","client_id":"izmqtbrdnge30r1mkefbrthy7xx0rehg"}
{"level":"info","ts":1692826026.7031145,"logger":"controller_oidc_client.getAuthnTokens","msg":"check payload","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","client_id":"izmqtbrdnge30r1mkefbrthy7xx0rehg","client_secret_set":true}
{"level":"info","ts":1692826026.7031248,"logger":"controller_oidc_client.getAuthnTokens","msg":"Attempt to retrieve token from id provider","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","requestURL":"https://platform-identity-provider.ibm-common-services.svc:4300/v1/auth/token","tokenType":"token","attempt":1,"maxAttempts":3}
{"level":"info","ts":1692826026.703209,"logger":"controller_oidc_client.getCSCACertificateSecret","msg":"Got secret","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","secretName":"cs-ca-certificate-secret"}
{"level":"info","ts":1692826027.2028046,"logger":"controller_authentication.GetClusterType","msg":"Try to find ConfigMap","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication","name":"ibm-cpp-config","namespace":"ibm-common-services"}
{"level":"info","ts":1692826027.3028786,"logger":"controller_authentication.GetClusterType","msg":"Found ConfigMap","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication","name":"ibm-cpp-config","namespace":"ibm-common-services"}
{"level":"info","ts":1692826027.302915,"logger":"controller_authentication.GetClusterType","msg":"Looked for kubernetes_cluster_type","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication","ok":false,"value":"","clusterType":"OpenShift"}
{"level":"info","ts":1692826027.302927,"logger":"controller_authentication","msg":"Set cluster type","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication","clusterType":"OpenShift"}
{"level":"info","ts":1692826027.3029304,"logger":"controller_authentication","msg":"Reconciling Authentication","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication"}
{"level":"info","ts":1692826027.302974,"logger":"controller_authentication","msg":"Creating ibm-iam-operand-restricted serviceaccount","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication"}
{"level":"info","ts":1692826027.3030038,"logger":"controller_authentication","msg":"Creating ibm-iam-operand-restricted role","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826027.4992337,"logger":"controller_authentication","msg":"Failed to create ibm-iam-operand-restricted role or its already present","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826027.499289,"logger":"controller_authentication","msg":"Creating ibm-iam-operand-restricted RoleBinding","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826027.5877857,"logger":"controller_authentication","msg":"Failed to create ibm-iam-operand-restricted RoleBinding or its already present","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
I0823 21:27:09.102727       1 request.go:665] Waited for 1.29965668s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/controlplane.operator.openshift.io/v1alpha1?timeout=32s
{"level":"info","ts":1692826030.504304,"logger":"controller_authentication","msg":"Unable to load v1alpha1 certificate - most likely this means the CRD doesn't exist and this can be ignored","func":"deleteCertsv1alpha1","instance.Name":"example-authentication","instance.Namespace":"ibm-common-services"}
{"level":"info","ts":1692826030.5045388,"logger":"controller_oidc_client.getCSCACertificateSecret","msg":"Got secret","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","secretName":"cs-ca-certificate-secret"}
{"level":"info","ts":1692826033.202844,"logger":"controller_oidc_client","msg":"Zen registration already exists for oidc client - the zen instance will not be updated","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services","clientId":"izmqtbrdnge30r1mkefbrthy7xx0rehg","zenInstanceId":"abcbccf9-2cf6-4d12-b820-9da453cf1ef2"}
{"level":"info","ts":1692826033.2029104,"logger":"controller_oidc_client.processOidcRegistration","msg":"Updating Client CR","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826034.9029815,"logger":"controller_authentication","msg":"Unable to load v1alpha1 certificate - most likely this means the CRD doesn't exist and this can be ignored","func":"deleteCertsv1alpha1","instance.Name":"example-authentication","instance.Namespace":"ibm-common-services"}
{"level":"info","ts":1692826035.0030272,"logger":"controller_oidc_client.processOidcRegistration","msg":"Updating status","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
{"level":"info","ts":1692826035.2032266,"logger":"controller_oidc_client","msg":"Reconciling OIDC Client complete","Request.Namespace":"ibm-common-services","Request.Name":"zenclient-ibm-common-services"}
I0823 21:27:19.102981       1 request.go:665] Waited for 4.098762707s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/metal3.io/v1alpha1?timeout=32s
{"level":"info","ts":1692826039.703386,"logger":"controller_authentication","msg":"Unable to load v1alpha1 certificate - most likely this means the CRD doesn't exist and this can be ignored","func":"deleteCertsv1alpha1","instance.Name":"example-authentication","instance.Namespace":"ibm-common-services"}
{"level":"info","ts":1692826043.6042101,"logger":"controller_authentication","msg":"Unable to load v1alpha1 certificate - most likely this means the CRD doesn't exist and this can be ignored","func":"deleteCertsv1alpha1","instance.Name":"example-authentication","instance.Namespace":"ibm-common-services"}
{"level":"info","ts":1692826043.6045258,"logger":"controller_authentication","msg":"Creating or updating new secret","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Certificate.Namespace":"ibm-common-services","Secret.Name":"ibmcloud-cluster-ca-cert"}
{"level":"info","ts":1692826043.6045854,"logger":"controller_authentication","msg":"Waiting for secret","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Certificate.Namespace":"ibm-common-services","Secret.Name":"platform-auth-secret"}
{"level":"info","ts":1692826043.6411233,"logger":"controller_authentication.createClusterCACert","msg":"Comparing calculated to observed secret","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Secret.Name":"ibmcloud-cluster-ca-cert"}
{"level":"info","ts":1692826043.641184,"logger":"controller_authentication.createClusterCACert","msg":"No significant changes found; skipping update.","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Secret.Name":"ibmcloud-cluster-ca-cert"}
{"level":"info","ts":1692826043.641207,"logger":"controller_authentication","msg":"Query global cm","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Configmap.Namespace":"ibm-common-services","ConfigMap.Name":"ibm-cpp-config"}
{"level":"info","ts":1692826043.6412318,"logger":"GetClusterType","msg":"Get cluster config"}
{"level":"info","ts":1692826046.9105973,"logger":"GetClusterType","msg":"Got shared service namespace","namespace":"ibm-common-services"}
{"level":"info","ts":1692826046.9106488,"logger":"GetClusterType","msg":"Create client to query for ConfigMap"}
I0823 21:27:29.104908       1 request.go:665] Waited for 2.001238027s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:443/apis/flowcontrol.apiserver.k8s.io/v1beta3?timeout=32s
{"level":"info","ts":1692826050.7038085,"logger":"GetClusterType","msg":"Try to find ConfigMap","name":"ibm-cpp-config","namespace":"ibm-common-services"}
{"level":"info","ts":1692826050.8028982,"logger":"GetClusterType","msg":"Found ConfigMap","name":"ibm-cpp-config","namespace":"ibm-common-services"}
{"level":"info","ts":1692826050.8029342,"logger":"GetClusterType","msg":"Looked for kubernetes_cluster_type","ok":false,"value":"","clusterType":"OpenShift"}
{"level":"info","ts":1692826050.8029773,"logger":"controller_authentication","msg":"ibmcloud-cluster-info Configmap is already created by IM operator","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Configmap.Namespace":"ibm-common-services","ConfigMap.Name":"ibmcloud-cluster-info"}
{"level":"info","ts":1692826050.8030262,"logger":"controller_authentication","msg":"Current configmap","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Current Value":"true"}
{"level":"info","ts":1692826054.0108516,"logger":"controller_authentication","msg":"Calculated new platform-oidc-registration.json","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.011073,"logger":"controller_authentication","msg":"No ConfigMap update required","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.0111647,"logger":"controller_authentication","msg":"Creating ibm-iam-operand-restricted clusterrole","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.164063,"logger":"controller_authentication","msg":"Failed to create ibm-iam-operand-restricted clusterrole or its already present","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.16412,"logger":"controller_authentication","msg":"Creating ibm-iam-operand-restricted ClusterRoleBinding","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.2720776,"logger":"controller_authentication","msg":"Failed to create ibm-iam-operand-restricted ClusterRoleBinding or its already present","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.2785828,"logger":"controller_authentication","msg":"ibm-iam-operand-restricted SA is updated with annotation successfully","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826054.2787492,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"social-login-callback","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/balance":"source","haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/ibm/api/social-login","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/ibm/api/social-login"}
{"level":"info","ts":1692826054.2788312,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"social-login-callback","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2788668,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"social-login-callback","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.278883,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"id-mgmt","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/idmgmt/"}
{"level":"info","ts":1692826054.2789142,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"id-mgmt","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2789352,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"id-mgmt","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2789507,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"platform-auth","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/v1/auth/","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/v1/auth/"}
{"level":"info","ts":1692826054.278979,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"platform-auth","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2789972,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"platform-auth","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.279007,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"platform-id-auth","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/balance":"source","haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/idauth"}
{"level":"info","ts":1692826054.2790382,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"platform-id-auth","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2790635,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"platform-id-auth","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.279074,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"platform-id-provider","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/idprovider/"}
{"level":"info","ts":1692826054.2791052,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"platform-id-provider","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2791243,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"platform-id-provider","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2791328,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"platform-login","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/v1/auth/authorize?client_id=f34apsnvhd0i9569vpef96aezzq19icn&redirect_uri=https://cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com/auth/liberty/callback&response_type=code&scope=openid+email+profile&orig=/login","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/login"}
{"level":"info","ts":1692826054.2791634,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"platform-login","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2791817,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"platform-login","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2791903,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"platform-oidc","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/balance":"source","haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/oidc"}
{"level":"info","ts":1692826054.279218,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"platform-oidc","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2792366,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"platform-oidc","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2792466,"logger":"controller_authentication","msg":"Reconciling route","func":"ReconcileRoute","name":"saml-ui-callback","namespace":"ibm-common-services","annotations":{"haproxy.router.openshift.io/balance":"source","haproxy.router.openshift.io/hsts_header":"max-age=31536000;includeSubDomains","haproxy.router.openshift.io/pod-concurrent-connections":"200","haproxy.router.openshift.io/rate-limit-connections":"true","haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp":"200","haproxy.router.openshift.io/rate-limit-connections.rate-http":"200","haproxy.router.openshift.io/rate-limit-connections.rate-tcp":"200","haproxy.router.openshift.io/rewrite-target":"/ibm/saml20/defaultSP/acs","haproxy.router.openshift.io/timeout":"180s"},"routeHost":"cp-console-ibm-common-services.apps.starve.cp.fyre.ibm.com","routePath":"/ibm/saml20/defaultSP/acs"}
{"level":"info","ts":1692826054.279281,"logger":"controller_authentication","msg":"Comparing current and desired routes","func":"ReconcileRoute","name":"saml-ui-callback","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.279301,"logger":"controller_authentication","msg":"Routes are equal","func":"IsRouteEqual","name":"saml-ui-callback","namespace":"ibm-common-services"}
{"level":"info","ts":1692826054.2793598,"logger":"controller_authentication","msg":"Is SAAS enabled?","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Instance spec config value":false}
{"level":"info","ts":1692826054.3026595,"logger":"controller_authentication","msg":"Updating an existing Deployment","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":"platform-auth-service"}
{"level":"info","ts":1692826054.3026898,"logger":"controller_authentication","msg":"SAAS tenant configmap was found","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Updating deployment with value from configmap":"cs-saas-tenant-config"}
{"level":"info","ts":1692826055.8030598,"logger":"controller_authentication","msg":"CS??? get pod names","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826055.8031096,"logger":"controller_authentication","msg":"CS??? pod name=platform-auth-service-6ccfbf47dd-mn9xg","Request.Namespace":"CS??? namespace","Request.Name":"CS???"}
{"level":"info","ts":1692826055.8031166,"logger":"controller_authentication","msg":"Skip reconcile: Deployment already exists","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":"platform-auth-service"}
{"level":"info","ts":1692826055.8031242,"logger":"controller_authentication","msg":"Reconcile: Looking for deployment","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":{"name":""}}
{"level":"info","ts":1692826055.8032098,"logger":"controller_authentication","msg":"Updating an existing Deployment","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":"platform-identity-management"}
{"level":"info","ts":1692826055.803218,"logger":"controller_authentication","msg":"SAAS tenant configmap was found","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Updating deployment with value from configmap":"cs-saas-tenant-config"}
{"level":"info","ts":1692826055.904138,"logger":"controller_authentication","msg":"CS??? get pod names","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826055.9042149,"logger":"controller_authentication","msg":"CS??? pod name=platform-identity-management-7f9bfcb556-pdtkn","Request.Namespace":"CS??? namespace","Request.Name":"CS???"}
{"level":"info","ts":1692826055.904226,"logger":"controller_authentication","msg":"Skip reconcile: Manager deployment already exists","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":"platform-identity-management"}
{"level":"info","ts":1692826055.9042373,"logger":"controller_authentication","msg":"Reconcile: Looking for deployment","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":{"name":""}}
{"level":"info","ts":1692826055.9043407,"logger":"controller_authentication","msg":"Updating an existing Deployment","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":"platform-identity-management"}
{"level":"info","ts":1692826055.9043527,"logger":"controller_authentication","msg":"SAAS tenant configmap was found","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Updating deployment with value from configmap":"cs-saas-tenant-config"}
{"level":"info","ts":1692826056.1031513,"logger":"controller_authentication","msg":"CS??? get pod names","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication"}
{"level":"info","ts":1692826056.1031868,"logger":"controller_authentication","msg":"CS??? pod name=platform-identity-provider-6fb67db566-4pfqv","Request.Namespace":"CS??? namespace","Request.Name":"CS???"}
{"level":"info","ts":1692826056.1031911,"logger":"controller_authentication","msg":"Final pod names","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Pod names:":["platform-auth-service-6ccfbf47dd-mn9xg","platform-identity-management-7f9bfcb556-pdtkn","platform-identity-provider-6fb67db566-4pfqv"]}
{"level":"info","ts":1692826056.1032004,"logger":"controller_authentication","msg":"Skip reconcile: Provider deployment already exists","Instance.Namespace":"ibm-common-services","Instance.Name":"example-authentication","Deployment.Namespace":"ibm-common-services","Deployment.Name":"platform-identity-provider"}
{"level":"info","ts":1692826056.1032062,"logger":"controller_authentication","msg":"Update status before finishing loop.","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication"}
{"level":"info","ts":1692826056.1271288,"logger":"controller_authentication","msg":"Updated status","Request.Namespace":"ibm-common-services","Request.Name":"example-authentication"}
^Z
zsh: suspended  oc logs -f ibm-iam-operator-6df45b7fd5-7rnrd


Can't build omnisharp-roslyn for vim on Windows 10

After running build.ps1 , the script tried to download dotnetCoreSdk but it is already installed
PS C:\Program Files\dotnet\sdk> dir

    Directory: C:\Program Files\dotnet\sdk

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
da----        7/31/2017  11:57 AM                1.0.0
da----        8/13/2017  10:07 AM                1.0.4
da----        8/15/2017   2:03 AM                1.1.0
da----        8/14/2017  11:14 PM                2.0.0
da----        8/12/2017   4:16 PM                2.0.0-preview2-006497
d-----        8/14/2017  11:18 PM                NuGetFallbackFolder

full error log -
PS C:\Users\ratanparai\vimfiles\plugins\bundle\omnisharp-vim\omnisharp-roslyn> .\build.ps1
Preparing to run build script...
Running build script...
Analyzing build script...
Processing build script...
Installing addins...
Compiling build script...
Current platform: Windows (x64)

========================================
Cleanup
========================================
Executing task: Cleanup
Finished executing task: Cleanup

========================================
ValidateMono
========================================
Skipping task: ValidateMono

========================================
InstallDotNetCoreSdk
========================================
Executing task: InstallDotNetCoreSdk
dotnet-install: Downloading https://dotnetcli.azureedge.net/dotnet/Sdk/1.0.4/dotnet-dev-win-x<IP_ADDRESS>.zip
Failed to download https://dotnetcli.azureedge.net/dotnet/Sdk/1.0.4/dotnet-dev-win-x<IP_ADDRESS>.zip.
At C:\Users\ratanparai\vimfiles\plugins\bundle\omnisharp-vim\omnisharp-roslyn\.dotnet\dotnet-install.ps1:159 char:13
+             throw $ErrorMsg
+             ~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Failed to downl...-x<IP_ADDRESS>.zip.:String) [], RuntimeException
    + FullyQualifiedErrorId : Failed to download https://dotnetcli.azureedge.net/dotnet/Sdk/1.0.4/dotnet-dev-win-x<IP_ADDRESS>.zip.

An error occurred when executing task 'InstallDotNetCoreSdk'.
Error: Failed to Install .NET Core SDK 1.0.4

Seems like the download failed rather than it failed because it was already installed. Are you able to download https://dotnetcli.azureedge.net/dotnet/Sdk/1.0.4/dotnet-dev-win-x<IP_ADDRESS>.zip directly from a browser?

@DustinCampbell , Yes I can download it manually.

I am having the same issue. And I am also able to download the file. I get the exact same error.

Debugging this is what I have found:
This is the executing code:
        $HttpClient.Timeout = New-TimeSpan -Minutes 5
        $Response = $HttpClient.GetAsync($Uri).Result
        if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode)))
        {
            $ErrorMsg = "Failed to download $Uri."
            if ($Response -ne $null)
            {
                $ErrorMsg += "  $Response"
            }

            throw $ErrorMsg
        }

It clearly sets the timeout to 5 minutes. I started downloading the file on the browser, and got an 8 to 9 minutes estimate. The download is timing out. Total execution time for the build.ps1 script is about 5 minutes and 30 seconds, just a bit higher than the 5 minutes limit, because of the other actions performed by it.
Also, by looking at the error message, the response is clearly null. We are not getting http errors, otherwise we would see them in the error message.
I will wait for my manual download to finish, and then try again. Then, maybe the azure edge network may have cached it and the download might be faster. If that does not work I will create a manual proxy with a cache using docker, and cache everything locally. I will post my results later.

I have tried changing the timeout value but everytime I run build.ps1 the file get override by new ones with default 5 mins timeout value.
I can't find out how the file is generating or any option to use local download copy of the zip file.
Moreover today I tried to compile omnisharp-roslyn in ubuntu gnome 17.04 but also failed duo to dotnet error! I have dotnet core 2.0.0 sdk installed there and can't seem to find a way to install v1  :(

Can anyone help us with this? This has made vim unusable with Roslyn... :(

OmniSharp VIM has moved to consume binaries instead of using the submodule approach so I will close this as not applicable anymore.


Add node_instance_profile_arn output

It is always a good idea to output the ARN for IAM resources.

Thank you for your contribution


[App] Unexpected value of custom step x-axis when visualising a plot from the groups

Describe the bug
When visualising a plot from the groups , there is an error with the value of the custom step when going with the cursor over the line. The problem does not appear when visualising a plot directly from a run.
Expected behavior
The value of the custom step should correspond to what has been logged.
Screenshots
Here is a plot visualisation from the groups (the step shown should be 30000 and not 33912.652)

Here is a plot visualisation from the run (the step is 30000)

@loicsacre when we group runs that don't have x-axis that line up exactly, we create buckets or windows across the group of runs to show values in the same "bucket".  Can you share a link to a workspace that has the grouping configured so we can verify that's what's happening here?

I don't know how to share a link which would be visible to anyone, but here it is https://wandb.ai/integria/experiment-1-tf/groups/INTEGRIA-609/workspace. The only group which is set to visible is Job Type: task_1. All the runs among the group have a log every 10k 'global_step'.

Hey @loicsacre I've verified that discrepancy is due to the bucketing logic (W&B support staff can access private experiments for debugging purposes).  We randomly sample points from each series and when the "global_step"s that were sampled don't line up exactly we show the data that shares the same bucket.

Hi @vanpelt, sorry for coming back to this issue a bit later. I understand the way you handle it. However, wouldn't it be better not to sample randomly if all points have the same abscissa ? It would be more convenient for both visualising and reporting. It think it would be useful for others too. I have noticed that the problem does not occur when using the default step metric. Maybe we are doing something wrong when logging our custom training step (which is logged during the single wandb.log() call after each training iteration ?

I think this problem is linked too. When visualising according to default step metric, everything is ok and all the points are displayed. Nevertheless, when switching to the training step metric, the number of points is reduced and therefore it is difficult to compare the graphs. We clearly see that the look of the graph is no longer the same.

@loicsacre unfortunately this is due to the way we need to sample metrics to avoid too much data being rendered in the browser.   Because your steps have such a large span across 1.5 million training_steps we're sampling more aggressively then when you're only looking at a span of 25 steps.

Yes but there is not millions of points, the training_step is just a label. We only log 1 value every N training_steps, resulting in only 25 points per curve.
Maybe the condition that is used to trigger the bucketing logic should look at the number of points to render instead of the value of the span of the abscissa?


Typo in New-Volume command

PowerShell command-box New-Volume:  replaced "– FriendlyName" by "-FriendlyName"

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


feat(create-app): two-level prompt for framework and variants

Description

As we are growing rapidly, we are now having 12 templates for users to choose from. As half of them are TypeScript variants and we might have more in the future. This PR introduces two-level prompts to make it simpler and future-proofing - one for frameworks, and one for variants.
From

To:

Additional context

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Nice! Do you think there will be other variants in the future? I was thinking we could use a yes/no question for TypeScript if not. Maybe interesting to think about JSX for vue. In that case we would have four variants if we want to include that option, or two yes/no questions. Typescript? Yes/no, JSX? Yes/no

Frankly, I don't know 😅. Just think variants could be more general. With JSX/TSX to have 4 variants, I guess maybe it's ok. We can think about it when we have like 10 items-ish?

Just an idea I want to raise here :slightly_smiling_face:
Is it possible to pick colors of each framework and use these color values for them?
And if the used terminal doesn't support true colors, then fallback to the nearest color?
This would be a new PR :slightly_smiling_face:


Support worker-side transfer

Our current transfer model relies on inserting transfer Apps between existing nodes in the DAG, which are submitted to a locally-running ThreadPoolExecutor with several threads. This essentially serializes transfer-heavy work. For scalability when pulling data from external resources, we should consider supporting a model where such apps are submitted to the workers themselves.

Only transfer apps for files with the 'globus' scheme are submitted to a locally-running ThreadPoolExecutor. The apps are very light tasks that are basically in the waiting state polling a transfer status every 60 seconds or so from Globus.


[beta] Transpiled error class is not working as expected.

Catching errors is broken with the message: TypeError: _this4.addToMessage is not a function
Even though babel is trying to create the error classes here: https://github.com/SpireTeam/whitelister/blob/feature/bundle/dist/whitelister.js#L206
See codepen: https://codepen.io/anon/pen/eeNMWY?editors=1111#anon-login

Turns out this had to do with extending a global when using babel, specifically Error.
Fixed in 0.1.0-beta2 using the babel plugin referenced on MDN here.


Slicing issue

Hello,
I've found something weird.
objs = Objs.objects.all()
length = len(objs[1:4])
# length equals 3

objs = QuerySetSequence(Objs.objects.all())
length = len(objs[1:4])
# length equals 4

Actually, it looks like QuerySetSequence ignores start index and it always equals 0.
As result, it breaks Django pagination. I found a workaround for that - convert QSS to a list, and pass that list to Paginator class. But maybe it should not be like that?

Interesting, this could be a regression from some of the pagination things we've added recently.
Any chance you can make a test-case in the testing framework to show this failing? I've tried to reproduce it and haven't been able to.
Also, are you using the latest version (0.7)?

Aha, ok. I'll test it in a clean environment.
I used the last one from PyPI.

I had a thought last night...maybe there's an issue when using only a single QuerySet inside of the QuerySetSequence, I'll admit that I haven't done much testing in that case (since it's somewhat degenerative).

Hey again. Was really busy, but I've got some time today to do some testing. I've made clean install (Python 3.5.2, Django 1.10.6, freshly pip-installed django-querysetsequence).
Here some funny results:
class NoteTests(TestCase):
    def setUp(self):
        # Note model is primitive and contains only one field 'text' VARCHAR(255)
        Note.objects.bulk_create([
            Note(text="Note number 1"),
            Note(text="Note number 2"),
            Note(text="Note number 3"),
            Note(text="Note number 4"),
            Note(text="Note number 5"),
            Note(text="Note number 6")
        ])
    def test_opened_slice(self):
        # This one works
        notes = Note.objects.all()
        qs_notes = notes[1:]
        qss_notes = QuerySetSequence(notes)[1:]

        self.assertEqual(len(qs_notes), len(qss_notes))

    def test_closed_slice_single_qs(self):
        # This one failes
        notes = Note.objects.all()
        qs_notes = notes[1:4]
        qss_notes = QuerySetSequence(notes, notes)[1:4]

        self.assertEqual(len(qs_notes), len(qss_notes))

    def test_closed_slice_two_qs_filter(self):
        # This one works
        notes_1 = Note.objects.filter(pk__lte=2)
        notes_2 = Note.objects.filter(pk__gte=1)

        qss_concat = QuerySetSequence(notes_1, notes_2)

        self.assertNotEqual(len(qss_concat[0:4]), len(qss_concat[2:4]))

    def test_closed_slice_two_qs_all(self):
        # This one fails
        notes_1 = Note.objects.all()
        notes_2 = Note.objects.all()

        qss_concat = QuerySetSequence(notes_1, notes_2)

        self.assertNotEqual(len(qss_concat[0:4]), len(qss_concat[2:4]))

Fail messages:
======================================================================
FAIL: test_closed_slice_single_qs (modules.homepage.tests.NoteTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pr/modules/homepage/tests.py", line 29, in test_closed_slice_single_qs
    self.assertEqual(len(qs_notes), len(qss_notes))
AssertionError: 2 != 4

======================================================================
FAIL: test_closed_slice_two_qs_all (modules.homepage.tests.NoteTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pr/modules/homepage/tests.py", line 45, in test_closed_slice_two_qs_all
    self.assertNotEqual(len(qss_concat[0:4]), len(qss_concat[2:4]))
AssertionError: 4 == 4

----------------------------------------------------------------------

Thanks for providing tests cases! I think I was able to figure this out. I think it's a bug in the handling when the slicing brings us down to a single queryset. I'm going to put up a PR in a bit.

I just pushed a fix for this in 0.7.1, let me know if you're still seeing issues! Thanks for reporting. :)


Adding DudeHuge token

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

When I compare across forks I continue to get: "Can’t automatically merge. Don’t worry, you can still create the pull request." I would be grateful for any help getting passed this. Not sure what to do next. Thank you.


Copy the check message to subsequent UNK_FAIL results in case we need to alert

Coverage increased (+0.07%) to 96.514% when pulling 948f2c971a2eb358364dfe7c8fba59c2a810f017 on maas_2334 into f86ffd4e8c8573ed772841d76ac75247374d62d7 on master.


Update tests/ elm-package.json for 0.18

This may fix the failing travis-ci check in #47.

Never mind me... I will try to come back with a better PR...

😁

👍 sure does, sadly i'm not testing anything great yet! (Had some test errors originally)


INITIALIZATION_ERROR

Hello,
I recently acquired an optical line guidance sensor OLS20-BB1114142.
I am using the sensor together with the PEAK-System PCAN-USB interface. I powered the sensor with 24V DC and the PWR LED in the sensor is on.
I followed all the procedures detailed in the README file. I made only one change in the sick_line_guidance_ols20.yaml file, in the path to EDS file, so it would look for the file under the ols directory:
eds_file: ols/SICK_OLS20_CO.eds
I followed all instructions in pcan-linux-installation.md and when I run the four commands below # check installation the results are as described.
However, when I run the ros launcher with the following command, I always get the errors below and nothing is published in the /ols topic.
roslaunch -v --screen sick_line_guidance sick_line_guidance.launch yaml:=ols/sick_line_guidance_ols20.yaml
How can I fix this?
Thanks in advance!
[ERROR] [1594121980.991568106]: Initializing failed: could not reset node '10'
[ INFO] [1594121980.992212701]: sick_line_guidance::CanopenChain::connectInitService(): ServiceClient::call("/driver/init") successfull.
[ INFO] [1594121980.992377283]: sick_line_guidance::CanopenChain::queryCanObject(" << node_id << "): connectInitService() successfull.
[ERROR] [1594121980.992450999]: sick_line_guidance_node: CanopenChain::queryCanObject(node1, 1001) failed: /home/joana/Projects/Fishy/catkin_fishy/src/sick_line_guidance/ros_canopen/canopen_master/src/sdo.cpp(429): Throw in function void canopen::SDOClient::transmitAndWait(const canopen::ObjectDict::Entry&, const canopen::String&, canopen::String*)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<canopen::TimeoutException> >
std::exception::what: SDO
[canopen::tag_objectdict_key*] = 1001sub0

[ERROR] [1594121981.994459257]: Did not receive a response message
[ERROR] [1594121981.994843758]: Getting object node1 failed: /home/joana/Projects/Fishy/catkin_fishy/src/sick_line_guidance/ros_canopen/canopen_master/src/sdo.cpp(429): Throw in function void canopen::SDOClient::transmitAndWait(const canopen::ObjectDict::Entry&, const canopen::String&, canopen::String*)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<canopen::TimeoutException> >
std::exception::what: SDO
[canopen::tag_objectdict_key*] = 1018sub1

[ERROR] [1594121981.995231978]: sick_line_guidance::CanopenChain::queryCanObject(): ServiceClient::call("/driver/get_object") failed: /home/joana/Projects/Fishy/catkin_fishy/src/sick_line_guidance/ros_canopen/canopen_master/src/sdo.cpp(429): Throw in function void canopen::SDOClient::transmitAndWait(const canopen::ObjectDict::Entry&, const canopen::String&, canopen::String*)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<canopen::TimeoutException> >
std::exception::what: SDO
[canopen::tag_objectdict_key*] = 1018sub1

[ERROR] [1594121981.995327928]: sick_line_guidance::CanopenChain::queryCanObject(" << node_id << "): shutdown and re-init can communication after SDO error
[ WARN] [1594121981.995439618]: sick_line_guidance::CanopenChain::shutdownCanDriver(): shutdown can communication by ServiceClient::call("/driver/shutdown")...
[ INFO] [1594121981.997988266]: Shutting down...
[ INFO] [1594121981.998070391]: Shutting down successful: not running
[ INFO] [1594121981.998350738]: sick_line_guidance::CanopenChain::shutdownCanDriver(): ServiceClient::call("/driver/shutdown") successfull not running
[ INFO] [1594121981.998433355]: sick_line_guidance::CanopenChain::queryCanObject(" << node_id << "): shutdownCanDriver() successfull.

The issue was with the PEAK adapter. As my adapter is from S/N 200000, it was necessary to solder jumpers on the circuit board in order to activate the internal termination.


osv-scanner: integrate vulncheck

https://pkg.go.dev/golang.org/x/vuln/vulncheck does static analysis to check callgraphs etc. Perhaps we can re-use this in our osv-scanner.

https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck/internal/govulncheck has some of the higher level code that goes into making the decision around vulnerable or not vulnerable. This is currently not available as a library though.


UITextEntryBox text editing shortcuts into sub functions

I'm looking to implement some basic text edit functionality within the UITextEntryBox (cut, copy, paste, etc.) and apply it to buttons, like in a menu bar. The UITextEntryBox has all the functionality already, however it is all in one function _process_keyboard_shortcut_event() and tied to keyboard controls.
This proposed change splits the code for Select All, Cut, and Copy into a more extensible format. This format was modeled after how Paste works, with a _process_paste_event() function to check for the correct keyboard process and handled the consumed event, and another function _do_paste() to execute the shortcut. I've split all three other shortcuts into the same format.
If you like this change, I'll add the tests and the documentation before the merge - I think that should be all of it? Let me know if you have any other thoughts! Thanks!

I can also add this to UITextEntryLine if you like, looks to be identical.
Probably a case for refactoring but this (and #433) seem like a headache that may not be worth it?

I thought I added same functionality to UITextEntryLine, so I'm a bit confused by the failed tests. The only thing thats different, upon review, is the UITextEntryLine has an additional condition and not self.is_text_hidden which isn't in UITextEntryBox. I'm indifferent about how to proceed - thanks for your help.

OK, I've fixed up those errors and the tests are passing. Thanks for the PR!


TON address generate is wrong

version:4.1.10
switf exapple code is:
func testAddressFromPrivateKey() {
let data = Data(hexString: "63474e5fe9511f1526a50567ce142befc343e71a49b865ac3908f58667319cb8")
let privateKey = PrivateKey(data: data!)!
let publicKey = privateKey.getPublicKeyEd25519()
let address = AnyAddress(publicKey: publicKey, coin: .ton)
when i test this method,the result is EQBm--PFwDv1yCeS-QTJ-L8oiUpqo9IT1BwgVptlSq3ts90Q,
not UQBm--PFwDv1yCeS-QTJ-L8oiUpqo9IT1BwgVptlSq3ts4DV

Hi @deeryoona, do you use CocoaPods or an SPM packet? We didn't update CocoaPods for some time, I'll schedule the update this week

i use SPM packet

Hi @deeryoona, do you use CocoaPods or an SPM packet? We didn't update CocoaPods for some time, I'll schedule the update this week

i use SPM packet

satoshiotomakan

@satoshiotomakan satoshiotomakan

Hi @deeryoona, do you use CocoaPods or an SPM packet? We didn't update CocoaPods for some time, I'll schedule the update this week

i updated the latest version 4.1.12,the problem already exist @satoshiotomakan

Hi @deeryoona, could you please update to 4.1.13? Now you should have all changes.
We haven't updated our SPM packages since 4.0.33

Hi @deeryoona, could you please update to 4.1.13? Now you should have all changes. We haven't updated our SPM packages since 4.0.33

this proble solved,thanks,satoshiotomakan


Tensorflow Lite AllocateTensors() fails with custom model

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Ubuntu 16.04
TensorFlow installed from (source or binary):
binary
TensorFlow version (use command below):
Python version:
('v1.8.0-0-g93bc2e2072', '1.8.0')
Bazel version (if compiling from source):

Build label: 0.13.0
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Mon Oct 18 21:33:40 +50297<PHONE_NUMBER>620)
Build timestamp:<PHONE_NUMBER>620
Build timestamp as int:<PHONE_NUMBER>620

GCC/Compiler version (if compiling from source):
gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1~16.04)
CUDA/cuDNN version:
None
GPU model and memory:
None
Exact command to reproduce:

Python-Code:
from keras import Input, Model
from keras.layers import Conv2D
import keras.backend as K
import tensorflow as tf
from tensorflow.python.framework import graph_util
# manually put back imported modules
import tempfile
import subprocess

tf.contrib.lite.tempfile = tempfile
tf.contrib.lite.subprocess = subprocess

K.set_learning_phase(0)
input = Input((416, 416, 3),name='Placeholder')
conv1 = Conv2D(16, kernel_size=(3, 3), strides=(1, 1), padding='same', use_bias=False)(input)
model = Model(input, conv1)
netin = [K.placeholder(name="Input", dtype=tf.float32, shape=(416,416,3))]
netout = [K.identity(model.outputs[0],"Prediction")]
sess = K.get_session()

constant_graph = graph_util.convert_variables_to_constants(sess, sess.graph_def, ["Prediction"])

tflite_model = tf.contrib.lite.toco_convert(constant_graph, netin, netout)
open('model' + '.tflite', "wb").write(tflite_model)

C-Code:
//based on tensorflow/contrib/lite/examples/minimal/minimal.cc

#include "tensorflow/contrib/lite/model.h"
#include "tensorflow/contrib/lite/interpreter.h"
#include "tensorflow/contrib/lite/kernels/register.h"
#include "tensorflow/contrib/lite/kernels/kernel_util.h"
#include <cstdio>
#include <iostream>
#include "exp.h"
#include "opencv2/highgui.hpp"
#include "opencv2/core.hpp"
// Usage: minimal <tflite model>

using namespace tflite;

#define TFLITE_MINIMAL_CHECK(x) \
  if(!(x)) {                                                    \
    fprintf(stderr, "Error at %s:%d\n",  __FILE__, __LINE__); \
    exit(1); \
  }

int main(int argc, char *argv[]) {
  if(argc != 3) {
    fprintf(stderr, "Usage: <model> <image>\n");
    return 1;
  }else{
      std::cout << "Reading model from: " << argv[1] << std::endl;
      std::cout << "Reading image from: " << argv[2] << std::endl;
  }
  const char* filename = argv[1];
    const char* imagefile = argv[2];

  // Load model
  std::unique_ptr<tflite::FlatBufferModel> model
      = tflite::FlatBufferModel::BuildFromFile(filename);
  TFLITE_MINIMAL_CHECK(model != nullptr);

  // Build the interpreter
  tflite::ops::builtin::BuiltinOpResolver resolver;
  resolver.AddCustom("Exp", Register_EXP());

  InterpreterBuilder builder(*model.get(), resolver);
  std::unique_ptr<Interpreter> interpreter;
  builder(&interpreter);
  TFLITE_MINIMAL_CHECK(interpreter != nullptr);
    cv::Mat cvimg = cv::imread(imagefile);
    cv::imshow("Input",cvimg);
    cv::waitKey(1);

  // Allocate tensor buffers.
    TFLITE_MINIMAL_CHECK(interpreter->AllocateTensors() == kTfLiteOk);
    // Fill input buffers

    int input = interpreter->inputs()[0];
    memcpy(interpreter->typed_input_tensor<float>(input), cvimg.data, cvimg.total() * cvimg.elemSize());

  // Run inference
    TFLITE_MINIMAL_CHECK(interpreter->Invoke() == kTfLiteOk);

  // Read output buffers
  // TODO(user): Insert getting data out code.
    //int output = interpreter->outputs()[0];
    std::cout << interpreter->typed_output_tensor<float>(0) << std::endl;
  return 0;
}

Describe the problem
I convert a keras model (very simplified to reproduce error) to tflite. I verified the graph using tensorboard and it seems fine. However, when I want to run it in C++ the following error occurs during the call of interpreter->AllocateTensors():
tensorflow/contrib/lite/kernels/conv.cc:189 input->dims->size != 4 (0 != 4)

This does not happen when loading a model from here. Is this a bug in the graph conversion in the model loader or am I doing sth wrong?

Short update. This seems to be a keras -> tensorflow problem. When I define the graph in tensorflow directly using tf.layers. .. there is no such problem

Nagging Assignee @robieta: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @robieta: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @robieta: It has been 44 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

The exp op is now supported , please try it  with nightly.  Please let us know once this works.

Nagging Assignee @robieta: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Has anyone solved this problem? I have the same error with a custom model converted from keras to tflite (.hdf5 to .tflite format). I tested my model in different ways and it seems to work, but when I try to load it in Android It doesn't. Thank you!

I have the same problem when converting from .hd5 to .tflite

Same problem, pre-trained mobilenet architecture on Keras gives this error on Android.

My Model is not keras but pure tensorflow and still gives this error on android.
But only for the quantized version.

I think it should be:
interpreter->typed_input_tensor<float>(0)
instead of
interpreter->typed_input_tensor<float>(input)


README: add authzed example

Hey there 👋
First of all a big thanks to the community for building and maintaining an incredibly useful project.
We built our own proxy based on prom-label-proxy that enables our users to query our internal Prometheus stack securely.
I think it'd be useful mention this in the README, because it uses this project as library, rather running it standalone and putting another proxy in front of it.
I'm also open to discussing where we found it difficult/annoying to use this project as a library and how we could improve that experience, if it's something the community is interested in.

Hey, not sure if I need to do anything to unblock this.
The biggest annoyance was simply the lack of access to the ReverseProxy ya'll create, because that would've just let us wrap only a small portion of the logic rather than having to completely reimplement a ResponseWriter to filter requests.


Fix issue #5814 - Rotated pictures shown as failed to upload, actually uploaded successfully

area:EditActivity.kt, UploadWorker.kt
Fixes #5814
Issue page https://github.com/commons-app/apps-android-commons/issues/5814

Added permission handling to allow the program to properly access the rotated image.

Additionally fixed a bug: the database was being accessed on the wrong thread, causing the program to crash.

I cannot confirm that this issue is fully resolved, as I was unable to reproduce the issue's description on my test devices. I still need the original reporter of the issue to test it again. (Currently, none of the problems described in the issue occur on my test devices, so I believe all possible fixes have been made.)

Personally, I think the issue described was caused by not obtaining read-write permissions, which led to a specific situation where the program may have skipped the permission check during the testing environment at the time. This could have caused the upload to succeed but still show as failed. I was able to partially reproduce the bug:
At the point where the upload should be show as failure, the program crashed.
I believe that in the testing environment when the issue was raised, the program forcefully bypassed the error for some reason, which led to the second bug described in the issue. This error should have caused the crash.

Would you mind solving the conflict? :-)

The code from Main solved the same problem and used a better solution, so I adopted the code from Main

Change it to final var

Actually I somehow do not observe the issue on the main branch anymore.
Are you still able to reproduce the issue on main?

Does this issue exist? I was unable to reproduce this while uploading a rotated image. Can you  @QUIETTTTTTTTTT share steps to reproduce if its still occurring on main?


In-place upgrade breaks discoverd on single node

@bfontaine reports that running flynn-host upgrade on a single node ended up putting discoverd into an infinite loop logging:
Waiting for store to catchup, current: 1 target: 169`

Looking at the code, I don't believe the upgrade strategy works for single-node discoverd. Since it doesn't work for any of the other databases either, we should just refuse to allow a single node in-place upgrade.

Aye for now we probably should just disable it. That said when we put in the infrastructure to support data format upgrade (like moving to new version of PG) that will probably be usable for single-node upgrades.

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Add $register variable for prompts

This will allow you to reference the value in the unnamed (yank) register in your prompts. I made it throw an error if that value is empty, not sure if this kind of error reported is desired in the project. Feel free to change the name of the variable as well.
The idea here is that you have three sources of input:

The register with data to reference
The visual selection with text to modify
The prompt for instructions to perform

Here's an example of how it might be used with a custom prompt I made:
https://github.com/David-Kunz/gen.nvim/assets/15198/394448c5-a248-469c-91bc-2908005fd617
Modify_With_Reference = {
  prompt = table.concat({
    "Referencing the following:",
    "$register",
    "Modify the following text, $input, just output the final text without additional quotes around it:",
    "$text",
  }, "\n"),
  replace = true
}

Hey @leafo ,
Thank you, this is neat! We could also enhance it by saying $registera or $registerx etc, but for now we can leave it like that!
Best regards,
David


Running code-insiders . on WSL leaves the terminal in a non-standard state

VSCode Version:
Version 1.19.0-insider
Commit<PHONE_NUMBER>c62594949b71651c8fa70065d16494
Date 2017-12-07T05:15:37.456Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
OS Version: Windows 10 Professional (Fall creators update)
Terminal:
ConEmu running Bash through WSL fails with the error reported
Default Bash terminal through WSL fails with the error reported
PowerShell works as intended (Code runs in the background)
ConEmu running PowerShell instead of Bash through WSL works as intended

Steps to Reproduce:

Run code-insiders . from WSL (Ubuntu) to open the current directory.
Code runs in the foreground of the terminal, CTRL+C frees the terminal, but Code continues to run.

Expected?

Run code-insiders .
2a. Have Code run in the background (personally I would prefer this).
2b.

Reproduces without extensions: Yes

The Windows executable is being run when launching from WSL, not the Linux one.  This may be a limitation of WSL that it called launch Windows executables in the background.

Correct, I am running the Windows version of VSCode.
VSCode does not run on Linux through WSL because it fails to render the window. There are bugs open for that in other repos / places.

Yeah and that's unlikely to change. I mean if launching Windows executables in the background is not allowed by design then this issue should be closed.

Oh. I didn't know that was a limitation, since VSCode was the only graphical app I've tried to launch from WSL.
It just seems weird having to CTRL+C to regain that terminal window (while the app still runs), but you are right, that this is a WSL thing and should be closed.


feat(tutorial): complete step 5

https://carbon-tutorial-wata-nbkn.mybluemix.net/#/

Sorry, I missed the sentence. I updated the description. Thanks.