[JIRA] (OVIRT-1374) Provide a mechanism to obtain an ever increasing build number
by Juan Hernández (oVirt JIRA)
Juan Hernández created OVIRT-1374:
-------------------------------------
Summary: Provide a mechanism to obtain an ever increasing build number
Key: OVIRT-1374
URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1374
Project: oVirt - virtualization made easy
Issue Type: New Feature
Components: Jenkins
Reporter: Juan Hernández
Assignee: infra
Currently when a project needs to generate unique names for artifacts, they have to use mechanisms like embedding the date and/or the git hash into the artifact name. For example, when a new build of the Ruby SDK is generated, the name of the RPM is like this:
rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.20170505gita6de891.el7.centos.ppc64le.rpm
That information is useful, and usually unique. But can be repeated if the same jobs is manually triggered the same day, as the date and the git hash will be the same.
In addition the date may be misleading, because a build performed later but using an old commit, will look newer than an older build that uses a newer commit.
A possible solution is to count the number of commits since certain well known commit. But this isn't reliable if the repository isn't completely cloned, for example if it is cloned with '--depth 1', as that well known commit may not be in the cloned repository. That cloning out of the control of the automation scripts.
So my suggestion/request is to add to the CI/CD environment a mechanism to provide that sequence to the jobs explicitly. I'd suggest to use the count of commits since the initial commit of the repository. The CI/CD environment performs the clone, so it can make sure it has all the relevant commits.
This information could be passed to the build-artifacts.sh script in an environment variable, or in the command line, or in a file in a known location.
With that each project could (optionally) modify its automation scripts to include that number. for example, in the Ruby SDK I'd like to generate RPMs like this:
rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.<that-number>.rpm
--
This message was sent by Atlassian JIRA
(v1000.962.0#100041)
7 years, 6 months
[oVirt Jenkins] ovirt_4.1_hc-system-tests - Build # 62 - Failure!
by jenkins@jenkins.phx.ovirt.org
------=_Part_158_1063418822.1494474382337
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Project: http://jenkins.ovirt.org/job/ovirt_4.1_hc-system-tests/=20
Build: http://jenkins.ovirt.org/job/ovirt_4.1_hc-system-tests/62/
Build Number: 62
Build Status: Failure
Triggered By: Started by timer
-------------------------------------
Changes Since Last Success:
-------------------------------------
Changes for Build #62
[Ond=C5=99ej Svoboda] Use SDKv4 code in bond_nics.
-----------------
Failed Tests:
-----------------
1 tests failed.
FAILED: 002_bootstrap.add_hosts
Error Message:
status: 503
reason: Service Unavailable
detail:=20
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
-------------------- >> begin captured logging << --------------------
ovirtlago.testlib: ERROR: * Unhandled exception in <function _host_is_u=
p at 0x47b1668>
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 217, i=
n assert_equals_within
res =3D func()
File "/home/jenkins/workspace/ovirt_4.1_hc-system-tests/ovirt-system-test=
s/hc-basic-suite-4.1/test-scenarios/002_bootstrap.py", line 144, in _host_i=
s_up
cur_state =3D api.hosts.get(host.name()).status.state
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py=
", line 18338, in get
headers=3D{"All-Content":all_content}
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",=
line 46, in get
return self.request(method=3D'GET', url=3Durl, headers=3Dheaders, cls=
=3Dcls)
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",=
line 122, in request
persistent_auth=3Dself.__persistent_auth
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
spool.py", line 79, in do_request
persistent_auth)
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
spool.py", line 162, in __do_request
raise errors.RequestError(response_code, response_reason, response_body=
)
RequestError:=20
status: 503
reason: Service Unavailable
detail:=20
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
--------------------- >> end captured logging << ---------------------
Stack Trace:
File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()
File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTes=
t
self.test(*self.arg)
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 129, i=
n wrapped_test
test()
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 59, in=
wrapper
return func(get_test_prefix(), *args, **kwargs)
File "/home/jenkins/workspace/ovirt_4.1_hc-system-tests/ovirt-system-test=
s/hc-basic-suite-4.1/test-scenarios/002_bootstrap.py", line 163, in add_hos=
ts
testlib.assert_true_within(_host_is_up, timeout=3D15 * 60)
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 256, i=
n assert_true_within
assert_equals_within(func, True, timeout, allowed_exceptions)
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 217, i=
n assert_equals_within
res =3D func()
File "/home/jenkins/workspace/ovirt_4.1_hc-system-tests/ovirt-system-test=
s/hc-basic-suite-4.1/test-scenarios/002_bootstrap.py", line 144, in _host_i=
s_up
cur_state =3D api.hosts.get(host.name()).status.state
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py=
", line 18338, in get
headers=3D{"All-Content":all_content}
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",=
line 46, in get
return self.request(method=3D'GET', url=3Durl, headers=3Dheaders, cls=
=3Dcls)
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",=
line 122, in request
persistent_auth=3Dself.__persistent_auth
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
spool.py", line 79, in do_request
persistent_auth)
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
spool.py", line 162, in __do_request
raise errors.RequestError(response_code, response_reason, response_body=
)
status: 503
reason: Service Unavailable
detail:=20
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
-------------------- >> begin captured logging << --------------------
ovirtlago.testlib: ERROR: * Unhandled exception in <function _host_is_u=
p at 0x47b1668>
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 217, i=
n assert_equals_within
res =3D func()
File "/home/jenkins/workspace/ovirt_4.1_hc-system-tests/ovirt-system-test=
s/hc-basic-suite-4.1/test-scenarios/002_bootstrap.py", line 144, in _host_i=
s_up
cur_state =3D api.hosts.get(host.name()).status.state
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py=
", line 18338, in get
headers=3D{"All-Content":all_content}
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",=
line 46, in get
return self.request(method=3D'GET', url=3Durl, headers=3Dheaders, cls=
=3Dcls)
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py",=
line 122, in request
persistent_auth=3Dself.__persistent_auth
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
spool.py", line 79, in do_request
persistent_auth)
File "/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connection=
spool.py", line 162, in __do_request
raise errors.RequestError(response_code, response_reason, response_body=
)
RequestError:=20
status: 503
reason: Service Unavailable
detail:=20
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
--------------------- >> end captured logging << ---------------------
------=_Part_158_1063418822.1494474382337--
7 years, 6 months
oVirt infra daily report - unstable production jobs - 319
by jenkins@jenkins.phx.ovirt.org
------=_Part_248_966609170.1494543607580
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Good morning!
Attached is the HTML page with the jenkins status report. You can see it also here:
- http://jenkins.ovirt.org/job/system_jenkins-report/319//artifact/exported...
Cheers,
Jenkins
------=_Part_248_966609170.1494543607580
Content-Type: text/html; charset=us-ascii; name=upstream_report.html
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=upstream_report.html
Content-ID: <upstream_report.html>
<!DOCTYPE html><head><style type="text/css">
table.gridtable {
border-collapse: collapse;
table-layout:fixed;
width:1600px;
font-family: monospace;
font-size:13px;
}
.head {
font-size:20px;
font-family: arial;
}
.sub {
font-size:18px;
background-color:#e5e5e5;
font-family: arial;
}
pre {
font-family: monospace;
display: inline;
white-space: pre-wrap;
white-space: -moz-pre-wrap !important;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
</style>
</head>
<body>
<table class="gridtable" border=2>
<tr><th colspan=2 class=head>
RHEVM CI Jenkins Daily Report - 11/05/2017
</th></tr><tr><th colspan=2 class=sub>
<font color="blue"><a href="http://jenkins.ovirt.org/">00 Unstable Critical</a></font>
</th></tr>
<tr><td>
<a href="http://jenkins.ovirt.org/job/ovirt_4.1_hc-system-tests/">ovirt_4.1_hc-system-tests</a>
</td><td>
This job is automatically updated by jenkins job builder, any manual
change will be lost in the next update. If you want to make permanent
changes, check out the <a href="http://gerrit.ovirt.org/gitweb?p=jenkins.git;a=tree;h=refs/heads/master;h...">
jenkins</a> repo.
<!-- Managed by Jenkins Job Builder -->
</td></tr>
<tr><td>
<a href="http://jenkins.ovirt.org/job/ovirt_master-ansible-system-tests/">ovirt_master-ansible-system-tests</a>
</td><td>
This job is automatically updated by jenkins job builder, any manual
change will be lost in the next update. If you want to make permanent
changes, check out the <a href="http://gerrit.ovirt.org/gitweb?p=jenkins.git;a=tree;h=refs/heads/master;h...">
jenkins</a> repo.
<!-- Managed by Jenkins Job Builder -->
</td></tr>
<tr><td>
<a href="http://jenkins.ovirt.org/job/ovirt_master_image-ng-system-tests/">ovirt_master_image-ng-system-tests</a>
</td><td>
This job is automatically updated by jenkins job builder, any manual
change will be lost in the next update. If you want to make permanent
changes, check out the <a href="http://gerrit.ovirt.org/gitweb?p=jenkins.git;a=tree;h=refs/heads/master;h...">
jenkins</a> repo.
<!-- Managed by Jenkins Job Builder -->
</td></tr>
<tr><td>
<a href="http://jenkins.ovirt.org/job/test-repo_ovirt_experimental_4.1/">test-repo_ovirt_experimental_4.1</a>
</td><td>
This job is automatically updated by jenkins job builder, any manual
change will be lost in the next update. If you want to make permanent
changes, check out the <a href="http://gerrit.ovirt.org/gitweb?p=jenkins.git;a=tree;h=refs/heads/master;h...">
jenkins</a> repo.
<!-- Managed by Jenkins Job Builder -->
</td></tr>
<tr><td>
<a href="http://jenkins.ovirt.org/job/test-repo_ovirt_experimental_master/">test-repo_ovirt_experimental_master</a>
</td><td>
This job is automatically updated by jenkins job builder, any manual
change will be lost in the next update. If you want to make permanent
changes, check out the <a href="http://gerrit.ovirt.org/gitweb?p=jenkins.git;a=tree;h=refs/heads/master;h...">
jenkins</a> repo.
<!-- Managed by Jenkins Job Builder -->
</td></tr>
------=_Part_248_966609170.1494543607580--
7 years, 6 months
[oVirt Jenkins] ovirt_4.1_he-system-tests - Build # 108 - Unstable!
by jenkins@jenkins.phx.ovirt.org
------=_Part_156_303663615.1494471492245
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Project: http://jenkins.ovirt.org/job/ovirt_4.1_he-system-tests/=20
Build: http://jenkins.ovirt.org/job/ovirt_4.1_he-system-tests/108/
Build Number: 108
Build Status: Unstable
Triggered By: Started by timer
-------------------------------------
Changes Since Last Success:
-------------------------------------
Changes for Build #108
[Ond=C5=99ej Svoboda] Use SDKv4 code in bond_nics.
-----------------
Failed Tests:
-----------------
1 tests failed.
FAILED: 002_bootstrap.add_he_hosts
Error Message:
Adding HE hosts requires API v4.
Stack Trace:
Traceback (most recent call last):
File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()
File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTes=
t
self.test(*self.arg)
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 129, i=
n wrapped_test
test()
File "/usr/lib/python2.7/site-packages/ovirtlago/testlib.py", line 59, in=
wrapper
return func(get_test_prefix(), *args, **kwargs)
File "/home/jenkins/workspace/ovirt_4.1_he-system-tests/ovirt-system-test=
s/he-basic-suite-4.1/test-scenarios/002_bootstrap.py", line 359, in add_he_=
hosts
raise RuntimeError('Adding HE hosts requires API v4.')
RuntimeError: Adding HE hosts requires API v4.
------=_Part_156_303663615.1494471492245--
7 years, 6 months
[JIRA] (OVIRT-1373) Setup a container registry in PHX (But only on demand)
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1373?page=com.atlassian.jir... ]
Barak Korren reassigned OVIRT-1373:
-----------------------------------
Assignee: Evgheni Dereveanchin (was: infra)
> Setup a container registry in PHX (But only on demand)
> ------------------------------------------------------
>
> Key: OVIRT-1373
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1373
> Project: oVirt - virtualization made easy
> Issue Type: New Feature
> Components: Repositories Mgmt
> Reporter: Barak Korren
> Assignee: Evgheni Dereveanchin
>
> As we've been discussing the CI/CD process for containers with various developers. The possibility arose that we might need to run our own container registry on the PHX infrastructure.
> Our preference would actually be to use DockerHub or some other public registry, as opposed to running our own service, but it might end up being insufficient from performance or reliability reasons. We will try that first, so for the time being this ticket is for planning and research purposes as opposed to actual deployment.
> The container registry will be used by the CI system directly so it needs to be quite fast and very reliable. It will probably contain multiple versions of the CentOS and Fedora base images as well as many other images built on top of them, so storage requirements may not be modest either.
--
This message was sent by Atlassian JIRA
(v1000.929.2#100040)
7 years, 6 months