summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-08-11xci: Start developer documentationFatih Degirmenci1-0/+31
Change-Id: Ib5200372a44ee6a22b45c2105b3729d362eacb1d Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Configure daily job to use xci scriptsFatih Degirmenci1-0/+1
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>
2017-08-11xci: Update main script and readmeFatih Degirmenci2-7/+373
This change - updates the main script to run the playbooks - creates the initial version of the readme file Change-Id: I4110433bce541a5d9645f34457f9e1b1ee93df19 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Create playbook to destroy, create and provision VM nodesFatih Degirmenci5-29/+44
This change moves preparation (cloning repos, combining opnfv/bifrost with openstack/bifrost), destroying and creating VM nodes from the script into a separate playbook. This requires the host to have ansible installed. The version of ansible to install using pip currently matches to what bifrost uses but it is hardcoded and needs to be fixed properly. The reason for having this as a playbook to simplify the script and increase the reuse. This playbook will be used for - developer sandbox - periodic bifrost jobs to run against latest on given branch and promoting bifrost sha1 to pin later on - daily jobs to run using pinned versions of bifrost Change-Id: I033f12290dfea19d4c74be80eea7203211c0369e Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Add ansible files for sandbox ha flavorFatih Degirmenci5-0/+389
This patch adds noha target host configuration playbook, inventory, variable files and so on to use until we have time to fix things more properly and some other functionality becomes available in upstream. This approach will result in duplicates but it is something we can perhaps live with. The playbook to configure target hosts will be same with the one we will have for noha flavor but for different for the flavor mini. The user variables and openstack user configuration will be different between flavors and keeping deployment specific configuration. Change-Id: I4e2b375b9f8f6bd5f8c5da91a522b78d61a58125 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Add ansible files for sandbox mini flavorFatih Degirmenci5-0/+273
This patch adds mini target host configuration playbook, inventory, variable files and so on to use until we have time to fix things more properly and some other functionality becomes available in upstream. This approach will result in duplicates but it is something we can perhaps live with. The user variables and openstack user configuration will be different between flavors and keeping deployment specific configuration. Change-Id: Ie312dfa2047d094b590de970c1436d69f4c69668 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Add ansible files for sandbox noha flavorFatih Degirmenci7-0/+325
This patch adds noha target host configuration playbook, inventory, variable files and so on to use until we have time to fix things more properly and some other functionality becomes available in upstream. This approach will result in duplicates but it is something we can perhaps live with. NFS configuration is converted into a role and the rest is adjusted accordingly. The playbook to configure target hosts will be same with the one we will have for ha flavor but for different for the flavor mini. The user variables and openstack user configuration will be different between flavors and keeping deployment specific configuration. Change-Id: I8faceae846285fc3e4260cbced5b740a9b0c3766 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Move role configure-network to the right placeFatih Degirmenci1-3/+2
Incorrectly placed role configure-network causes ansible to skip the roles at the beginning of the playbook. Change-Id: Id85e9684eb86acad7c11104b434a319c37e16903 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Add ansible files for sandbox aio flavorFatih Degirmenci4-0/+27
This patch adds aio opnfv host configuration playbook, inventory, variable files and so on to use until we have time to fix things more properly and some other functionality becomes available in upstream. This approach will result in duplicates but it is something we can perhaps live with. The playbook to configure opnfv host is different from the playbook used for the rest of the flavors as our target host is the opnfv host itself. This is the reason for not having target host configuration playbook. This installation of aio will be driven by upstream scripts/playbooks entirely and we just execute the scripts we have in openstack-ansible repo. Change-Id: Ica814bdac1d324414f3add382a8241de49c93a2e Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11prototypes: bifrost: Remove ironic templatesMarkos Chandras2-158/+0
This effectively reverts d8235c3c97f4 and 7c1b8bf89d6ce since upstream has now fixed the issues reported in https://review.openstack.org/#/c/450681/ Change-Id: I35588146654d9141bc9357faa3d44e8799c5b706 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11xci: Networking fixes to introduce role and interface varFatih Degirmenci6-57/+65
Network configuration task and accompanied handler put into a role and handler is converted to task. Distro specific var, interface, is introduced to ensure we do not hardcode the interface which might not be available. Update the templates accordingly. Change-Id: I667620fe22c93a9b20a1d8c1b7b0051d7647b591 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Ensure using flavor inventoryFatih Degirmenci1-0/+4
This is needed in order to configure target hosts that are in the flavor inventory file rather than what is there by default, which is aio. Change-Id: Iab27ed71a3d7c03f8fbbec8ceb7af92259320412
2017-08-11xci: Add common and OS family ansible var filesFatih Degirmenci6-0/+52
OS family vars_files are currently empty and put there to show the intend. (kind of TODO) opnfv.yml holds non-distro and non-flavor specific variables. Change-Id: I65aff2650257f2df00fd1f0a0638fd1aff596ac4 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Add main playbooks and filesFatih Degirmenci14-0/+643
This patch adds the main/common playbooks, files, and templates to be used for all flavors. The provisioning and OpenStack installation process will be as below - provision VMs for flavor using bifrost - once the VMs are provisioned, configure-localhost.yml playbook will be run, preparing the localhost in order to ensure the right playbooks (configure-opnfvhost.yml and configure-targethosts.yml), inventory files and var files are in place before we proceed with configuring opnfv host. - after getting the right files for the flavor, opnfv host will be configured using configure-opnfvhost.yml playbook. - finally, the target hosts will be configured. - once the above process is completed, openstack-ansible playbooks will be run, setting up hosts, infrastructure and OpenStack. Change-Id: I6e08b2cfdab9627f765e6fc414917b09f953cab2 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11prototypes: bifrost: Remove /opt/stack from previous deploymentsMarkos Chandras2-1/+4
/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>
2017-08-11xci: Destroy/undefine only the VMs we createdFatih Degirmenci1-6/+2
Destroying/undefining all the VMs on host might cause issues for the users. This change tries to reduce the possibility of it by removing VMs listed by vbmc. Change-Id: I5134043309722632df68a0800c6403e6f39a8d16 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11prototypes: bifrost: Fix Ironic drivers for VMsMarkos Chandras1-1/+1
Commit d8235c3c97f4("Set database pool_size in ironic.conf and inspector.conf templates") added a copy of the ironic.conf.j2 template file to workaround an upstream bug but it also changed the default ironic drivers leading to broken introspection. We use virtual BMC for controlling the VMs and this expects ipmi ironic drivers so we fix that. Change-Id: Ibb2cc58738ec1693e136bdce7335cd1b861ec613 Fixes: d8235c3c97f4("Set database pool_size in ironic.conf and inspector.conf templates") Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11xci: Make OSA playbook to use during installation configurableFatih Degirmenci1-0/+8
Change-Id: Ie6f079bb61905ca0458778b78fef799777b24efa Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Rename the deployment host to opnfvFatih Degirmenci8-13/+13
Reflect the changes to other impacted files as well. Change-Id: I106f4e47fe5c75d288f4878fe6ec9f8ff39c652e Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Add/update variables to tool, user, and flavorsFatih Degirmenci5-10/+18
Updates - RAM allocations for the flavors mini and noha increased to 12GB. - Distro variables introduced to tool as it will be used by the CI and the developers. - LOG_PATH and RUN_TEMPEST are now available in user variables. Change-Id: I4a73d7b79761d81f605cdb3fa9771ca40e9f9f02 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Yet another try to find how best to structure stuffFatih Degirmenci30-10/+1
Summary of changes are - flavors directory has been removed and the flavor config files are moved into config and renamed to <flavor>-vars - common files are put under file - files specific to flavors are put under file/<flavor> directories - templates and var files are stored in template and var directories respectively - 3 playbooks are created Change-Id: I8a93e0947ccb02f93a6c8f00da27e0cc6b4dc21e Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11Set database pool_size in ironic.conf and inspector.conf templatesFatih Degirmenci2-0/+158
min_pool_size and max_pool_size are undefined in ironic.conf and inspector.conf templates, causing issues during ironic-dbsync and ironic-inspector-dbsync. https://build.opnfv.org/ci/job/opnfv-bifrost-verify-trusty-virtual-master/224/console This issue is there for stable/ocata as well. These should be got rid of once the patch on openstack/bifrost is merged. https://review.openstack.org/#/c/450681/ Change-Id: I678835e763022a7168e498047bb65d140895e019 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Enable node provisioning and shuffle/rename stuffFatih Degirmenci23-71/+115
This change enables node provisioning using bifrost based on the chosen flavor. Other changes include - move flavor specific stuff (playbooks, inventory, vars) into their own folders so it is easier to copy them over. - rename flavors and get rid of xci from them. - introduce env-vars to keep variables that are not really user variables. Please note that this patch contains empty files and so on due to still trying to find best way to structurei things. Apart from this, there will probably be lots of duplications here and there which will be taken care of once things settle. Change-Id: I04a5d422e5b018439bafea5e68e65255ae38d22b Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Set up the basics for xci developer sandboxFatih Degirmenci19-0/+195
This change creates - initial version of the script to initiate the VM node creation and provisioning with bifrost and OpenStack installation with openstack-ansible - pinned-versions to hold the "known working" versions. releng will use master until the development is complete. - user-vars to hold user variables - configuration files to keep settings for different flavors - ansible files (playbooks, inventory files, variables) per flavor. These files are empty at the moment in order to save the chosen path makes sense. Once the way is agreed on, these will be similar to the files listed below with different content per flavor. https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=blob;f=prototypes/openstack-ansible/playbooks/inventory https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=blob;f=prototypes/openstack-ansible/playbooks/configure-xcimaster.yml https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=blob;f=prototypes/openstack-ansible/var/ubuntu.yml These new files will be the ones used when the actual deployment is done with openstack-ansible based on the flavor chosen by developer (or CI). Change-Id: Ia2f38416a161abd186cbcca61e105c6a68f78b54 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Configure ansible verbosity based on job typeFatih Degirmenci1-6/+7
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>
2017-08-11xci: Merge bifrost provisioning scripts and renameFatih Degirmenci2-174/+24
Jobs are adjusted as well. Change-Id: I0bc5bdda37277053d81d7da394e0156902da817a Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Adjust how bifrost inventory files are specifiedFatih Degirmenci2-7/+10
First step towards creating env-vars files based on the use of these scripts so the scripts can be merged into one. Change-Id: I4ee1d9af520aa684a5367a2645d709835bc4a5a1 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Make it possible to select component versionsFatih Degirmenci3-9/+16
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>
2017-08-11xci: Fix grep, switch to opnfv playbook and log playbooks to consoleFatih Degirmenci1-18/+21
Change-Id: I4a576d45b71267f672e55c93e4f0c95410af019a Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Fix the script name and remove openstack servicesFatih Degirmenci1-2/+0
Change-Id: I774e12f15561de75920ca50bcb2fbaf917e004a9 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Logging, naming, and job updatesFatih Degirmenci4-81/+133
- 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>
2017-08-11xci: Updates to releng/osa to make it work on JenkinsFatih Degirmenci5-21/+61
- 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>
2017-08-11xci: Updates to releng/bifrost to make it work on JenkinsFatih Degirmenci4-9/+68
- get rid of BAREMETAL_DATA_FILE and use BIFROST_INVENTORY_SOURCE so it works both for master and ocata for osa-bifrost. - set BIFROST_INVENTORY_SOURCE file according to branch bifrost is executed from for osa-bifrost. - explicitly set what the SSH public key file is as ansible copies the wrong public key to nodes if bifrost is executed on Jenkins using sudo. - set branches if they are not set so the scripts can be used manually as well. - rename jumphost to xcimaster so people do not mix it with actual jumphost located in Pharos PODs. Change-Id: Iff7631fa99816ad75316b62c5ac20714f67cd86a Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Remove obsolete bifrost dib ELEMENTS_PATHFatih Degirmenci2-6/+0
Change-Id: I7baa0db9c8193e4041883d5997529df98919c7af Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11xci: Enable VM provisioning using bifrost for daily runsFatih Degirmenci4-11/+14
- create script to provision VMs (log upload is not enabled yet) - remove leftover inventory files (baremetal.csv, baremetal.json) - set BIFROST_INVENTORY_SOURCE as needed by stable/ocata - rename playbook used during bifrost and adjust scripts using it - remove puppet-infracloud stuff Change-Id: I1c4412d0725c00ab9a1b3497e358d33998b4e7e6 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11prototypes: bifrost: destroy-env: Delete nodes from vbmcMarkos Chandras1-0/+4
Upstream commit 12376b958e76 ("Use virtualbmc for virtual BM nodes") moved the VM IPMI management from the ssh drivers to the vbmc one. As a result, we need to clear all the nodes from vbmc during cleanup. Change-Id: I2a4e7233874c4fad8df525c8f7b526df17a8211f Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11bifrost: Create bifrost script for openstack-ansiblewutianwei2-1/+143
This change creates a separate script to provision 6 VMs for HA to use for openstack-ansible. - create 1 jumphost, 3 controller, 2 compute - set the mumber of vCPU to 8 - use 16GB RAM per VM - use xenial and add additional packages required by openstack-ansible Change-Id: I858340c5bd13a1cd35cf4334ab2b8c362c5c5e7f Signed-off-by: wutianwei <wutianwei1@huawei.com> Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
2017-08-11Read OSA_BRANCH from an env varYolanda Robla2-1/+2
Currently the OSA_BRANCH was sent in the deploy script, but not being picked by ansible. Enable this OSA_BRANCH in ansible, that will read from the populated env var in the deploy script. Change-Id: I77cffaee647a6f2a67baa49b1ddf022061398d86
2017-08-11prototypes: fix yamllint issuesJessica Wagantall4-114/+114
Linting openstack-ansible files Change-Id: Id9e3ffa7753f25cd57c4d706b26cbb76d0bd99c7 Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
2017-08-11prototypes: fix yamllint issuesJessica Wagantall3-4/+7
Linting puppet-infracloud files Change-Id: I37ccf9537a8d56e8209c6dbf17a62901d1cc441c Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
2017-08-11prototypes: bifrost: Fix ELEMENTS_PATH for latest diskimage-builder releaseMarkos Chandras2-2/+2
Upcoming diskimage-builder version (2.0.0) changed the location on where dib elements are installed from /usr/share/diskimage-builder to /usr/lib/$python/diskimage_builder/. However, base elements are included by default so fix the script to set ELEMENTS_PATH to the path of our out-of-tree elements. Change-Id: Ib5c4e1465a67a819c9d495b0e0a64addeb0294cb Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11prototypes: bifrost: Switch to JSON for inventoryMarkos Chandras1-2/+4
Upstream commit 3aaed64e88e3 ("Use JSON baremetal data in testing") switched from CSV to JSON for the inventory file in order to support the *_ipmitool drivers and virtualbmc. This commit mimics the upstream one. Depends-On: Ib5c4e1465a67a819c9d495b0e0a64addeb0294cb Change-Id: If66810db445cf997c5eb61090815abe186e002fa Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11Add scripts and playbook to deploy OSAwutianwei13-0/+756
The script and playbooks defined on this repo will deploy an OpenStack cloud based on OpenStack-Ansible. You just need to run the osa_deploy.sh. More information please refer to the README.md Change-Id: I731c366ab7197aefd7726150477ba1cc4d2932d3 Signed-off-by: wutianwei <wutianwei1@huawei.com>
2017-08-11prototypes: bifrost: Collect logs even if deployment failsMarkos Chandras1-2/+5
Move the collect-test-info.sh script to the 'exit' trap so we can collect whatever logs we can even if the bifrost deployment failed. Upstream change: https://review.openstack.org/433532 Change-Id: Icfbec01d894ff33e83730a40a09dc5540008dbaa Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11bifrost: Destroy all VMs from the slave nodesMarkos Chandras1-6/+6
New patchsets may introduce (or remove) testing VMs so make sure the script destroys all of them Change-Id: Ic96142823b9a8b044306327ce3454fbdc6fa5eb4 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11prototypes: bifrost: Cleanup old VM console logsMarkos Chandras1-1/+1
The VM logs may not be rotated by logrotate so they are accumulated over time. Make sure they are gone when we start a new job. Change-Id: Iecf7e53015740db98c17a42612da7f44f3c4a676 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11prototypes: bifrost: Drop the entire ironic databaseMarkos Chandras1-5/+2
There is no reason to only drop a few tables from it, so just drop the entire database. Change-Id: Iea9757fc5ccd85bc223d3c86d6a4c3ecf65fa130 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11bifrost: Use 'unsafe' disk cache for test VMsMarkos Chandras1-0/+1
The VMs which are created by bifrost are not meant to be used in production so improve the overall CI job performance by switching to the 'unsafe' disk cache mode. Make it also the default mode when using bifrost outside of the Jenkins job. Change-Id: If88f6c9395617a4aa860f8d00e22abfdd18d2922 Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11jjb: infra: prototypes: bifrost: Ignore mysql and ironic failuresMarkos Chandras1-8/+10
On brand new hosts ironic may not be installed yet so attemping to restart ironic services will lead to failures. Similarly, mysql may also not be installed so do not try to wipe the tables. Change-Id: Ic77d9358aeecb11f5c076a47cfea18ee4f0dff9f Signed-off-by: Markos Chandras <mchandras@suse.de>
2017-08-11Removing SELINUX class from server manifestRicardo Noriega1-7/+0
Duplicated in controller.pp Change-Id: I4817e23cfc1ff3862fc4fe9bc69b8e90c28073cc Signed-off-by: Ricardo Noriega <rnoriega@redhat.com> Co-authored-by: Yolanda Robla <yroblamo@redhat.com>