-
Bug
-
Resolution: Won't Do
-
Normal
-
None
-
4.10.0
-
None
-
Moderate
-
None
-
False
-
Description of problem:
When creating a DeploymentConfig with: - Recreate strategy - Tolerations defined in the template - Pre/Post execPod definitions The execPods do not have the same tolerations as the DeploymentConfig. When this is run in an environment where taints/tolerations are heavily used to control workload, this is resulting in scheduling failures for the hook Pods.
Version-Release number of selected component (if applicable):
OpenShift 4.10.20
How reproducible:
Everytime
Steps to Reproduce:
1. Create a Deployment Config matching that described in the Description 2. Inspect the ExecPods for tolerations
Actual results:
ExecPods do not have Tolerations
Expected results:
ExecPods to have Tolerations
Additional info:
Reviewing the relevant controller code for the recreate strategy, the code for processing the pre/post hook definitions appears to be here. [0] This creates a `deployer` Pod which DOES have tolerations.[1][2] This `deployer` Pod then creates the pre/post hook exec Pods [3][4][5] but does not appears to set any tolerations on these Pods [6]. Resources: [0] https://github.com/openshift/openshift-controller-manager/blob/master/pkg/apps/deployer/deployer_controller.go/#L356-L446 [1] https://github.com/openshift/openshift-controller-manager/blob/master/pkg/cmd/controller/apps.go/#L31-L32 [2] https://github.com/openshift/openshift-controller-manager/blob/master/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go/#L164-L199 [3] Deployer image definition: https://github.com/openshift/oc/blob/master/images/deployer/Dockerfile.rhel [4] Deployer Commands: https://github.com/openshift/oc/blob/dd2bcd0b8/pkg/cli/cli.go/#L345-L346 https://github.com/openshift/oc/blob/dd2bcd0b8/pkg/cli/deployer/deployer.go/#L69-L97 [5] The exec hook pods are created: https://github.com/openshift/oc/blob/dd2bcd0b8/pkg/cli/deployer/strategy/support/lifecycle.go/#L354-L423 [6] The exec hook Pod generation doesn't define Toleration: https://github.com/openshift/oc/blob/dd2bcd0b8/pkg/cli/deployer/strategy/support/lifecycle.go/#L435-L473
- is blocked by
-
WRKLDS-636 Deprecation of DeploymentConfigs in OpenShift
- Closed
- is related to
-
OCPSTRAT-118 Deprecated deploymentconfig to deployments
- Closed