Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1730719

Summary: Build Defaults not being applied to pods
Product: OpenShift Container Platform Reporter: Wolfgang Kulhanek <wkulhane>
Component: BuildAssignee: Ricardo Maraschini <rmarasch>
Status: CLOSED ERRATA QA Contact: wewang <wewang>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.1.zCC: aos-bugs, rmarasch, wewang, wzheng
Target Milestone: ---Keywords: NeedsTestCase, Regression
Target Release: 4.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1735709 (view as bug list) Environment:
Last Closed: 2019-10-16 06:29:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1735709    

Description Wolfgang Kulhanek 2019-07-17 12:51:42 UTC
Description of problem:
Setting Build Defaults (requests/limits) has no effect on actual build pod.


Version-Release number of selected component (if applicable):
4.1.4

How reproducible:
Always

Steps to Reproduce:
1. Set up Build Defaults
oc describe build.config.openshift.io/cluster
Name:         cluster
Namespace:
Labels:       <none>
Annotations:  release.openshift.io/create-only: true
API Version:  config.openshift.io/v1
Kind:         Build
Metadata:
  Creation Timestamp:  2019-07-14T14:51:04Z
  Generation:          4
  Resource Version:    570536
  Self Link:           /apis/config.openshift.io/v1/builds/cluster
  UID:                 cdbbd18d-a646-11e9-a64f-0206c3a2392c
Spec:
  Build Defaults:
    Resources:
      Limits:
        Cpu:     1
        Memory:  3Gi
      Requests:
        Cpu:     1
        Memory:  2Gi
Events:          <none>


2. Set up a LimitRange (in a Project Request Template) and create a new project
oc describe limits  wk-builds-core-resource-limits
Name:       wk-builds-core-resource-limits
Namespace:  wk-builds
Type        Resource  Min  Max   Default Request  Default Limit  Max Limit/Request Ratio
----        --------  ---  ---   ---------------  -------------  -----------------------
Container   memory    6Mi  6Gi   512Mi            1Gi            -
Container   cpu       -    -     250m             500m           -
Pod         memory    6Mi  12Gi  -                -              -

2. Start a new build
oc new-app https://github.com/wkulhanek/rhte-app.git

3. Check the build pod
oc describe pod rhte-app-1-build

[...]
    Limits:
      cpu:     500m
      memory:  1Gi
    Requests:
      cpu:     250m
      memory:  512Mi
[...]

Actual results:
The pod uses the defaults from the Limit Range rather than the build defaults.


Expected results:
The pod uses the defaults from the build defaults therefore not needing to fall back on the defaults from the limit range

Comment 1 Adam Kaplan 2019-07-17 13:00:20 UTC
Marking this as a regression from 3.11, blocker for 4.2.0

Comment 2 wewang 2019-07-18 06:29:04 UTC
FYI, @Wolfgang Kulhanek  your Build Default config incorrect, should be 
Spec:
  buildDefaults:
    Resources:

Comment 3 Wolfgang Kulhanek 2019-07-18 12:58:51 UTC
@wewang My build defaults are straight from the docs:
https://docs.openshift.com/container-platform/4.1/builds/build-configuration.html

This is exactly what I have:

apiVersion: config.openshift.io/v1
kind: Build
metadata:
  annotations:
    release.openshift.io/create-only: "true"
  creationTimestamp: "2019-07-14T14:51:04Z"
  generation: 4
  name: cluster
  resourceVersion: "570536"
  selfLink: /apis/config.openshift.io/v1/builds/cluster
  uid: cdbbd18d-a646-11e9-a64f-0206c3a2392c
spec:
  buildDefaults:
    resources:
      limits:
        cpu: 1
        memory: 3Gi
      requests:
        cpu: 1
        memory: 2Gi

I don't see a difference to what you are writing. The only difference I see is "Resources" in your example vs "resources" in mine and the docs.

Comment 4 Wolfgang Kulhanek 2019-07-18 12:59:36 UTC
Oh I see. I submitted the "oc describe" and you gave me YAML. So the YAML should be fine.

Comment 11 Wolfgang Kulhanek 2019-08-02 13:59:24 UTC
@Ricardo: I keep getting notification that info is needed from me - but I don't see what. Do you actually need something from me?

Comment 13 wewang 2019-08-08 09:44:00 UTC
@Ricardo Maraschini After waiting ds rollout, config applied to build pod, thanks
version:
4.2.0-0.nightly-2019-08-07-214151

$oc describe pod/ruby-hello-world-1-build
    Limits:
      cpu:     500m
      memory:  1Gi
    Requests:
      cpu:     250m
      memory:  1Gi

Comment 14 errata-xmlrpc 2019-10-16 06:29:44 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-2019:2922