Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build refactor #80

Merged
merged 3 commits into from
May 3, 2016
Merged

build refactor #80

merged 3 commits into from
May 3, 2016

Conversation

ytjohn
Copy link

@ytjohn ytjohn commented Mar 29, 2016

Performing a build refactor similar to on-http#181. This brings both on-http and on-taskgraph onto the same pattern. It also ensures that people building their own packages can use the same process that travis uses.

@yyscamper
Copy link
Contributor

@RackHD/corecommitters @RackHD/rackhd_dev @heckj please review

@ytjohn
Copy link
Author

ytjohn commented Mar 29, 2016

.dockerignore updated

@benbp
Copy link
Contributor

benbp commented Apr 18, 2016

👍

1 similar comment
@anhou
Copy link
Member

anhou commented Apr 19, 2016

👍

@anhou
Copy link
Member

anhou commented Apr 19, 2016

test this please

@JenkinsRHD
Copy link
Contributor

*** BUILD #475 ***
Test Name: test_node_catalogs
Error Details: Node catalog is empty!
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/v1_1/nodes_tests.py", line 302, in test_node_catalogs
    assert_not_equal(0, len(resp), message='Node catalog is empty!')
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/asserts.py", line 151, in assert_not_equal
    raise ASSERTION_ERROR(message)
AssertionError: Node catalog is empty!


Test Name: test_node_catalogs
Error Details: Node catalog is empty!
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/v2_0/nodes_tests.py", line 266, in test_node_catalogs
    assert_not_equal(0, len(resp), message='Node catalog is empty!')
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/asserts.py", line 151, in assert_not_equal
    raise ASSERTION_ERROR(message)
AssertionError: Node catalog is empty!


Test Name: test_node_workflows_post
Error Details: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Content-Length': '128', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"80-7OjUGBy4o6RiaRnKGDICnw"', 'Date': 'Tue, 19 Apr 2016 02:33:43 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"BadRequestError: required option user for task Task.Obm.Ipmi.CreateSettings in graph Graph.Obm.Ipmi.CreateSettings"}

-------------------- >> begin captured logging << --------------------
tests.api.v2_0.workflows_tests: INFO: starting amqp listener for node 571598fa2a9756ec086b5250
amqp: DEBUG: Start from server, version: 0.9, properties: {u'information': u'Licensed under the MPL.  See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2013 GoPivotal, Inc.', u'capabilities': {u'exchange_exchange_bindings': True, u'connection.blocked': True, u'authentication_failure_close': True, u'basic.nack': True, u'consumer_priorities': True, u'consumer_cancel_notify': True, u'publisher_confirms': True}, u'platform': u'Erlang/OTP', u'version': u'3.2.4'}, mechanisms: [u'AMQPLAIN', u'PLAIN'], locales: [u'en_US']
amqp: DEBUG: Open OK!
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/v2_0/workflows_tests.py", line 189, in test_node_workflows_post
    Api().nodes_post_workflow_by_id(id, name='Graph.noop-example', body={})
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/apis/api_api.py", line 2594, in nodes_post_workflow_by_id
    callback=params.get('callback'))
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 322, in call_api
    response_type, auth_settings, callback)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 149, in __call_api
    post_params=post_params, body=body)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 358, in request
    body=body)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 208, in POST
    body=body)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 177, in request
    raise ApiException(http_resp=r)
'(400)\nReason: Bad Request\nHTTP response headers: HTTPHeaderDict({\'Content-Length\': \'128\', \'X-Powered-By\': \'Express\', \'Connection\': \'keep-alive\', \'ETag\': \'W/"80-7OjUGBy4o6RiaRnKGDICnw"\', \'Date\': \'Tue, 19 Apr 2016 02:33:43 GMT\', \'Access-Control-Allow-Origin\': \'*\', \'Content-Type\': \'application/json; charset=utf-8\'})\nHTTP response body: {"message":"BadRequestError: required option user for task Task.Obm.Ipmi.CreateSettings in graph Graph.Obm.Ipmi.CreateSettings"}\n\n-------------------- >> begin captured logging << --------------------\ntests.api.v2_0.workflows_tests: INFO: starting amqp listener for node 571598fa2a9756ec086b5250\namqp: DEBUG: Start from server, version: 0.9, properties: {u\'information\': u\'Licensed under the MPL.  See http://www.rabbitmq.com/\', u\'product\': u\'RabbitMQ\', u\'copyright\': u\'Copyright (C) 2007-2013 GoPivotal, Inc.\', u\'capabilities\': {u\'exchange_exchange_bindings\': True, u\'connection.blocked\': True, u\'authentication_failure_close\': True, u\'basic.nack\': True, u\'consumer_priorities\': True, u\'consumer_cancel_notify\': True, u\'publisher_confirms\': True}, u\'platform\': u\'Erlang/OTP\', u\'version\': u\'3.2.4\'}, mechanisms: [u\'AMQPLAIN\', u\'PLAIN\'], locales: [u\'en_US\']\namqp: DEBUG: Open OK!\n--------------------- >> end captured logging << ---------------------'

