Age | Commit message (Collapse) | Author | Files | Lines |
|
We only care to trigger builds based on changes under xci/, not
including xci/README.rst
Change-Id: I347e0d7ef658c41322b7c3e25740fa4d2f960bdc
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
There is no 'README.rst' at the root of the repo, but there are
README.rst under xci, bifrost, etc. Changes to these READMEs shouldn't
trigger builds.
Change-Id: I6a09388cf40b35211d58413b45b5ac8c596a2dc7
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
The job doesn't need to be triggered if there is no code change, eg
commit message updates.
The remnants of previous directory structure is also removed from
gerrit trigger/forbidden-file-paths.
Change-Id: I68b9e70d0d70253d7fbad95f8dedaaa63fb2b26e
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
Change-Id: I2f60bac555571d4fddbde63bf8002aae2df47de3
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: I18105f9289f67f634431013d08b24608380f00e4
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
openSUSE Leap 42.3 is the latest release so update the CI jobs to make
use of it.
Change-Id: I875bf924be9c84607d4b859a72f5eade4ca5f36d
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
This job
- updates osa periodic jobs to use multijob project type
- adds pollscm trigger to prevent running job unnecessarily
if there is no change in upstream osa
The execute shell parts will be sent in separate change(s).
Change-Id: I5f9b4cad04b245192171278e6bf2806c94369854
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: I370d2822071c77a16387935e1d465f608ee9e10e
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
- Fix environment variables set by the job
- Fix the default distro in deploy job since the {distro} is not passed to it
- Navigate to correct directory where xci-deploy.sh is located
Change-Id: Ie412dc4852a4aac5aae5c1f26bb271281ebbc111
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
This job gets triggered when a new patchset to xci is created.
Currently only the deployment is run and healthcheck will be activated
once xci is adjusted for functest.
Change-Id: I3ea61524de6c6b5e2d872f59bb362d9c9be6053c
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
|
|
Make use of the build-timeout macro to kill the job after 90 minutes
which is more than enough for a bifrost job to finish.
Change-Id: Ic7ffa8291d057bf22f7d97d017c00bd3f3b6f4a9
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The errexit option is there to catch failures when the job is executed.
We don't want to mark the entire job as failed when we have troubles
uploading the logs when the actual job has passed so we disable the
errexit option to make the whole process less aggressive. Moreover, we
move the build log upload to the end of the operation so we can catch
as much output as possible.
Change-Id: Ice126471a8c837c54c95c8ef0935c059d37ea91b
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The full distro elements are not well maintained. Upstream OpenStack
also prefers the minimal elements when building images for the CI so
we should do the same to minimize the delta between the two systems.
Change-Id: Ifeddb0a74c2434df2cfa95cde36b4aaac1516698
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
With the releng-xci code moving to it's own repository, the Jenkins jobs
need to be modify to clone the correct repo and point at the right
paths:
* The git repo is changed to 'releng-xci'
* The cloned directory is changed to '$WORKSPACE/releng-xci'
* References to the 'prototypes' directory path have been removed
Change-Id: Ia1d2ad0a2fb6cc9d1848356edf448b92ab67b017
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
Adds the 'email-jenkins-admins-on-build-failures' publishers for jobs
which have overridden the default list of publishers.
This will provide Jenkins administrators a time-series list of build
failures to assist in debugging issues with the master and agents.
JIRA: RELENG-257
Change-Id: I28f12877562113c9197ed6429ee2a7f3cdbaf346
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
A disabled trigger is set to the empty string, not prefixed with a
comment character.
Change-Id: I0b29857f0907f33bb0fb8156bb6db84113f1479d
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
|
|
Switch default target OS to Ubuntu Xenial (16.04) which is also the
version supported by bifrost.
Change-Id: Ia139af9d03c85225e741c78ce35ecc59cd990108
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Commit 0638af211db1 ("jjb: xci: xci-deploy.sh: Run the deployment
script as normal user") dropped 'sudo' from the bifrost provisioning
script. However this broke the jobs since the repositories were being
cloned into /opt where the jenkins user has not access to. As such,
clone the repositories in the $WORKSPACE directory instead.
Fixes: 0638af211db1 ("jjb: xci: xci-deploy.sh: Run the deployment script as normal user")
Change-Id: I55baceaada04496884470997562e3f512f2444a0
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
xci-deploy.sh can now be run as normal user so fix the Jenkins job
accordingly.
Change-Id: Ifd0d7e4c42c930dbee0bbc30836fadc1a54f2f95
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Ansible can request elevated privileges using the 'become' directive.
As such there is no need to run ansible using sudo. Furthermore,
OpenStack CI runs all jobs as normal user and we need to do the same
in order to compare behavior and results properly.
Change-Id: Id198efd1d6fdf4619de931fbedc7caba8d68d2a0
|
|
The os_client_config Ansible module used by all the ironic-* roles
depends on the keystone roles so we need to make use of them even
though they do not affect the end result. This fixes the following
OPNFV CI problem due to not having a clouds.yaml file present to
be consumed by the os_client_config Ansible module.
fatal: [controller00]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/tmp/ansible_ApkCUQ/ansible_module_os_client_config.py", line 75, in <module>
main()
File "/tmp/ansible_ApkCUQ/ansible_module_os_client_config.py", line 63, in main
for cloud in config.get_all_clouds():
File "/usr/lib/python2.7/site-packages/os_client_config/config.py", line 798, in get_all_clouds
cloud, region_name=region['name']))
File "/usr/lib/python2.7/site-packages/os_client_config/config.py", line 1071, in get_one_cloud
auth_plugin = loader.load_from_options(**config['auth'])
File "/usr/lib/python2.7/site-packages/keystoneauth1/loading/base.py", line 162, in load_from_options
raise exceptions.MissingRequiredOptions(missing_required)
keystoneauth1.exceptions.auth_plugins.MissingRequiredOptions: Auth plugin requires parameters which were not given: auth_url
fatal: [opnfv]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
Moreover, we cleanup the ~/openstack directory which may contain some
bifrost artifacts such as a clouds.yaml file.
Finally, we use 'sudo -H' because for the keystone roles we need the HOME
variable to be set properly.
Change-Id: I45b08bd33dd8ea9505fe10eb4b2b10956b3b683c
|
|
|
|
Variable 'i' does not exist. It should be 'try_to_rm' instead.
Change-Id: Ic2aa5a1115715851379e2c7ba5c11699cb8e7407
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
XCI has different jobs/loops to run
- patchset verification jobs (currently bifrost and osa in future)
- periodic jobs (bifrost and osa)
- daily jobs (for OPNFV platform deployment and testing)
The same scripts/playbooks used by XCI will also be used by developers.
We need to do different things depending on the context the scripts
and playbooks are executed.
- periodic jobs will use latest of everything to find working versions
of the components. (periodic osa will use unpinned role requirements
for example)
- daily jobs will use pinned versions in order to bring up the platform
and run OPNFV testing against it. (daily deployment will use pinned
versions and role requirements for example)
- developers might choose to use pinned versions or latest
Depending on what loop we are running, we need to do things differently
in scripts and playbooks. This variable will help us to do this in easy way.
We can of course do pattern matching of the job name but it will not
work if the scripts are used outside of Jenkins.
The default loop for non-Jenkins execution is set to daily as we want
developers to use working versions unless they change it to something
else intentionally.
Change-Id: Iff69c77ae3d9db2c14de1783ce098da9e9f0c83d
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
Periodic and daily jobs use same script and we should not log
info about osa sha1 to pin into console if it is not run as
part of periodic job.
Change-Id: I8203a822638603af92fd046d8038a3b4122dbf37
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: Ie33bcbbe1d4c4fd2166c8931bd9f135cf4200263
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
This change
- fixes GIT_BASE in jobs
- adjusts build blockers
- fixes where the flavor vars should be sourced from
- sources flavor vars for bifrost periodic jobs
- renames the xcimaster node to opnfv to be consistent
- removes obsolete xci-provision.sh script
- enable additional openstack services including tempest to
ensure the deployment is sane
Change-Id: Ifdce1da52d68a26c2b87e1bd3b1996ec119d8d90
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
These jobs run periodically against the HEAD of master and stable/ocata
branches in order to attempt deployment and help us to find more
recent working versions to pin.
In perfect world, these jobs should be run post-merge, helping us
to move faster but lack of resources prevent us doing that.
One thing to note here is that we use the pinned version of bifrost
in order to make sure we change one thing at a time to reduce the
delta.
Change-Id: Ieaff7e80581c7577b253b3646ca386313295a45a
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
These jobs run periodically against the HEAD of master and stable/ocata
branches in order to attempt provisioning and help us to find more
recent working versions to pin.
In perfect world, these jobs should be run post-merge, helping us
to move faster but lack of resources prevent us doing that.
Change-Id: I6f6b2fcc58eda112b1e811a7b11269e928bbceef
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Daily jobs are now switched to using xci-deploy.sh script together
with the environment variables, playbooks, and so on.
These jobs do not set any version for any of the component as
the point with these jobs is to test the platform itself, not the
tools.
DIB related stuff is still left as parameters to deploy job for SUSE
and CentOS jobs so we can override what is set by xci depending
on the distro.
Change-Id: I5a5292e6bae8fdd052858108db409e8d495fbf24
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
/opt/stack is being created by bifrost so the destroy-env.sh
script should be responsible for cleaning up all the remnants.
That way we can use the destroy-env.sh script outside of Jenkins
as well.
Change-Id: I72d9737cf2446ff3ffc02f195337a6873eceb5c0
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
bifrost-verify jobs have been using this without issues and it is
needed for many other jobs in order to avoid unnecessary failures.
This change makes workspace permission fix prescm step a macro.
Change-Id: Ib5678dbf21c17ce640a600d2a06ebed9674663fa
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Sometimes 'gsutil rm' may fail for unknown reasons like the following
one:
[...]
/ [7/10 objects] 70% Done
/ [8/10 objects] 80% Done
/ [9/10 objects] 90% Done
Operation completed over 10 objects.
CommandException: 1 files/objects could not be removed.
Try a few more times to remove the objects before giving up.
Change-Id: I6905a806446dac41ddc43d4195514a5233480ccd
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
Daily jobs will use pinned versions of bifrost and openstack-ansible in
order to make sure we use known good versions for them since focus of
the daily jobs is OPNFV platform testing.
Ansible log can easily become massive depending on the level it is set
and it is not so relevant for daily jobs to have it like this due to
less probability of dailies failing to provision/deploy.
On the other hand, the jobs that verify/test bifrost and openstack-ansible
will have max verbosity enabled to troubleshoot these components themselves.
New set of jobs will be created running periodically against the HEAD
of master for bifrost and openstack-ansible to catch working versions
and help us promote them to use for daily platform jobs. Verbosity of these
jobs will be enabled like how we are doing for bifrost-verify jobs.
Change-Id: Ic9fd2ff418fdaa3ad7fbfc22d8ec2dc1174df65f
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: I3d9d9b8b7c3de0c22a62945de027b9e8994d35e8
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Jobs are adjusted as well.
Change-Id: I0bc5bdda37277053d81d7da394e0156902da817a
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: I02f8c47fb19e6d47027c4655c233bf1952fabedd
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: Ib9116927c2169e033911d8b3fc64ba39232da6b0
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
By replacing the branch with version, we now can specify sha1s
per project; opnfv/releng, openstack-ansible, and bifrost.
If nothing is specified manually (or via promotion), the defaults
will be set to branches, master and stable/ocata.
Change also includes further logging.
Change-Id: Iae0f8cc60391caeb0f2735610050007014374a70
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
From time to time we end up in the unfortunate situation where
the jenkins job breaks for random reasons and the logs are left
with 'root' permissions. On the next run, the job fails again but
this time it's because Jenkins does not have enough permissions
to delete them. We workaround this by fixing up the permissions
before removing the workspace.
Change-Id: I2fda20ded527bac73605ffa5818a2c44bf6c9026
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Change-Id: I774e12f15561de75920ca50bcb2fbaf917e004a9
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
- adjust build blockers in daily jobs.
- explicity set SLAVE_LABEL for provision, deploy, and functest jobs
so they run on correct nodes even if they are started manually.
- rename files and update scripts accordingly.
osa_deploy.sh -> osa-deploy.sh
targethost_configuration.yml -> configure-targethosts.yml
jumphost_configuration.yml -> configure-xcimaster.yml
- add/fix console logging in osa-deploy.sh.
- add license header to osa-deploy.sh.
Change-Id: I57a37dccaa4bcda554ef79969e5d288b49937807
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
- change OSA_BRANCH to OPENSTACK_BRANCH to be consistent everywhere.
- create opnfv-setup-openstack.yml playbook, getting rid of some components
and copy it to xcimaster to use during the deployment.
- switch to opnfv-setup-openstack.yml from setup-openstack.yml.
- create Jenkins job wrapper to execute osa deploy script.
- disable ansible strict host key checking.
- use sudo -E as needed in order to make env vars set by Jenkins
job and wrapper available to other scripts and to ansible.
- rename jumphost to xcimaster so people do not mix it with actual
jumphost located in Pharos PODs.
- other minor fixes.
Change-Id: I5736fa700c2aa39c598d301bc74450d766b74411
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|