Bug 1034124

Summary: Git ref is not defaulted appropriately if not passed from the broker during a REST deployment
Product: OpenShift Container Platform Reporter: Cong Wei <cowei>
Component: ImageStreamsAssignee: Jason DeTiberus <jdetiber>
Status: CLOSED NOTABUG QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.0.0CC: agoldste, bmeng, jhou, lmeyer, xtian
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1033572 Environment:
Last Closed: 2013-12-23 16:26:52 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:
Bug Depends On: 1033572    
Bug Blocks: 1033767    

Description Cong Wei 2013-11-25 09:56:55 UTC
this bug could be reproduced on puddle 2.0/2013-11-22.1 with package rubygem-openshift-origin-node-1.17.4-2.el6op.noarch

+++ This bug was initially created as a clone of Bug #1033572 +++

Description of problem:
Create an application with auto_deploy disabled. Hot deploy this app via RESTAPI, the returned message show that hot_deploy is false. 
So is the case with force_clean_build.

Push commits to the app and then invoke RESTAPI to hot deploy the app. The returned content of RESTAPI shows that hot_deploy is false. Moreover, the app's web page returns 404.

Version-Release number of selected component (if applicable):
On STG(devenv-stage_582)

How reproducible:
Always

Steps to Reproduce:
1. Create an applicaton
rhc create-app php1 php-5.3
2. Make some change to app, commit and push
3. Hot deploy this app with RESTAPI
curl -s -k -H 'Content-Type: Application/json' --user jhou:x https://stg.openshift.redhat.com/broker/rest/domains/jhou/applications/p1/deployments -X POST -d '{"hot_deploy":true}'

Actual results:
After step 3: Although the hot_deploy is set as true, the returned message indicate hot_deploy is false.
<------------------------>
curl -s -k -H 'Content-Type: Application/json' --user jhou:x https://stg.openshift.redhat.com/broker/rest/domains/jhou/applications/p1/deployments -X POST -d '{"hot_deploy":true}'

{
    "api_version": 1.6,
    "data": {
        "activations": [
            "2013-11-22T12:04:41Z"
        ],
        "created_at": "2013-11-22T12:04:20Z",
        "force_clean_build": false,
        "hot_deploy": false,
        "id": "c57c21f7",
        "ref": "master",
        "sha1": "508b7b7"
    },
    "messages": [
        {
            "exit_code": 0,
            "field": null,
            "index": null,
            "severity": "info",
            "text": "Added c57c21f7 to application p1"
        }
    ],
    "status": "created",
    "supported_api_versions": [
        1.0,
        1.1,
        1.2,
        1.3,
        1.4,
        1.5,
        1.6
    ],
    "type": "deployment",
    "version": "1.6"
}

<------------------------>
Expected results:
The returned message should show that hot_deploy is true.
So is the case with force_clean_build, RESTAPI shows that force_clean_build is false then deploying this app with this feature enabled.

Additional info:

--- Additional comment from Andy Goldstein on 2013-11-22 10:06:22 EST ---

This is actually an issue where the node isn't defaulting the git ref if it's not passed in from the broker.

--- Additional comment from Andy Goldstein on 2013-11-22 11:02:10 EST ---

https://github.com/openshift/origin-server/pull/4226

--- Additional comment from openshift-github-bot on 2013-11-22 12:59:12 EST ---

Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/f906a06c6de191787e7a03c32a41b78f937498a4
Bug 1033572

Use git ref default logic for both 'git push' and RESTful deployments

--- Additional comment from Hou Jianwei on 2013-11-25 00:12:00 EST ---

Verified on devenv_4067, hot deploy is enabled on RESTAPI calls, the app is deployed and the main process id didn't change.

 curl -s -k -H 'Content-Type: Application/json' --user jhou:redhat https://ec2-23-22-167-139.compute-1.amazonaws.com/broker/rest/domains/jhou/applications/php1/deployments -X POST -d '{"hot_deploy":true}'

+rest-hot-deploy-app:6> json_reformat
{
    "api_version": 1.6,
    "data": {
        "activations": [
            "2013-11-25T05:09:11Z"
        ],
        "created_at": "2013-11-25T05:09:05Z",
        "force_clean_build": false,
        "hot_deploy": true,
        "id": "05260138",
        "ref": "master",
        "sha1": "ab50758"
    },
    "messages": [
        {
            "exit_code": 0,
            "field": null,
            "index": null,
            "severity": "info",
            "text": "Added 05260138 to application php1"
        }
    ],
    "status": "created",
    "supported_api_versions": [
        1.0,
        1.1,
        1.2,
        1.3,
        1.4,
        1.5,
        1.6
    ],
    "type": "deployment",
    "version": "1.6"
}