diff --git a/deploy/chart/templates/image-references b/deploy/chart/templates/image-references index 1ea1c00072..79ac4421fc 100644 --- a/deploy/chart/templates/image-references +++ b/deploy/chart/templates/image-references @@ -3,7 +3,7 @@ kind: ImageStream apiVersion: image.openshift.io/v1 spec: tags: - - name: olm + - name: operator-lifecycle-manager from: kind: DockerImage name: {{ .Values.olm.image.ref }} diff --git a/deploy/ocp/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml b/deploy/ocp/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml index e892a62a8f..bc0f899048 100644 --- a/deploy/ocp/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml +++ b/deploy/ocp/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml @@ -11628,7 +11628,7 @@ data: serviceAccountName: service-catalog-apiserver containers: - name: apiserver - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11738,7 +11738,7 @@ data: serviceAccountName: service-catalog-controller containers: - name: controller-manager - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: diff --git a/deploy/ocp/manifests/0.8.0/image-references b/deploy/ocp/manifests/0.8.0/image-references index a8f84af416..232e3be227 100644 --- a/deploy/ocp/manifests/0.8.0/image-references +++ b/deploy/ocp/manifests/0.8.0/image-references @@ -5,7 +5,7 @@ kind: ImageStream apiVersion: image.openshift.io/v1 spec: tags: - - name: olm + - name: operator-lifecycle-manager from: kind: DockerImage name: quay.io/coreos/olm@sha256:1639d570809c5827810a1870763016e8c046283632d47e0b47183c82f8e515f2 diff --git a/deploy/ocp/values.yaml b/deploy/ocp/values.yaml index 25b630b2a6..5bdbbf07b3 100644 --- a/deploy/ocp/values.yaml +++ b/deploy/ocp/values.yaml @@ -26,4 +26,4 @@ package: internalPort: 5443 catalog_sources: - rh-operators -- certified-operators +- certified-operators \ No newline at end of file diff --git a/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml b/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml index dc52dd4df7..690e2b5b2c 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_00-namespace.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_00-namespace.yaml apiVersion: v1 kind: Namespace @@ -6,3 +6,8 @@ metadata: name: openshift-operator-lifecycle-manager labels: openshift.io/run-level: "1" +--- +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-operators diff --git a/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml b/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml index ef2cc7dd1b..8ab035f630 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml index c103fc5abb..2a82d81955 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml index eae0ef7b95..8742215dca 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_03-installplan.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_03-installplan.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml index 2f3acd283e..35f0c24a15 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_04-subscription.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_04-subscription.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml index 66731bc01b..8facb62fbd 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_05-catalogsource.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml b/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml index ab03e90826..bc0f899048 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_06-rh-operators.configmap.yaml kind: ConfigMap @@ -4424,6 +4424,35 @@ data: - acls required: - authentication + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + name: deschedulers.descheduler.io + spec: + group: descheduler.io + names: + kind: Descheduler + listKind: DeschedulerList + plural: deschedulers + singular: descheduler + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + spec: + strategies: + type: array + uniqueItems: true + minItems: 1 + maxItems: 4 + collectionFormat: pipes + items: + type: string + schedule: + type: string + pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' + - apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: @@ -9550,6 +9579,142 @@ data: path: authorization.type x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:label' + - apiVersion: operators.coreos.com/v1alpha1 + kind: ClusterServiceVersion + metadata: + annotations: + categories: openshift optional + certifiedLevel: Primed + containerImage: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator + createdAt: 2019/11/15 + description: An operator to run the OpenShift descheduler + healthIndex: B + repository: https://github.com/openshift/descheduler-operator + support: Red Hat + name: descheduler.v0.0.1 + namespace: openshift-descheduler-operator + spec: + description: | + # Descheduler for Kubernetes + + ## Introduction + + Scheduling in Kubernetes is the process of binding pending pods to nodes, and is performed by + a component of Kubernetes called kube-scheduler. The scheduler's decisions, whether or where a + pod can or can not be scheduled, are guided by its configurable policy which comprises of set of + rules, called predicates and priorities. The scheduler's decisions are influenced by its view of + a Kubernetes cluster at that point of time when a new pod appears first time for scheduling. + As Kubernetes clusters are very dynamic and their state change over time, there may be desired + to move already running pods to some other nodes for various reasons + + * Some nodes are under or over utilized. + * The original scheduling decision does not hold true any more, as taints or labels are added to + or removed from nodes, pod/node affinity requirements are not satisfied any more. + * Some nodes failed and their pods moved to other nodes. + New nodes are added to clusters. + + Consequently, there might be several pods scheduled on less desired nodes in a cluster. + Descheduler, based on its policy, finds pods that can be moved and evicts them. Please + note, in current implementation, descheduler does not schedule replacement of evicted pods + but relies on the default scheduler for that. + + ## Note + + Any api could be changed any time with out any notice. That said, your feedback is + very important and appreciated to make this project more stable and useful. + + customresourcedefinitions: + owned: + - description: Represents an instance of a Descheduler application + displayName: Descheduler Operator + kind: Descheduler + name: deschedulers.descheduler.io + version: v1alpha1 + displayName: Descheduler + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - services + - pods + - configmaps + - secrets + - names + - nodes + - pods/eviction + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - batch + - extensions + resources: + - jobs + verbs: + - '*' + - apiGroups: + - descheduler.io + resources: + - '*' + verbs: + - '*' + serviceAccountName: openshift-descheduler + deployments: + - name: descheduler-operator + spec: + replicas: 1 + selector: + matchLabels: + app: descheduler-operator + template: + metadata: + labels: + app: descheduler-operator + spec: + containers: + - command: + - descheduler-operator + env: + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_NAME + value: descheduler-operator + image: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator + imagePullPolicy: Always + name: descheduler-operator + restartPolicy: Always + serviceAccount: openshift-descheduler + serviceAccountName: openshift-descheduler + terminationGracePeriodSeconds: 5 + strategy: deployment + labels: + olm-owner-enterprise-app: descheduler-operator + olm-status-descriptors: descheduler.v0.0.1 + maintainers: + - email: support@redhat.com + name: Red Hat + provider: + name: Red Hat + version: 0.0.1 + - #! validate-crd: ./deploy/chart/templates/03-clusterserviceversion.crd.yaml #! parse-kind: ClusterServiceVersion apiVersion: operators.coreos.com/v1alpha1 @@ -11463,7 +11628,7 @@ data: serviceAccountName: service-catalog-apiserver containers: - name: apiserver - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11573,7 +11738,7 @@ data: serviceAccountName: service-catalog-controller containers: - name: controller-manager - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11713,6 +11878,11 @@ data: - name: preview currentCSV: amqstreams.v1.0.0.beta + - packageName: descheduler + channels: + - name: alpha + currentCSV: descheduler.v0.0.1 + - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml packageName: etcd channels: diff --git a/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml b/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml index 377ff5ed3c..035e4e8f42 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml #! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml diff --git a/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml b/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml index 494a422fbf..f4150ce8c2 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_10-olm-operator.deployment.yaml apiVersion: apps/v1 kind: Deployment diff --git a/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml b/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml index 7b73f2d75f..a0c78542d6 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml apiVersion: apps/v1 kind: Deployment diff --git a/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml b/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml index b90b82deee..e91d70cb0a 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 diff --git a/deploy/okd/manifests/0.8.0/0000_30_13-packageserver.csv.yaml b/deploy/okd/manifests/0.8.0/0000_30_13-packageserver.csv.yaml index 2628d939e8..41008c9856 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_13-packageserver.csv.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_13-packageserver.csv.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_13-packageserver.csv.yaml apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion diff --git a/deploy/okd/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml b/deploy/okd/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml index ac0a45712a..0ac63cc50c 100644 --- a/deploy/okd/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml +++ b/deploy/okd/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_14-operatorgroup.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition @@ -76,5 +76,4 @@ spec: - lastUpdated type: object required: - - metadata - - spec + - metadata \ No newline at end of file diff --git a/deploy/okd/manifests/0.8.0/0000_30_15-operatorgroup-default.yaml b/deploy/okd/manifests/0.8.0/0000_30_15-operatorgroup-default.yaml new file mode 100644 index 0000000000..282ff75538 --- /dev/null +++ b/deploy/okd/manifests/0.8.0/0000_30_15-operatorgroup-default.yaml @@ -0,0 +1,7 @@ +##--- +# Source: olm/templates/0000_30_15-operatorgroup-default.yaml +apiVersion: operators.coreos.com/v1alpha2 +kind: OperatorGroup +metadata: + name: global-operators + namespace: openshift-operators \ No newline at end of file diff --git a/deploy/okd/values.yaml b/deploy/okd/values.yaml index fc0117f00a..c6283919c1 100644 --- a/deploy/okd/values.yaml +++ b/deploy/okd/values.yaml @@ -25,4 +25,4 @@ package: service: internalPort: 5443 catalog_sources: -- rh-operators +- rh-operators \ No newline at end of file diff --git a/deploy/upstream/manifests/0.8.0/0000_30_00-namespace.yaml b/deploy/upstream/manifests/0.8.0/0000_30_00-namespace.yaml index 21845605e0..6c96916f02 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_00-namespace.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_00-namespace.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_00-namespace.yaml apiVersion: v1 kind: Namespace @@ -6,3 +6,8 @@ metadata: name: olm labels: openshift.io/run-level: "1" +--- +apiVersion: v1 +kind: Namespace +metadata: + name: operators diff --git a/deploy/upstream/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml b/deploy/upstream/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml index 660bf0c6c4..e75e22e51b 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_01-olm-operator.serviceaccount.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/deploy/upstream/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml b/deploy/upstream/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml index c103fc5abb..2a82d81955 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_02-clusterserviceversion.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/upstream/manifests/0.8.0/0000_30_03-installplan.crd.yaml b/deploy/upstream/manifests/0.8.0/0000_30_03-installplan.crd.yaml index eae0ef7b95..8742215dca 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_03-installplan.crd.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_03-installplan.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_03-installplan.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/upstream/manifests/0.8.0/0000_30_04-subscription.crd.yaml b/deploy/upstream/manifests/0.8.0/0000_30_04-subscription.crd.yaml index 2f3acd283e..35f0c24a15 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_04-subscription.crd.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_04-subscription.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_04-subscription.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/upstream/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml b/deploy/upstream/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml index 66731bc01b..8facb62fbd 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_05-catalogsource.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_05-catalogsource.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/deploy/upstream/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml b/deploy/upstream/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml index 4902121405..fb40c0c053 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_06-rh-operators.configmap.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_06-rh-operators.configmap.yaml kind: ConfigMap @@ -4424,6 +4424,35 @@ data: - acls required: - authentication + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + name: deschedulers.descheduler.io + spec: + group: descheduler.io + names: + kind: Descheduler + listKind: DeschedulerList + plural: deschedulers + singular: descheduler + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + spec: + strategies: + type: array + uniqueItems: true + minItems: 1 + maxItems: 4 + collectionFormat: pipes + items: + type: string + schedule: + type: string + pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' + - apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: @@ -9550,6 +9579,142 @@ data: path: authorization.type x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:label' + - apiVersion: operators.coreos.com/v1alpha1 + kind: ClusterServiceVersion + metadata: + annotations: + categories: openshift optional + certifiedLevel: Primed + containerImage: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator + createdAt: 2019/11/15 + description: An operator to run the OpenShift descheduler + healthIndex: B + repository: https://github.com/openshift/descheduler-operator + support: Red Hat + name: descheduler.v0.0.1 + namespace: openshift-descheduler-operator + spec: + description: | + # Descheduler for Kubernetes + + ## Introduction + + Scheduling in Kubernetes is the process of binding pending pods to nodes, and is performed by + a component of Kubernetes called kube-scheduler. The scheduler's decisions, whether or where a + pod can or can not be scheduled, are guided by its configurable policy which comprises of set of + rules, called predicates and priorities. The scheduler's decisions are influenced by its view of + a Kubernetes cluster at that point of time when a new pod appears first time for scheduling. + As Kubernetes clusters are very dynamic and their state change over time, there may be desired + to move already running pods to some other nodes for various reasons + + * Some nodes are under or over utilized. + * The original scheduling decision does not hold true any more, as taints or labels are added to + or removed from nodes, pod/node affinity requirements are not satisfied any more. + * Some nodes failed and their pods moved to other nodes. + New nodes are added to clusters. + + Consequently, there might be several pods scheduled on less desired nodes in a cluster. + Descheduler, based on its policy, finds pods that can be moved and evicts them. Please + note, in current implementation, descheduler does not schedule replacement of evicted pods + but relies on the default scheduler for that. + + ## Note + + Any api could be changed any time with out any notice. That said, your feedback is + very important and appreciated to make this project more stable and useful. + + customresourcedefinitions: + owned: + - description: Represents an instance of a Descheduler application + displayName: Descheduler Operator + kind: Descheduler + name: deschedulers.descheduler.io + version: v1alpha1 + displayName: Descheduler + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - services + - pods + - configmaps + - secrets + - names + - nodes + - pods/eviction + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - batch + - extensions + resources: + - jobs + verbs: + - '*' + - apiGroups: + - descheduler.io + resources: + - '*' + verbs: + - '*' + serviceAccountName: openshift-descheduler + deployments: + - name: descheduler-operator + spec: + replicas: 1 + selector: + matchLabels: + app: descheduler-operator + template: + metadata: + labels: + app: descheduler-operator + spec: + containers: + - command: + - descheduler-operator + env: + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_NAME + value: descheduler-operator + image: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator + imagePullPolicy: Always + name: descheduler-operator + restartPolicy: Always + serviceAccount: openshift-descheduler + serviceAccountName: openshift-descheduler + terminationGracePeriodSeconds: 5 + strategy: deployment + labels: + olm-owner-enterprise-app: descheduler-operator + olm-status-descriptors: descheduler.v0.0.1 + maintainers: + - email: support@redhat.com + name: Red Hat + provider: + name: Red Hat + version: 0.0.1 + - #! validate-crd: ./deploy/chart/templates/03-clusterserviceversion.crd.yaml #! parse-kind: ClusterServiceVersion apiVersion: operators.coreos.com/v1alpha1 @@ -11463,7 +11628,7 @@ data: serviceAccountName: service-catalog-apiserver containers: - name: apiserver - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11573,7 +11738,7 @@ data: serviceAccountName: service-catalog-controller containers: - name: controller-manager - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11713,6 +11878,11 @@ data: - name: preview currentCSV: amqstreams.v1.0.0.beta + - packageName: descheduler + channels: + - name: alpha + currentCSV: descheduler.v0.0.1 + - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml packageName: etcd channels: diff --git a/deploy/upstream/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml b/deploy/upstream/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml index 40ae99492e..cf3f008840 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_09-rh-operators.catalogsource.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml #! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml diff --git a/deploy/upstream/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml b/deploy/upstream/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml index c519a30cfd..bd9ee24331 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_10-olm-operator.deployment.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_10-olm-operator.deployment.yaml apiVersion: apps/v1 kind: Deployment diff --git a/deploy/upstream/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml b/deploy/upstream/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml index fbae549d02..74c47011be 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_11-catalog-operator.deployment.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml apiVersion: apps/v1 kind: Deployment diff --git a/deploy/upstream/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml b/deploy/upstream/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml index b90b82deee..e91d70cb0a 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_12-aggregated.clusterrole.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 diff --git a/deploy/upstream/manifests/0.8.0/0000_30_13-packageserver.csv.yaml b/deploy/upstream/manifests/0.8.0/0000_30_13-packageserver.csv.yaml index 440bcd58c8..1b07b1069d 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_13-packageserver.csv.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_13-packageserver.csv.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_13-packageserver.csv.yaml apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion diff --git a/deploy/upstream/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml b/deploy/upstream/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml index ac0a45712a..0ac63cc50c 100644 --- a/deploy/upstream/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml +++ b/deploy/upstream/manifests/0.8.0/0000_30_14-operatorgroup.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_14-operatorgroup.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition @@ -76,5 +76,4 @@ spec: - lastUpdated type: object required: - - metadata - - spec + - metadata \ No newline at end of file diff --git a/deploy/upstream/manifests/0.8.0/0000_30_15-operatorgroup-default.yaml b/deploy/upstream/manifests/0.8.0/0000_30_15-operatorgroup-default.yaml new file mode 100644 index 0000000000..b26072401b --- /dev/null +++ b/deploy/upstream/manifests/0.8.0/0000_30_15-operatorgroup-default.yaml @@ -0,0 +1,7 @@ +##--- +# Source: olm/templates/0000_30_15-operatorgroup-default.yaml +apiVersion: operators.coreos.com/v1alpha2 +kind: OperatorGroup +metadata: + name: global-operators + namespace: operators \ No newline at end of file diff --git a/deploy/upstream/values.yaml b/deploy/upstream/values.yaml index 0ced90d0fe..1458d02e6a 100644 --- a/deploy/upstream/values.yaml +++ b/deploy/upstream/values.yaml @@ -25,4 +25,4 @@ package: service: internalPort: 5443 catalog_sources: -- rh-operators +- rh-operators \ No newline at end of file diff --git a/manifests/0000_30_00-namespace.yaml b/manifests/0000_30_00-namespace.yaml index f6a10f9792..690e2b5b2c 100644 --- a/manifests/0000_30_00-namespace.yaml +++ b/manifests/0000_30_00-namespace.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_00-namespace.yaml apiVersion: v1 kind: Namespace diff --git a/manifests/0000_30_01-olm-operator.serviceaccount.yaml b/manifests/0000_30_01-olm-operator.serviceaccount.yaml index ef2cc7dd1b..8ab035f630 100644 --- a/manifests/0000_30_01-olm-operator.serviceaccount.yaml +++ b/manifests/0000_30_01-olm-operator.serviceaccount.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_01-olm-operator.serviceaccount.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole diff --git a/manifests/0000_30_02-clusterserviceversion.crd.yaml b/manifests/0000_30_02-clusterserviceversion.crd.yaml index c103fc5abb..2a82d81955 100644 --- a/manifests/0000_30_02-clusterserviceversion.crd.yaml +++ b/manifests/0000_30_02-clusterserviceversion.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_02-clusterserviceversion.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/manifests/0000_30_03-installplan.crd.yaml b/manifests/0000_30_03-installplan.crd.yaml index eae0ef7b95..8742215dca 100644 --- a/manifests/0000_30_03-installplan.crd.yaml +++ b/manifests/0000_30_03-installplan.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_03-installplan.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/manifests/0000_30_04-subscription.crd.yaml b/manifests/0000_30_04-subscription.crd.yaml index 2f3acd283e..35f0c24a15 100644 --- a/manifests/0000_30_04-subscription.crd.yaml +++ b/manifests/0000_30_04-subscription.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_04-subscription.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/manifests/0000_30_05-catalogsource.crd.yaml b/manifests/0000_30_05-catalogsource.crd.yaml index 66731bc01b..8facb62fbd 100644 --- a/manifests/0000_30_05-catalogsource.crd.yaml +++ b/manifests/0000_30_05-catalogsource.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_05-catalogsource.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/manifests/0000_30_06-rh-operators.configmap.yaml b/manifests/0000_30_06-rh-operators.configmap.yaml index ab03e90826..bc0f899048 100644 --- a/manifests/0000_30_06-rh-operators.configmap.yaml +++ b/manifests/0000_30_06-rh-operators.configmap.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_06-rh-operators.configmap.yaml kind: ConfigMap @@ -4424,6 +4424,35 @@ data: - acls required: - authentication + - apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + name: deschedulers.descheduler.io + spec: + group: descheduler.io + names: + kind: Descheduler + listKind: DeschedulerList + plural: deschedulers + singular: descheduler + scope: Namespaced + version: v1alpha1 + validation: + openAPIV3Schema: + properties: + spec: + strategies: + type: array + uniqueItems: true + minItems: 1 + maxItems: 4 + collectionFormat: pipes + items: + type: string + schedule: + type: string + pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' + - apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: @@ -9550,6 +9579,142 @@ data: path: authorization.type x-descriptors: - 'urn:alm:descriptor:com.tectonic.ui:label' + - apiVersion: operators.coreos.com/v1alpha1 + kind: ClusterServiceVersion + metadata: + annotations: + categories: openshift optional + certifiedLevel: Primed + containerImage: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator + createdAt: 2019/11/15 + description: An operator to run the OpenShift descheduler + healthIndex: B + repository: https://github.com/openshift/descheduler-operator + support: Red Hat + name: descheduler.v0.0.1 + namespace: openshift-descheduler-operator + spec: + description: | + # Descheduler for Kubernetes + + ## Introduction + + Scheduling in Kubernetes is the process of binding pending pods to nodes, and is performed by + a component of Kubernetes called kube-scheduler. The scheduler's decisions, whether or where a + pod can or can not be scheduled, are guided by its configurable policy which comprises of set of + rules, called predicates and priorities. The scheduler's decisions are influenced by its view of + a Kubernetes cluster at that point of time when a new pod appears first time for scheduling. + As Kubernetes clusters are very dynamic and their state change over time, there may be desired + to move already running pods to some other nodes for various reasons + + * Some nodes are under or over utilized. + * The original scheduling decision does not hold true any more, as taints or labels are added to + or removed from nodes, pod/node affinity requirements are not satisfied any more. + * Some nodes failed and their pods moved to other nodes. + New nodes are added to clusters. + + Consequently, there might be several pods scheduled on less desired nodes in a cluster. + Descheduler, based on its policy, finds pods that can be moved and evicts them. Please + note, in current implementation, descheduler does not schedule replacement of evicted pods + but relies on the default scheduler for that. + + ## Note + + Any api could be changed any time with out any notice. That said, your feedback is + very important and appreciated to make this project more stable and useful. + + customresourcedefinitions: + owned: + - description: Represents an instance of a Descheduler application + displayName: Descheduler Operator + kind: Descheduler + name: deschedulers.descheduler.io + version: v1alpha1 + displayName: Descheduler + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - services + - pods + - configmaps + - secrets + - names + - nodes + - pods/eviction + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - batch + - extensions + resources: + - jobs + verbs: + - '*' + - apiGroups: + - descheduler.io + resources: + - '*' + verbs: + - '*' + serviceAccountName: openshift-descheduler + deployments: + - name: descheduler-operator + spec: + replicas: 1 + selector: + matchLabels: + app: descheduler-operator + template: + metadata: + labels: + app: descheduler-operator + spec: + containers: + - command: + - descheduler-operator + env: + - name: MY_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: MY_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: WATCH_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_NAME + value: descheduler-operator + image: registry.svc.ci.openshift.org/openshift/origin-v4.0:descheduler-operator + imagePullPolicy: Always + name: descheduler-operator + restartPolicy: Always + serviceAccount: openshift-descheduler + serviceAccountName: openshift-descheduler + terminationGracePeriodSeconds: 5 + strategy: deployment + labels: + olm-owner-enterprise-app: descheduler-operator + olm-status-descriptors: descheduler.v0.0.1 + maintainers: + - email: support@redhat.com + name: Red Hat + provider: + name: Red Hat + version: 0.0.1 + - #! validate-crd: ./deploy/chart/templates/03-clusterserviceversion.crd.yaml #! parse-kind: ClusterServiceVersion apiVersion: operators.coreos.com/v1alpha1 @@ -11463,7 +11628,7 @@ data: serviceAccountName: service-catalog-apiserver containers: - name: apiserver - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11573,7 +11738,7 @@ data: serviceAccountName: service-catalog-controller containers: - name: controller-manager - image: registry.reg-aws.openshift.com:443/openshift/ose-service-catalog:v4.0.0 + image: quay.io/openshift/origin-service-catalog:v4.0.0 imagePullPolicy: IfNotPresent command: ["/usr/bin/service-catalog"] resources: @@ -11713,6 +11878,11 @@ data: - name: preview currentCSV: amqstreams.v1.0.0.beta + - packageName: descheduler + channels: + - name: alpha + currentCSV: descheduler.v0.0.1 + - #! package-manifest: ./deploy/chart/catalog_resources/rh-operators/etcdoperator.v0.9.2.clusterserviceversion.yaml packageName: etcd channels: diff --git a/manifests/0000_30_07-certified-operators.configmap.yaml b/manifests/0000_30_07-certified-operators.configmap.yaml index bcc7ec7e87..199701e8bc 100644 --- a/manifests/0000_30_07-certified-operators.configmap.yaml +++ b/manifests/0000_30_07-certified-operators.configmap.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_07-certified-operators.configmap.yaml kind: ConfigMap diff --git a/manifests/0000_30_08-certified-operators.catalogsource.yaml b/manifests/0000_30_08-certified-operators.catalogsource.yaml index 2bbb7e0d19..77cdb1ff69 100644 --- a/manifests/0000_30_08-certified-operators.catalogsource.yaml +++ b/manifests/0000_30_08-certified-operators.catalogsource.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_08-certified-operators.catalogsource.yaml #! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml diff --git a/manifests/0000_30_09-rh-operators.catalogsource.yaml b/manifests/0000_30_09-rh-operators.catalogsource.yaml index 377ff5ed3c..035e4e8f42 100644 --- a/manifests/0000_30_09-rh-operators.catalogsource.yaml +++ b/manifests/0000_30_09-rh-operators.catalogsource.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_09-rh-operators.catalogsource.yaml #! validate-crd: ./deploy/chart/templates/05-catalogsource.crd.yaml diff --git a/manifests/0000_30_10-olm-operator.deployment.yaml b/manifests/0000_30_10-olm-operator.deployment.yaml index 494a422fbf..f4150ce8c2 100644 --- a/manifests/0000_30_10-olm-operator.deployment.yaml +++ b/manifests/0000_30_10-olm-operator.deployment.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_10-olm-operator.deployment.yaml apiVersion: apps/v1 kind: Deployment diff --git a/manifests/0000_30_11-catalog-operator.deployment.yaml b/manifests/0000_30_11-catalog-operator.deployment.yaml index 7b73f2d75f..a0c78542d6 100644 --- a/manifests/0000_30_11-catalog-operator.deployment.yaml +++ b/manifests/0000_30_11-catalog-operator.deployment.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_11-catalog-operator.deployment.yaml apiVersion: apps/v1 kind: Deployment diff --git a/manifests/0000_30_12-aggregated.clusterrole.yaml b/manifests/0000_30_12-aggregated.clusterrole.yaml index b90b82deee..e91d70cb0a 100644 --- a/manifests/0000_30_12-aggregated.clusterrole.yaml +++ b/manifests/0000_30_12-aggregated.clusterrole.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_12-aggregated.clusterrole.yaml kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 diff --git a/manifests/0000_30_13-packageserver.csv.yaml b/manifests/0000_30_13-packageserver.csv.yaml index 2628d939e8..41008c9856 100644 --- a/manifests/0000_30_13-packageserver.csv.yaml +++ b/manifests/0000_30_13-packageserver.csv.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_13-packageserver.csv.yaml apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion diff --git a/manifests/0000_30_14-operatorgroup.crd.yaml b/manifests/0000_30_14-operatorgroup.crd.yaml index 34c8cb61df..0ac63cc50c 100644 --- a/manifests/0000_30_14-operatorgroup.crd.yaml +++ b/manifests/0000_30_14-operatorgroup.crd.yaml @@ -1,4 +1,4 @@ ---- +##--- # Source: olm/templates/0000_30_14-operatorgroup.crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition diff --git a/manifests/0000_30_15-operatorgroup-default.yaml b/manifests/0000_30_15-operatorgroup-default.yaml index 0f71176beb..282ff75538 100644 --- a/manifests/0000_30_15-operatorgroup-default.yaml +++ b/manifests/0000_30_15-operatorgroup-default.yaml @@ -1,7 +1,7 @@ ---- +##--- # Source: olm/templates/0000_30_15-operatorgroup-default.yaml apiVersion: operators.coreos.com/v1alpha2 kind: OperatorGroup metadata: name: global-operators - namespace: openshift-operators + namespace: openshift-operators \ No newline at end of file diff --git a/manifests/image-references b/manifests/image-references index ebca618b26..232e3be227 100644 --- a/manifests/image-references +++ b/manifests/image-references @@ -1,11 +1,11 @@ ---- +##--- # Source: olm/templates/image-references kind: ImageStream apiVersion: image.openshift.io/v1 spec: tags: - - name: olm + - name: operator-lifecycle-manager from: kind: DockerImage name: quay.io/coreos/olm@sha256:1639d570809c5827810a1870763016e8c046283632d47e0b47183c82f8e515f2