Test Name: test_tag_create
Error Details: list index out of range
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/v2_0/tags_tests.py", line 35, in test_tag_create
    "rules":[{"equals": updated_catalog[0]["data"]["System Information"]["Manufacturer"],
IndexError: list index out of range


SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
cd $SCRIPT_DIR/..

export DEBEMAIL="hwimo robots <hwimo@hwimo.lab.emc.com>"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor : Shall we use some public email address instead of internal here ?

Copy link
Contributor

@davidzuhn davidzuhn Apr 19, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that needs to be changed. And the FULLNAME as well, I think.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made these to mimic HWIMO-BUILD. Hopefully you'll be able to have jenkins
run make-cicd instead of HWIMO-BUILD as well (and deprecate HWIMO-BUILD).

If you want a different email address, let me know and I can add it to the
PR. However, a couple similar PRs have been accepted with the lab email, so
we would probably want to do it across the collection of projects.

On Tue, Apr 19, 2016 at 8:13 AM, david d zuhn notifications@github.com
wrote:

In extra/make-cicd.sh
#80 (comment):

@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# This creates a package in a manner similar to
+# HWIMO-BUILD: datestring package version, apidoc
+# no coveralls. But it also utilizes build-package.bash
+# similar to how travis-ci does.
+
+# Ensure we're always in the right directory.
+SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
+cd $SCRIPT_DIR/..
+
+export DEBEMAIL="hwimo robots hwimo@hwimo.lab.emc.com"

Yes, that needs to be changed.


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/RackHD/on-taskgraph/pull/80/files/80418370126621d13da1d7652881234c1d75e132#r60219016

@yyscamper
Copy link
Contributor

yyscamper commented Apr 27, 2016

jenkins: test this please

rm -rf packagebuild
fi

git clone . packagebuild
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good, for the manifest based builds, to include the recent modification from HWIMO-BUILD to copy the local package.json file from . rather than from the git clone. The manifest build process goes through the package.json dependencies and changes the references from within RackHD git repos to the versions specified in the manifest. That info is kept in $PWD/package.json, but not checked in via git.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going go through the open and recent build refactor PRs and change git clone to an rsync. We found that the builds from travis are doing some form of shallow clone, and the git clone . doesn't seem to work anymore.

@ytjohn
Copy link
Author

ytjohn commented Apr 27, 2016

Added fixes the travis-ci shallow clone related issues we saw in RackHD/on-dhcp-proxy#35 and RackHD/on-dhcp-proxy#34

@JenkinsRHD
Copy link
Contributor

*** BUILD #514 ***
Test Name: test_node_workflows_del_active
Error Details: (500)
Reason: Internal Server Error
HTTP response headers: HTTPHeaderDict({'Content-Length': '55', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"37-0X6VYPGMDPPXpP9BP8JfJg"', 'Date': 'Wed, 27 Apr 2016 14:32:27 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"Failed to cancel 5720cd780d91afd12cda07a8"}

-------------------- >> begin captured logging << --------------------
urllib3.connectionpool: WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', BadStatusLine("''",))': /api/1.1/nodes
urllib3.connectionpool: INFO: Starting new HTTP connection (11): localhost
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/v1_1/nodes_tests.py", line 376, in test_node_workflows_del_active
    raise e
'(500)\nReason: Internal Server Error\nHTTP response headers: HTTPHeaderDict({\'Content-Length\': \'55\', \'X-Powered-By\': \'Express\', \'Connection\': \'keep-alive\', \'ETag\': \'W/"37-0X6VYPGMDPPXpP9BP8JfJg"\', \'Date\': \'Wed, 27 Apr 2016 14:32:27 GMT\', \'Access-Control-Allow-Origin\': \'*\', \'Content-Type\': \'application/json; charset=utf-8\'})\nHTTP response body: {"message":"Failed to cancel 5720cd780d91afd12cda07a8"}\n\n-------------------- >> begin captured logging << --------------------\nurllib3.connectionpool: WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by \'ProtocolError(\'Connection aborted.\', BadStatusLine("\'\'",))\': /api/1.1/nodes\nurllib3.connectionpool: INFO: Starting new HTTP connection (11): localhost\n--------------------- >> end captured logging << ---------------------'

Test Name: teardown
Error Details: 'X-Auth-Token'
-------------------- >> begin captured logging << --------------------
modules.redfish_auth: INFO: auth already disabled.
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/redfish_1_0/session_service_tests.py", line 38, in teardown
    Auth.disable()
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/modules/redfish_auth.py", line 67, in disable
    del config.api_client.default_headers['X-Auth-Token']
"'X-Auth-Token'\n-------------------- >> begin captured logging << --------------------\nmodules.redfish_auth: INFO: auth already disabled.\n--------------------- >> end captured logging << ---------------------"

Test Name: pollers_data_get
Error Details: Condition was True.
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/on-taskgraph/workspace/RackHD/test/tests/api/v2_0/pollers_tests.py", line 157, in pollers_data_get
    assert_false(poller.get('lastFinished', False))
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/asserts.py", line 67, in assert_false
    raise ASSERTION_ERROR(message)
AssertionError: Condition was True.


@anhou anhou merged commit 87ed18f into RackHD:master May 3, 2016
sushilrai pushed a commit to sushilrai/on-taskgraph that referenced this pull request Dec 5, 2017
Modified lsscsi command parser to combine phrases correctly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants