Bug 1800645 - Re-enable the Template Service Broker and its Operator in 4.4
Summary: Re-enable the Template Service Broker and its Operator in 4.4
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Service Broker
Version: 4.4
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.4.0
Assignee: Fabian von Feilitzsch
QA Contact: Cuiping HUO
URL:
Whiteboard:
Depends On: 1798086 1798564 1808103
Blocks: 1782061
TreeView+ depends on / blocked
 
Reported: 2020-02-07 15:45 UTC by Jesus M. Rodriguez
Modified: 2020-05-04 11:35 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1798086
Environment:
Last Closed: 2020-05-04 11:34:49 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift template-service-broker-operator pull 68 0 None closed Bug 1800645: add 4.4 support to TSBO 2020-06-24 20:59:06 UTC
Red Hat Product Errata RHBA-2020:0581 0 None None None 2020-05-04 11:35:16 UTC

Comment 3 Cuiping HUO 2020-02-20 09:15:58 UTC
Verified.
cluster version: 4.4.0-0.nightly-2020-02-18-132334

$ oc get sub -n openshift-template-service-broker
NAME                             PACKAGE                          SOURCE            CHANNEL
openshifttemplateservicebroker   openshifttemplateservicebroker   qe-app-registry   4.4

$ oc get opsrc -n openshift-marketplace | grep redhat-operators-art
qe-app-registry       appregistry   https://quay.io/cnr   redhat-operators-art                                     Succeeded   The object has been successfully reconciled   8m35s

$ oc get csv -n openshift-template-service-broker openshifttemplateservicebrokeroperator.4.4.0-202002111717 -o yaml
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: '[{"apiVersion":"osb.openshift.io/v1","kind":"TemplateServiceBroker","metadata":{"name":"template-service-broker","namespace":"template-service-broker"},"spec":{}}]'
    capabilities: Seamless Upgrades
    containerImage: image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker@sha256:bdc9b4e43fbe5fdc6959138a69b5bf34d08e51113350d8d76a61eb9f1ea31585
    description: OpenShift Template Service Broker is an implementation of the [Open
      Service Broker API](https://github.com/openservicebrokerapi/servicebroker)
    olm.operatorGroup: openshift-template-service-broker-wbxwc
    olm.operatorNamespace: openshift-template-service-broker
    olm.skipRange: '>=4.3.0 <4.4.0'
    olm.targetNamespaces: openshift-template-service-broker
  creationTimestamp: "2020-02-18T10:56:36Z"
  generation: 1
  labels:
    olm.api.57b56b9c59508420: provided
  name: openshifttemplateservicebrokeroperator.4.4.0-202002111717
  namespace: openshift-template-service-broker
  resourceVersion: "251387"
  selfLink: /apis/operators.coreos.com/v1alpha1/namespaces/openshift-template-service-broker/clusterserviceversions/openshifttemplateservicebrokeroperator.4.4.0-202002111717
  uid: 1e511dc9-204e-45fd-b401-9d9c72cff957
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
    - description: An Open Service Broker supporting management of OpenShift templates.
      displayName: Template Service Broker
      kind: TemplateServiceBroker
      name: templateservicebrokers.osb.openshift.io
      version: v1
  description: |
    The OpenShift Template Service Broker implements the [Open Service Broker
    API](https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md)
    endpoints:
    - *Catalog*: returns a list of available templates as OSB API
      *Service* objects (the templates are read from one or more
      namespaces configured in the master config).
    - *Provision*: provision a given template (referred by its UID) into a
      namespace.  Under the covers, this creates a non-namespaced
      **BrokerTemplateInstance** object for the template service broker to
      store state associated with the the instantiation, as well as the
      **Secret** and **TemplateInstance** objects which are picked up by
      the **TemplateInstance** controller.  *Provision* is an asynchronous
      operation: it may return before provisioning is completed, and the
      provision status can (must) be recovered via the *Last Operation*
      endpoint (see below).
    - *Bind*: for a given template, return "credentials" exposed in any
      created ConfigMap, Secret, Service or Route object (see
      ExposeAnnotationPrefix and Base64ExposeAnnotationPrefix
      documentation).  The *Bind* call records the fact that it took
      place in the appropriate **BrokerTemplateInstance** object.
    - *Unbind*: this simply removes the metadata previously placed in the
      **BrokerTemplateInstance** object by a *Bind* call.
    - *Deprovision*: removes the objects created by the *Provision* call.
      The garbage collector removes all additional objects created by the
      **TemplateInstance** controller, hopefully transitively, as
      documented above.
    - *Last Operation*: returns the status of the previously run
      asynchronous operation.  In the template service broker, *Provision*
      is the only asynchronous operation.
  displayName: OpenShift Template Service Broker Operator
  install:
    spec:
      clusterPermissions:
      - rules:
        - apiGroups:
          - osb.openshift.io
          resources:
          - templateservicebrokers
          - templateservicebrokers/status
          verbs:
          - '*'
        - apiGroups:
          - servicecatalog.k8s.io
          resources:
          - clusterservicebrokers
          - servicebrokers
          verbs:
          - '*'
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - clusterroles
          - clusterrolebindings
          verbs:
          - create
          - delete
          - patch
          - get
          - list
        - apiGroups:
          - authorization.k8s.io
          resources:
          - subjectaccessreviews
          verbs:
          - create
        - apiGroups:
          - authentication.k8s.io
          resources:
          - tokenreviews
          verbs:
          - create
        - apiGroups:
          - authorization.openshift.io
          resources:
          - subjectaccessreviews
          verbs:
          - create
        - apiGroups:
          - template.openshift.io
          resources:
          - brokertemplateinstances
          verbs:
          - create
          - delete
          - get
          - update
        - apiGroups:
          - template.openshift.io
          resources:
          - brokertemplateinstances/finalizers
          verbs:
          - update
        - apiGroups:
          - template.openshift.io
          resources:
          - templateinstances
          verbs:
          - assign
          - create
          - delete
          - get
        - apiGroups:
          - template.openshift.io
          resources:
          - templates
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - services
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - create
          - delete
          - get
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - routes
          verbs:
          - get
        - apiGroups:
          - route.openshift.io
          resources:
          - routes
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - create
          - patch
          - update
        - nonResourceURLs:
          - /brokers/template.openshift.io/*
          verbs:
          - delete
          - get
          - put
          - update
        serviceAccountName: openshift-template-service-broker-operator
      deployments:
      - name: openshift-template-service-broker-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: openshift-template-service-broker-operator
          template:
            metadata:
              labels:
                name: openshift-template-service-broker-operator
              name: openshift-template-service-broker-operator
            spec:
              containers:
              - env:
                - name: IMAGE
                  value: image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker@sha256:bdc9b4e43fbe5fdc6959138a69b5bf34d08e51113350d8d76a61eb9f1ea31585
                - name: OPERATOR_NAME
                  value: openshift-template-service-broker-operator
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: WATCH_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                image: image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker-operator@sha256:898f10dd55fa326155a9084dca3054d86b053a1d8c9e07c5f1090f7ede1cea6f
                imagePullPolicy: IfNotPresent
                name: openshift-template-service-broker-operator
              serviceAccountName: openshift-template-service-broker-operator
      permissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - configmaps
          - secrets
          - services
          - services/finalizers
          - serviceaccounts
          - endpoints
          verbs:
          - '*'
        - apiGroups:
          - apps
          resources:
          - deployments
          - deployments/finalizers
          - replicasets
          verbs:
          - '*'
        - apiGroups:
          - apps.openshift.io
          resources:
          - deploymentconfigs
          verbs:
          - '*'
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - prometheusrules
          - servicemonitors
          verbs:
          - '*'
        serviceAccountName: openshift-template-service-broker-operator
    strategy: deployment
  installModes:
  - supported: true
    type: OwnNamespace
  - supported: true
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: false
    type: AllNamespaces
  keywords:
  - template
  - broker
  - open service broker
  labels:
    alm-status-descriptors: openshifttemplateservicebrokeroperator.v0.1.0
    operated-by: openshifttemplateservicebroker
  links:
  - name: Documentation
    url: https://docs.okd.io/latest/architecture/service_catalog/template_service_broker.html
  - name: Source Code
    url: https://github.com/openshift/origin/tree/master/pkg/templateservicebroker
  maintainers:
  - email: ansible-service-broker
    name: Red Hat, Inc.
  maturity: stable
  provider:
    name: Red Hat, Inc.
  selector:
    matchLabels:
      operated-by: openshifttemplateservicebroker
  version: 4.4.0-202002111717
status:
  certsLastUpdated: null
  certsRotateAt: null
  conditions:
  - lastTransitionTime: "2020-02-18T10:56:36Z"
    lastUpdateTime: "2020-02-18T10:56:36Z"
    message: requirements not yet checked
    phase: Pending
    reason: RequirementsUnknown
  - lastTransitionTime: "2020-02-18T10:56:36Z"
    lastUpdateTime: "2020-02-18T10:56:36Z"
    message: one or more requirements couldn't be found
    phase: Pending
    reason: RequirementsNotMet
  - lastTransitionTime: "2020-02-18T10:56:37Z"
    lastUpdateTime: "2020-02-18T10:56:37Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2020-02-18T10:56:38Z"
    lastUpdateTime: "2020-02-18T10:56:38Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2020-02-18T10:56:38Z"
    lastUpdateTime: "2020-02-18T10:56:40Z"
    message: |
      installing: Waiting: waiting for deployment openshift-template-service-broker-operator to become ready: Waiting for rollout to finish: 0 of 1 updated replicas are available...
    phase: Installing
    reason: InstallWaiting
  - lastTransitionTime: "2020-02-18T11:01:37Z"
    lastUpdateTime: "2020-02-18T11:01:37Z"
    message: install timeout
    phase: Failed
    reason: InstallCheckFailed
  - lastTransitionTime: "2020-02-18T11:01:39Z"
    lastUpdateTime: "2020-02-18T11:01:39Z"
    message: |
      installing: Waiting: waiting for deployment openshift-template-service-broker-operator to become ready: Waiting for rollout to finish: 0 of 1 updated replicas are available...
    phase: Pending
    reason: NeedsReinstall
  - lastTransitionTime: "2020-02-18T11:01:39Z"
    lastUpdateTime: "2020-02-18T11:01:39Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2020-02-18T11:01:39Z"
    lastUpdateTime: "2020-02-18T11:01:39Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2020-02-18T11:01:39Z"
    lastUpdateTime: "2020-02-18T11:01:41Z"
    message: |
      installing: Waiting: waiting for deployment openshift-template-service-broker-operator to become ready: Waiting for rollout to finish: 0 of 1 updated replicas are available...
    phase: Installing
    reason: InstallWaiting
  lastTransitionTime: "2020-02-18T11:01:39Z"
  lastUpdateTime: "2020-02-18T11:01:41Z"
  message: |
    installing: Waiting: waiting for deployment openshift-template-service-broker-operator to become ready: Waiting for rollout to finish: 0 of 1 updated replicas are available...
  phase: Installing
  reason: InstallWaiting
  requirementStatus:
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: templateservicebrokers.osb.openshift.io
    status: Present
    uuid: 550afc28-2f87-4683-a291-d3010c802719
    version: v1beta1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["*"],"apiGroups":[""],"resources":["pods","configmaps","secrets","services","services/finalizers","serviceaccounts","endpoints"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["*"],"apiGroups":["apps"],"resources":["deployments","deployments/finalizers","replicasets"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["*"],"apiGroups":["apps.openshift.io"],"resources":["deploymentconfigs"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["*"],"apiGroups":["monitoring.coreos.com"],"resources":["prometheusrules","servicemonitors"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["*"],"apiGroups":["osb.openshift.io"],"resources":["templateservicebrokers","templateservicebrokers/status"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["*"],"apiGroups":["servicecatalog.k8s.io"],"resources":["clusterservicebrokers","servicebrokers"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","patch","get","list"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterroles","clusterrolebindings"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authorization.openshift.io"],"resources":["subjectaccessreviews"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","update"],"apiGroups":["template.openshift.io"],"resources":["brokertemplateinstances"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["template.openshift.io"],"resources":["brokertemplateinstances/finalizers"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["assign","create","delete","get"],"apiGroups":["template.openshift.io"],"resources":["templateinstances"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["template.openshift.io"],"resources":["templates"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["services"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get"],"apiGroups":[""],"resources":["secrets"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["configmaps"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["routes"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":["route.openshift.io"],"resources":["routes"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","patch","update"],"apiGroups":[""],"resources":["events"]}
      status: Satisfied
      version: v1beta1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["delete","get","put","update"],"nonResourceURLs":["/brokers/template.openshift.io/*"]}
      status: Satisfied
      version: v1beta1
    group: ""
    kind: ServiceAccount
    message: ""
    name: openshift-template-service-broker-operator
    status: Present
    version: v1

Comment 4 Cuiping HUO 2020-02-26 05:56:10 UTC
(In reply to Cuiping HUO from comment #3)
> Verified.
> cluster version: 4.4.0-0.nightly-2020-02-18-132334
> 
> $ oc get sub -n openshift-template-service-broker
> NAME                             PACKAGE                          SOURCE    
> CHANNEL
> openshifttemplateservicebroker   openshifttemplateservicebroker  
> qe-app-registry   4.4
> 
> $ oc get opsrc -n openshift-marketplace | grep redhat-operators-art
> qe-app-registry       appregistry   https://quay.io/cnr  
> redhat-operators-art                                     Succeeded   The
> object has been successfully reconciled   8m35s
> 
> $ oc get csv -n openshift-template-service-broker
> openshifttemplateservicebrokeroperator.4.4.0-202002111717 -o yaml
> apiVersion: operators.coreos.com/v1alpha1
> kind: ClusterServiceVersion
> metadata:
>   annotations:
>     alm-examples:
> '[{"apiVersion":"osb.openshift.io/v1","kind":"TemplateServiceBroker",
> "metadata":{"name":"template-service-broker","namespace":"template-service-
> broker"},"spec":{}}]'
>     capabilities: Seamless Upgrades
>     containerImage:
> image-registry.openshift-image-registry.svc:5000/openshift/ose-template-
> service-broker@sha256:
> bdc9b4e43fbe5fdc6959138a69b5bf34d08e51113350d8d76a61eb9f1ea31585
>     description: OpenShift Template Service Broker is an implementation of
> the [Open
>       Service Broker
> API](https://github.com/openservicebrokerapi/servicebroker)
>     olm.operatorGroup: openshift-template-service-broker-wbxwc
>     olm.operatorNamespace: openshift-template-service-broker
>     olm.skipRange: '>=4.3.0 <4.4.0'
>     olm.targetNamespaces: openshift-template-service-broker
>   creationTimestamp: "2020-02-18T10:56:36Z"
>   generation: 1
>   labels:
>     olm.api.57b56b9c59508420: provided
>   name: openshifttemplateservicebrokeroperator.4.4.0-202002111717
>   namespace: openshift-template-service-broker
>   resourceVersion: "251387"
>   selfLink:
> /apis/operators.coreos.com/v1alpha1/namespaces/openshift-template-service-
> broker/clusterserviceversions/openshifttemplateservicebrokeroperator.4.4.0-
> 202002111717
>   uid: 1e511dc9-204e-45fd-b401-9d9c72cff957
> spec:
>   apiservicedefinitions: {}
>   customresourcedefinitions:
>     owned:
>     - description: An Open Service Broker supporting management of OpenShift
> templates.
>       displayName: Template Service Broker
>       kind: TemplateServiceBroker
>       name: templateservicebrokers.osb.openshift.io
>       version: v1
>   description: |
>     The OpenShift Template Service Broker implements the [Open Service Broker
>    
> API](https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.
> md)
>     endpoints:
>     - *Catalog*: returns a list of available templates as OSB API
>       *Service* objects (the templates are read from one or more
>       namespaces configured in the master config).
>     - *Provision*: provision a given template (referred by its UID) into a
>       namespace.  Under the covers, this creates a non-namespaced
>       **BrokerTemplateInstance** object for the template service broker to
>       store state associated with the the instantiation, as well as the
>       **Secret** and **TemplateInstance** objects which are picked up by
>       the **TemplateInstance** controller.  *Provision* is an asynchronous
>       operation: it may return before provisioning is completed, and the
>       provision status can (must) be recovered via the *Last Operation*
>       endpoint (see below).
>     - *Bind*: for a given template, return "credentials" exposed in any
>       created ConfigMap, Secret, Service or Route object (see
>       ExposeAnnotationPrefix and Base64ExposeAnnotationPrefix
>       documentation).  The *Bind* call records the fact that it took
>       place in the appropriate **BrokerTemplateInstance** object.
>     - *Unbind*: this simply removes the metadata previously placed in the
>       **BrokerTemplateInstance** object by a *Bind* call.
>     - *Deprovision*: removes the objects created by the *Provision* call.
>       The garbage collector removes all additional objects created by the
>       **TemplateInstance** controller, hopefully transitively, as
>       documented above.
>     - *Last Operation*: returns the status of the previously run
>       asynchronous operation.  In the template service broker, *Provision*
>       is the only asynchronous operation.
>   displayName: OpenShift Template Service Broker Operator
>   install:
>     spec:
>       clusterPermissions:
>       - rules:
>         - apiGroups:
>           - osb.openshift.io
>           resources:
>           - templateservicebrokers
>           - templateservicebrokers/status
>           verbs:
>           - '*'
>         - apiGroups:
>           - servicecatalog.k8s.io
>           resources:
>           - clusterservicebrokers
>           - servicebrokers
>           verbs:
>           - '*'
>         - apiGroups:
>           - rbac.authorization.k8s.io
>           resources:
>           - clusterroles
>           - clusterrolebindings
>           verbs:
>           - create
>           - delete
>           - patch
>           - get
>           - list
>         - apiGroups:
>           - authorization.k8s.io
>           resources:
>           - subjectaccessreviews
>           verbs:
>           - create
>         - apiGroups:
>           - authentication.k8s.io
>           resources:
>           - tokenreviews
>           verbs:
>           - create
>         - apiGroups:
>           - authorization.openshift.io
>           resources:
>           - subjectaccessreviews
>           verbs:
>           - create
>         - apiGroups:
>           - template.openshift.io
>           resources:
>           - brokertemplateinstances
>           verbs:
>           - create
>           - delete
>           - get
>           - update
>         - apiGroups:
>           - template.openshift.io
>           resources:
>           - brokertemplateinstances/finalizers
>           verbs:
>           - update
>         - apiGroups:
>           - template.openshift.io
>           resources:
>           - templateinstances
>           verbs:
>           - assign
>           - create
>           - delete
>           - get
>         - apiGroups:
>           - template.openshift.io
>           resources:
>           - templates
>           verbs:
>           - get
>           - list
>           - watch
>         - apiGroups:
>           - ""
>           resources:
>           - services
>           verbs:
>           - get
>           - list
>           - watch
>         - apiGroups:
>           - ""
>           resources:
>           - secrets
>           verbs:
>           - create
>           - delete
>           - get
>         - apiGroups:
>           - ""
>           resources:
>           - configmaps
>           verbs:
>           - get
>         - apiGroups:
>           - ""
>           resources:
>           - routes
>           verbs:
>           - get
>         - apiGroups:
>           - route.openshift.io
>           resources:
>           - routes
>           verbs:
>           - get
>         - apiGroups:
>           - ""
>           resources:
>           - events
>           verbs:
>           - create
>           - patch
>           - update
>         - nonResourceURLs:
>           - /brokers/template.openshift.io/*
>           verbs:
>           - delete
>           - get
>           - put
>           - update
>         serviceAccountName: openshift-template-service-broker-operator
>       deployments:
>       - name: openshift-template-service-broker-operator
>         spec:
>           replicas: 1
>           selector:
>             matchLabels:
>               name: openshift-template-service-broker-operator
>           template:
>             metadata:
>               labels:
>                 name: openshift-template-service-broker-operator
>               name: openshift-template-service-broker-operator
>             spec:
>               containers:
>               - env:
>                 - name: IMAGE
>                   value:
> image-registry.openshift-image-registry.svc:5000/openshift/ose-template-
> service-broker@sha256:
> bdc9b4e43fbe5fdc6959138a69b5bf34d08e51113350d8d76a61eb9f1ea31585
>                 - name: OPERATOR_NAME
>                   value: openshift-template-service-broker-operator
>                 - name: POD_NAME
>                   valueFrom:
>                     fieldRef:
>                       fieldPath: metadata.name
>                 - name: WATCH_NAMESPACE
>                   valueFrom:
>                     fieldRef:
>                       fieldPath: metadata.namespace
>                 image:
> image-registry.openshift-image-registry.svc:5000/openshift/ose-template-
> service-broker-operator@sha256:
> 898f10dd55fa326155a9084dca3054d86b053a1d8c9e07c5f1090f7ede1cea6f
>                 imagePullPolicy: IfNotPresent
>                 name: openshift-template-service-broker-operator
>               serviceAccountName: openshift-template-service-broker-operator
>       permissions:
>       - rules:
>         - apiGroups:
>           - ""
>           resources:
>           - pods
>           - configmaps
>           - secrets
>           - services
>           - services/finalizers
>           - serviceaccounts
>           - endpoints
>           verbs:
>           - '*'
>         - apiGroups:
>           - apps
>           resources:
>           - deployments
>           - deployments/finalizers
>           - replicasets
>           verbs:
>           - '*'
>         - apiGroups:
>           - apps.openshift.io
>           resources:
>           - deploymentconfigs
>           verbs:
>           - '*'
>         - apiGroups:
>           - monitoring.coreos.com
>           resources:
>           - prometheusrules
>           - servicemonitors
>           verbs:
>           - '*'
>         serviceAccountName: openshift-template-service-broker-operator
>     strategy: deployment
>   installModes:
>   - supported: true
>     type: OwnNamespace
>   - supported: true
>     type: SingleNamespace
>   - supported: false
>     type: MultiNamespace
>   - supported: false
>     type: AllNamespaces
>   keywords:
>   - template
>   - broker
>   - open service broker
>   labels:
>     alm-status-descriptors: openshifttemplateservicebrokeroperator.v0.1.0
>     operated-by: openshifttemplateservicebroker
>   links:
>   - name: Documentation
>     url:
> https://docs.okd.io/latest/architecture/service_catalog/
> template_service_broker.html
>   - name: Source Code
>     url:
> https://github.com/openshift/origin/tree/master/pkg/templateservicebroker
>   maintainers:
>   - email: ansible-service-broker
>     name: Red Hat, Inc.
>   maturity: stable
>   provider:
>     name: Red Hat, Inc.
>   selector:
>     matchLabels:
>       operated-by: openshifttemplateservicebroker
>   version: 4.4.0-202002111717
> status:
>   certsLastUpdated: null
>   certsRotateAt: null
>   conditions:
>   - lastTransitionTime: "2020-02-18T10:56:36Z"
>     lastUpdateTime: "2020-02-18T10:56:36Z"
>     message: requirements not yet checked
>     phase: Pending
>     reason: RequirementsUnknown
>   - lastTransitionTime: "2020-02-18T10:56:36Z"
>     lastUpdateTime: "2020-02-18T10:56:36Z"
>     message: one or more requirements couldn't be found
>     phase: Pending
>     reason: RequirementsNotMet
>   - lastTransitionTime: "2020-02-18T10:56:37Z"
>     lastUpdateTime: "2020-02-18T10:56:37Z"
>     message: all requirements found, attempting install
>     phase: InstallReady
>     reason: AllRequirementsMet
>   - lastTransitionTime: "2020-02-18T10:56:38Z"
>     lastUpdateTime: "2020-02-18T10:56:38Z"
>     message: waiting for install components to report healthy
>     phase: Installing
>     reason: InstallSucceeded
>   - lastTransitionTime: "2020-02-18T10:56:38Z"
>     lastUpdateTime: "2020-02-18T10:56:40Z"
>     message: |
>       installing: Waiting: waiting for deployment
> openshift-template-service-broker-operator to become ready: Waiting for
> rollout to finish: 0 of 1 updated replicas are available...
>     phase: Installing
>     reason: InstallWaiting
>   - lastTransitionTime: "2020-02-18T11:01:37Z"
>     lastUpdateTime: "2020-02-18T11:01:37Z"
>     message: install timeout
>     phase: Failed
>     reason: InstallCheckFailed
>   - lastTransitionTime: "2020-02-18T11:01:39Z"
>     lastUpdateTime: "2020-02-18T11:01:39Z"
>     message: |
>       installing: Waiting: waiting for deployment
> openshift-template-service-broker-operator to become ready: Waiting for
> rollout to finish: 0 of 1 updated replicas are available...
>     phase: Pending
>     reason: NeedsReinstall
>   - lastTransitionTime: "2020-02-18T11:01:39Z"
>     lastUpdateTime: "2020-02-18T11:01:39Z"
>     message: all requirements found, attempting install
>     phase: InstallReady
>     reason: AllRequirementsMet
>   - lastTransitionTime: "2020-02-18T11:01:39Z"
>     lastUpdateTime: "2020-02-18T11:01:39Z"
>     message: waiting for install components to report healthy
>     phase: Installing
>     reason: InstallSucceeded
>   - lastTransitionTime: "2020-02-18T11:01:39Z"
>     lastUpdateTime: "2020-02-18T11:01:41Z"
>     message: |
>       installing: Waiting: waiting for deployment
> openshift-template-service-broker-operator to become ready: Waiting for
> rollout to finish: 0 of 1 updated replicas are available...
>     phase: Installing
>     reason: InstallWaiting
>   lastTransitionTime: "2020-02-18T11:01:39Z"
>   lastUpdateTime: "2020-02-18T11:01:41Z"
>   message: |
>     installing: Waiting: waiting for deployment
> openshift-template-service-broker-operator to become ready: Waiting for
> rollout to finish: 0 of 1 updated replicas are available...
>   phase: Installing
>   reason: InstallWaiting
>   requirementStatus:
>   - group: apiextensions.k8s.io
>     kind: CustomResourceDefinition
>     message: CRD is present and Established condition is true
>     name: templateservicebrokers.osb.openshift.io
>     status: Present
>     uuid: 550afc28-2f87-4683-a291-d3010c802719
>     version: v1beta1
>   - dependents:
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: namespaced
> rule:{"verbs":["*"],"apiGroups":[""],"resources":["pods","configmaps",
> "secrets","services","services/finalizers","serviceaccounts","endpoints"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: namespaced
> rule:{"verbs":["*"],"apiGroups":["apps"],"resources":["deployments",
> "deployments/finalizers","replicasets"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: namespaced
> rule:{"verbs":["*"],"apiGroups":["apps.openshift.io"],"resources":
> ["deploymentconfigs"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: namespaced
> rule:{"verbs":["*"],"apiGroups":["monitoring.coreos.com"],"resources":
> ["prometheusrules","servicemonitors"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["*"],"apiGroups":["osb.openshift.io"],"resources":
> ["templateservicebrokers","templateservicebrokers/status"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["*"],"apiGroups":["servicecatalog.k8s.io"],"resources":
> ["clusterservicebrokers","servicebrokers"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create","delete","patch","get","list"],"apiGroups":["rbac.
> authorization.k8s.io"],"resources":["clusterroles","clusterrolebindings"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":
> ["subjectaccessreviews"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":
> ["tokenreviews"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create"],"apiGroups":["authorization.openshift.io"],
> "resources":["subjectaccessreviews"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create","delete","get","update"],"apiGroups":["template.
> openshift.io"],"resources":["brokertemplateinstances"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["update"],"apiGroups":["template.openshift.io"],"resources":
> ["brokertemplateinstances/finalizers"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["assign","create","delete","get"],"apiGroups":["template.
> openshift.io"],"resources":["templateinstances"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["get","list","watch"],"apiGroups":["template.openshift.io"],
> "resources":["templates"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":
> ["services"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create","delete","get"],"apiGroups":[""],"resources":
> ["secrets"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["get"],"apiGroups":[""],"resources":["configmaps"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["get"],"apiGroups":[""],"resources":["routes"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["get"],"apiGroups":["route.openshift.io"],"resources":
> ["routes"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["create","patch","update"],"apiGroups":[""],"resources":
> ["events"]}
>       status: Satisfied
>       version: v1beta1
>     - group: rbac.authorization.k8s.io
>       kind: PolicyRule
>       message: cluster
> rule:{"verbs":["delete","get","put","update"],"nonResourceURLs":["/brokers/
> template.openshift.io/*"]}
>       status: Satisfied
>       version: v1beta1
>     group: ""
>     kind: ServiceAccount
>     message: ""
>     name: openshift-template-service-broker-operator
>     status: Present
>     version: v1

template-service-broker-operator can be installed successfully,
but verify failed with template service broker.
The error message is pretty similar with https://bugzilla.redhat.com/show_bug.cgi?id=1783829.


$ oc logs -f openshift-template-service-broker-operator-d4bd6b6c7-qk5wv 
{"level":"info","ts":1582190464.3036518,"logger":"cmd","msg":"Go Version: go1.13.4"}
{"level":"info","ts":1582190464.3037083,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1582190464.3037162,"logger":"cmd","msg":"Version of operator-sdk: v0.12.0+git"}
{"level":"info","ts":1582190464.3037367,"logger":"cmd","msg":"Watching namespace.","Namespace":"openshift-template-service-broker"}
{"level":"info","ts":1582190466.6216123,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"0.0.0.0:8383"}
{"level":"info","ts":1582190466.6221745,"logger":"watches","msg":"Failed to parse %v from environment. Using default %v","WORKER_TEMPLATESERVICEBROKER_OSB_OPENSHIFT_IO":1}
{"level":"info","ts":1582190466.6221993,"logger":"watches","msg":"Failed to parse %v from environment. Using default %v","ANSIBLE_VERBOSITY_TEMPLATESERVICEBROKER_OSB_OPENSHIFT_IO":2}
{"level":"info","ts":1582190466.6222587,"logger":"ansible-controller","msg":"Watching resource","Options.Group":"osb.openshift.io","Options.Version":"v1","Options.Kind":"TemplateServiceBroker"}
{"level":"info","ts":1582190466.6225896,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"templateservicebroker-controller","source":"kind source: osb.openshift.io/v1, Kind=TemplateServiceBroker"}
{"level":"info","ts":1582190466.6228318,"logger":"leader","msg":"Trying to become the leader."}
{"level":"info","ts":1582190468.9473782,"logger":"leader","msg":"No pre-existing lock was found."}
{"level":"info","ts":1582190468.9583323,"logger":"leader","msg":"Became the leader."}
{"level":"info","ts":1582190473.652566,"logger":"metrics","msg":"Metrics Service object created","Service.Name":"openshift-template-service-broker-operator-metrics","Service.Namespace":"openshift-template-service-broker"}
{"level":"info","ts":1582190473.6562455,"logger":"proxy","msg":"Starting to serve","Address":"127.0.0.1:8888"}
{"level":"info","ts":1582190473.6565778,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
{"level":"info","ts":1582190473.757262,"logger":"controller-runtime.controller","msg":"Starting Controller","controller":"templateservicebroker-controller"}
{"level":"info","ts":1582190473.8574772,"logger":"controller-runtime.controller","msg":"Starting workers","controller":"templateservicebroker-controller","worker count":1}
{"level":"error","ts":1582190782.8844702,"logger":"runner","msg":"Traceback (most recent call last):\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/__main__.py\", line 329, in main\n    res = run(**run_options)\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/interface.py\", line 162, in run\n    r.run()\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/runner.py\", line 93, in run\n    self.status_callback('starting')\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/runner.py\", line 84, in status_callback\n    ansible_runner.plugins[plugin].status_handler(self.config, status_data)\n  File \"/usr/lib/python2.7/site-packages/ansible_runner_http/events.py\", line 38, in status_handler\n    urlpath=plugin_config['runner_path'])\n  File \"/usr/lib/python2.7/site-packages/ansible_runner_http/events.py\", line 18, in send_request\n    return session.post(url_actual, headers=headers, json=(data))\n  File \"/usr/lib/python2.7/site-packages/requests/sessions.py\", line 529, in post\n    return self.request('POST', url, data=data, json=json, **kwargs)\n  File \"/usr/lib/python2.7/site-packages/requests/sessions.py\", line 486, in request\n    resp = self.send(prep, **send_kwargs)\n  File \"/usr/lib/python2.7/site-packages/requests/sessions.py\", line 598, in send\n    r = adapter.send(request, **kwargs)\n  File \"/usr/lib/python2.7/site-packages/requests/adapters.py\", line 370, in send\n    timeout=timeout\n  File \"/usr/lib/python2.7/site-packages/urllib3/connectionpool.py\", line 587, in urlopen\n    timeout_obj = self._get_timeout(timeout)\n  File \"/usr/lib/python2.7/site-packages/urllib3/connectionpool.py\", line 302, in _get_timeout\n    return Timeout.from_float(timeout)\n  File \"/usr/lib/python2.7/site-packages/urllib3/util/timeout.py\", line 154, in from_float\n    return Timeout(read=timeout, connect=timeout)\n  File \"/usr/lib/python2.7/site-packages/urllib3/util/timeout.py\", line 94, in __init__\n    self._connect = self._validate_timeout(connect, 'connect')\n  File \"/usr/lib/python2.7/site-packages/urllib3/util/timeout.py\", line 127, in _validate_timeout\n    \"int, float or None.\" % (name, value))\nValueError: Timeout value connect was Timeout(connect=None, read=None, total=None), but it must be an int, float or None.\n","job":"6129484611666145821","name":"template-service-broker","namespace":"openshift-template-service-broker","error":"exit status 1","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tsrc/github.com/operator-framework/operator-sdk/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/runner.(*runner).Run.func1\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/runner/runner.go:199"}
{"level":"error","ts":1582190782.8848586,"logger":"reconciler","msg":"Failed to get ansible-runner stdout","job":"6129484611666145821","name":"template-service-broker","namespace":"openshift-template-service-broker","error":"open /tmp/ansible-operator/runner/osb.openshift.io/v1/TemplateServiceBroker/openshift-template-service-broker/template-service-broker/artifacts/6129484611666145821/stdout: no such file or directory","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tsrc/github.com/operator-framework/operator-sdk/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/controller.(*AnsibleOperatorReconciler).Reconcile\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/controller/reconcile.go:183\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:216\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:192\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:171\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153\nk8s.io/apimachinery/pkg/util/wait.Until\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1582190782.8850884,"logger":"controller-runtime.controller","msg":"Reconciler error","controller":"templateservicebroker-controller","request":"openshift-template-service-broker/template-service-broker","error":"open /tmp/ansible-operator/runner/osb.openshift.io/v1/TemplateServiceBroker/openshift-template-service-broker/template-service-broker/artifacts/6129484611666145821/stdout: no such file or directory","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tsrc/github.com/operator-framework/operator-sdk/vendor/github.com/go-logr/zapr/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:218\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:192\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:171\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153\nk8s.io/apimachinery/pkg/util/wait.Until\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88"}
{"level":"error","ts":1582190784.2685933,"logger":"runner","msg":"Traceback (most recent call last):\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/__main__.py\", line 329, in main\n    res = run(**run_options)\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/interface.py\", line 162, in run\n    r.run()\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/runner.py\", line 93, in run\n    self.status_callback('starting')\n  File \"/usr/lib/python2.7/site-packages/ansible_runner/runner.py\", line 84, in status_callback\n    ansible_runner.plugins[plugin].status_handler(self.config, status_data)\n  File \"/usr/lib/python2.7/site-packages/ansible_runner_http/events.py\", line 38, in status_handler\n    urlpath=plugin_config['runner_path'])\n  File \"/usr/lib/python2.7/site-packages/ansible_runner_http/events.py\", line 18, in send_request\n    return session.post(url_actual, headers=headers, json=(data))\n  File \"/usr/lib/python2.7/site-packages/requests/sessions.py\", line 529, in post\n    return self.request('POST', url, data=data, json=json, **kwargs)\n  File \"/usr/lib/python2.7/site-packages/requests/sessions.py\", line 486, in request\n    resp = self.send(prep, **send_kwargs)\n  File \"/usr/lib/python2.7/site-packages/requests/sessions.py\", line 598, in send\n    r = adapter.send(request, **kwargs)\n  File \"/usr/lib/python2.7/site-packages/requests/adapters.py\", line 370, in send\n    timeout=timeout\n  File \"/usr/lib/python2.7/site-packages/urllib3/connectionpool.py\", line 587, in urlopen\n    timeout_obj = self._get_timeout(timeout)\n  File \"/usr/lib/python2.7/site-packages/urllib3/connectionpool.py\", line 302, in _get_timeout\n    return Timeout.from_float(timeout)\n  File \"/usr/lib/python2.7/site-packages/urllib3/util/timeout.py\", line 154, in from_float\n    return Timeout(read=timeout, connect=timeout)\n  File \"/usr/lib/python2.7/site-packages/urllib3/util/timeout.py\", line 94, in __init__\n    self._connect = self._validate_timeout(connect, 'connect')\n  File \"/usr/lib/python2.7/site-packages/urllib3/util/timeout.py\", line 127, in _validate_timeout\n    \"int, float or None.\" % (name, value))\nValueError: Timeout value connect was Timeout(connect=None, read=None, total=None), but it must be an int, float or None.\n","job":"4037200794235010051","name":"template-service-broker","namespace":"openshift-template-service-broker","error":"exit status 1","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tsrc/github.com/operator-framework/operator-sdk/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/runner.(*runner).Run.func1\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/runner/runner.go:199"}
{"level":"error","ts":1582190784.2689536,"logger":"reconciler","msg":"Failed to get ansible-runner stdout","job":"4037200794235010051","name":"template-service-broker","namespace":"openshift-template-service-broker","error":"open /tmp/ansible-operator/runner/osb.openshift.io/v1/TemplateServiceBroker/openshift-template-service-broker/template-service-broker/artifacts/4037200794235010051/stdout: no such file or directory","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tsrc/github.com/operator-framework/operator-sdk/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/controller.(*AnsibleOperatorReconciler).Reconcile\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/controller/reconcile.go:183\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:216\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:192\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\tsrc/github.com/operator-framework/operator-sdk/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:171\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\tsrc/github.com/operator-framework/operator-sdk/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\tsrc/github.com/operator-framework/operator-

Comment 5 Jesus M. Rodriguez 2020-02-27 04:22:41 UTC
@fabianvf the TSBO has the wrong python-requests package

[jesusr@transam release{svcat-controller-manager-operator-golang-1.13}]$ docker run -it --entrypoint=/bin/bash registry-proxy.engineering.redhat.com/rh-osbs/openshift-ose-template-service-broker-operator:v4.4.0-202002262131
bash-4.2$ rpm -q python-requests
python-requests-2.6.0-8.el7_7.noarch
bash-4.2$

Comment 7 Jesus M. Rodriguez 2020-02-28 02:21:41 UTC
Moving back to ON_QA since bug 1808103 is ON_QA now.

Comment 8 Cuiping HUO 2020-02-28 08:31:45 UTC
Verified.

Cluster version: 4.4.0-0.nightly-2020-02-25-122356

$ oc get csv -n openshift-template-service-broker
NAME                                                        DISPLAY                                      VERSION              REPLACES   PHASE
openshifttemplateservicebrokeroperator.4.4.0-202002270901   OpenShift Template Service Broker Operator   4.4.0-202002270901              Succeeded

$ oc get po -n openshift-template-service-broker
NAME                                                         READY   STATUS      RESTARTS   AGE
apiserver-2-deploy                                           0/1     Completed   0          3m6s
apiserver-2-gtlbs                                            1/1     Running     0          3m1s
openshift-template-service-broker-operator-75b5b486d-xjdsh   1/1     Running     0          17m

$ oc logs -f apiserver-2-gtlbs 
I0228 08:26:18.009520       1 secure_serving.go:116] Serving securely on [::]:8443
I0228 08:26:18.010964       1 controller_utils.go:1027] Waiting for caches to sync for tsb controller
I0228 08:26:18.711236       1 controller_utils.go:1034] Caches are synced for tsb controller
^C
[chuo@localhost .kube]$ oc describe po apiserver-2-gtlbs
Name:         apiserver-2-gtlbs
Namespace:    openshift-template-service-broker
Priority:     0
Node:         xjiang44bm-ppsgp-compute-0/10.0.99.105
Start Time:   Fri, 28 Feb 2020 16:26:12 +0800
Labels:       apiserver=true
              app=template-service-broker
              deployment=apiserver-2
              deploymentconfig=apiserver
              service=apiserver
Annotations:  k8s.v1.cni.cncf.io/networks-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "10.131.0.181"
                    ],
                    "dns": {},
                    "default-route": [
                        "10.131.0.1"
                    ]
                }]
              openshift.io/deployment-config.latest-version: 2
              openshift.io/deployment-config.name: apiserver
              openshift.io/deployment.name: apiserver-2
              openshift.io/scc: restricted
Status:       Running
IP:           10.131.0.181
IPs:
  IP:           10.131.0.181
Controlled By:  ReplicationController/apiserver-2
Containers:
  c:
    Container ID:  cri-o://df94eb4fe02cc6e30ccc0c6791b724878325af59a78a1b1b90db4a5674d33819
    Image:         image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker:v4.4.0
    Image ID:      image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker@sha256:40131c5f3420930804649fee4fa8393c96358716a5fd037fe8dabb72597e05f5
    Port:          8443/TCP
    Host Port:     0/TCP
    Command:
      /usr/bin/template-service-broker
      start
      template-service-broker
      --secure-port=8443
      --audit-log-path=-
      --tls-cert-file=/var/serving-cert/tls.crt
      --tls-private-key-file=/var/serving-cert/tls.key
      --v=0
      --config=/var/apiserver-config/apiserver-config.yaml
    State:          Running
      Started:      Fri, 28 Feb 2020 16:26:17 +0800
    Ready:          True
    Restart Count:  0
    Readiness:      http-get https://:8443/healthz delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /var/apiserver-config from apiserver-config (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from apiserver-token-stdx8 (ro)
      /var/serving-cert from serving-cert (rw)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  serving-cert:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  apiserver-serving-cert
    Optional:    false
  apiserver-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      apiserver-config
    Optional:  false
  apiserver-token-stdx8:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  apiserver-token-stdx8
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age        From                                 Message
  ----    ------     ----       ----                                 -------
  Normal  Scheduled  <unknown>  default-scheduler                    Successfully assigned openshift-template-service-broker/apiserver-2-gtlbs to xjiang44bm-ppsgp-compute-0
  Normal  Pulling    3m59s      kubelet, xjiang44bm-ppsgp-compute-0  Pulling image "image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker:v4.4.0"
  Normal  Pulled     3m57s      kubelet, xjiang44bm-ppsgp-compute-0  Successfully pulled image "image-registry.openshift-image-registry.svc:5000/openshift/ose-template-service-broker:v4.4.0"
  Normal  Created    3m57s      kubelet, xjiang44bm-ppsgp-compute-0  Created container c
  Normal  Started    3m57s      kubelet, xjiang44bm-ppsgp-compute-0  Started container c

Comment 10 errata-xmlrpc 2020-05-04 11:34:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:0581


Note You need to log in before you can comment on or make changes to this bug.