summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-05-09xci: osa: Add initial dynamic inventory from PDF/IDF filesMarkos Chandras15-149/+167
The PDF and IDF files contain all the information we need for the virtual XCI deployment, so we can use it to create a dynamic inventory and get rid of all the static ones which could easily get outdated as PDF and IDF files evolve over time. This inital version of the dynamic inventory contains a lot of unnecessary generated information but we do that in order to ease the migration from static files to the dynamic inventory. The dynamic inventory will be improved in the future as we consume more and more information from the PDF and IDF files. Change-Id: Id9f07a61c67a5cffcbc18079a341e5d395020a27 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-05-09xci: idf: Add more information for installers and flavorsMarkos Chandras1-11/+58
Each installer has its own Ansible groups so we need record such information separately. Moreover, we need to add 'flavor' information to the IDF so we know which hosts belong to what flavor. This also fixes the kubernetes installer type to be 'kubespray' instead of 'k8s' Finally, we extend the IDF to also set appropriate hostnames for the nodes. Change-Id: I52b20908ad927840e0b38fba96be8faf6da2b52d Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-05-08xci: osa: Bump SHA to fix resolv.conf file creation and git-clone issuesMarkos Chandras1-2/+2
Container images have recently changed and this breaks lxc_hosts during cache preparation as shown below: May 04 07:59:47 fatal: [controller00]: FAILED! => {"ansible_job_id": "362521755821.32697", "attempts": 1, "changed": true, "cmd": "chroot /var/lib/machines/ubuntu-xenial-amd64 /usr/local/bin/cache-prep-commands.sh > /var/log/lxc-cache-prep-commands.log 2>&1", "delta": "0:00:00.018827", "end": "2018-05-04 07:59:45.614668", "finished": 1, "msg": "non-zero return code", "rc": 1, "start": "2018-05-04 07:59:45.595841", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []} As such, we need to bump the SHA from the Queens branch to include the fix in XCI. We also need to bump SHA for repo_build role in order to bring in some upstream fixes when cloning git repositories. Change-Id: I9f04313f7eb1606e5e71ab8ecee7148d1c5b75ad Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-30xci: Remove intermediate scenarios tasks fileMarkos Chandras3-45/+20
Now that the scenario role is recorded as a local fact, we can include the role directly directly so we don't need the the intermediate file anymore. deploy-scenario:os-nosdn-nofeature installer-type:osa Change-Id: Ia3c5658826f115538b2a103d987ee8f33d3048b9 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-30xci: Improve scenario bootstrapping processMarkos Chandras1-48/+73
It's best to check whether the scenario/distro/flavor combination is supported before spending time cloning all the scenarios. Moreover, we can record the scenario information as a local fact so we can use it during the deployment later on. Change-Id: I1971444c6c6302a844f44ea651ad3b83c4da435c Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-30xci: playbooks: Simplify scenario overrides mechanismMarkos Chandras1-50/+16
Now that releng-xci does not have any internal scenarios anymore, we can simplify the way we plug scenarios to XCI. We keep cloning scenarios in the cache directory but we also allow users to pass a special 'xci_scenarios_overrides' variable similar to the 'opnfv_scenario_requirements.yml' file to allow them to override specific keys of the dictionaries. This can be used by Jenkins to test incoming changes by altering the defaults values. For example, when we want to test a Gerrit change we can create a file called foobar.yml with the following contents xci_scenarios_overrides: - scenario: os-odl-sfc version: 9fa5400012e02408b416eb7bd26307e7d179abce refspec: refs/changes/79/55879/7 and load it using XCI_ANSIBLE_PARAMS="-e @foobar.yml" This will make XCI checkout the refspec that we want instead of the default version. Change-Id: Ida49910b4c79b843582ddd70c00063fe9bc90dd4 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-30xci: roles: bootstrap-host: Simplify configuration filesMarkos Chandras16-330/+202
We split the networking task on distro specific files to make it easier to read. Moreover, the debian network configuration has been improved by simply sharing a common file across all nodes and also use the 'source' facility in the main /etc/network/interfaces file to use one configuration file per interface. Change-Id: Ic822fe6dc197227e70c0ba7cee812629df287d82 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-27spec: PDF and IDF supportManuel Buil1-0/+130
XCI baremetal is a big feature which will require a lot of patches and lines of code. Before starting the contributions, a spec will allow us to discuss and agree on the general aspects of its architecture and implementation. That will hopefully facilitate and increase the velocity of its reviews. This patch provides a spec with the general design ideas for the infra_manager tool which will allow XCI to be deployed on baremetal. Its architecture is based on the contributions from David. All the content of the spec is questionable even the structure of the spec :) Change-Id: Ie4b096482c8150a04d3d3b2df0e2ca8a280aad10 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-04-27xci: Add XCI OSA variables fileMarkos Chandras2-0/+18
We can use an XCI specific YAML file to add OSA options which are common across flavors. Right now, it only overrides the default openSUSE mirror to use a more stable one. Change-Id: Iae7d542787ead33be1e64cdeda60761aa401cfde Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-26Merge "Resignation of committer David Blaisonneau"Fatih Degirmenci1-5/+0
2018-04-25Merge "xci: install-lib: Install curl package"Fatih Degirmenci1-0/+4
2018-04-25Merge "Move configuration network templates"Markos Chandras11-5/+5
2018-04-25Resignation of committer David BlaisonneauFatih Degirmenci1-5/+0
Change-Id: Idc7f783730380e643f06b11755ba3692ddd339ec Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-04-25Merge "xci: xci-deploy: Fix sourcing of inbound scenarios overrides files"Manuel Buil1-1/+2
2018-04-24xci: install-lib: Install curl packageTaseer Ahmed1-0/+4
XCI_ANSIBLE_PIP_VERSION is determined dynamically using curl. This package is not present on every system, hence fails since it can not install a null version of Ansible Change-Id: I96a2237e6bdb28e09f0eebee4aae91742973d770 Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
2018-04-23Merge "xci: install-lib: Make sure pip is upgraded first"Markos Chandras1-0/+1
2018-04-20xci: install-lib: Make sure pip is upgraded firstMarkos Chandras1-0/+1
We need to make sure that pip is the first thing we upgrade in the virtual environment because old pip releases do not support the '-c' option which we use to install the rest of the required components. Change-Id: I8b3ec080617324bfefbec2a6cdfa6ef58afb7c20 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-20Pin os-odl-bgpvpn to project internal tag 6.0.0Fatih Degirmenci1-1/+1
It is important to test and pin the versions tagged by the projects to ensure we have a single version of XCI with pinned versions of the scenarios for all the projects are recorded. Same exercise will be done for all the scenarios and then scenarios will be unpinned from the tags to let the development continue. deploy-scenario:os-odl-bgpvpn installer-type:osa Change-Id: I9350bc53fa87836ad36259b259edf506dd99790a Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-04-20xci: xci-deploy: Fix sourcing of inbound scenarios overrides filesMarkos Chandras1-1/+2
We first need to look for the 'xci_overrides' file in the scenarios directory instead of the the XCI_CACHE since for inbound scenarios the former contains in-flight changes. The cache only contains whatever is committed in git and it may not capture changes which are being made to the actual XCI tree. Change-Id: Icd64d14d508c89a78823cecf7cc46bd31e50a475 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-20Merge "xci: lib-install: Clear XCI_CACHE prior to downloading ↵Markos Chandras1-0/+3
openstack-ansible-tests"
2018-04-19Merge "xci: infra: bifrost: Use XCI virtual environment for bifrost"Markos Chandras1-2/+10
2018-04-19Merge "Start documenting CI Loops and Confidence Loops applied by XCI"Fatih Degirmenci1-0/+74
2018-04-19xci: lib-install: Clear XCI_CACHE prior to downloading openstack-ansible-testsTaseer Ahmed1-0/+3
If we don't clear the cache, the script errors out with the following: fatal: destination path '/root/releng-xci/.cache/repos/openstack-ansible-tests' already exists and is not an empty directory Change-Id: I22111ed655a4c6790f808155968deb2fd3828e41 Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
2018-04-18Merge "Export OPENSTACK_REQUIREMENTS_VERSION"Fatih Degirmenci2-4/+4
2018-04-18Merge "Introduction of PDF/IDF"Manuel Buil2-0/+237
2018-04-18Start documenting CI Loops and Confidence Loops applied by XCIFatih Degirmenci1-0/+74
Please note that the document you are about to review contains information about the existing CI Loops and promotion criterias applied by XCI in order to record the current state of affairs. Once this change gets merged, a new change will be proposed and that change will be the one where the existing criterias will be updated and the new ones will be introduced. This document is created to start the conversation around determining the promotion criterias (test scopes) for each of the current and upcoming CI Loops XCI uses. The expectation with this document is to update it collaboratively with scenario owners, projects, XCI Team, Test Projects, and Release Management to find the necessary level of testing as much as possible. The information this document contains and the criterias set in it will be superseded by the CD-Based Release model once it becomes available. Change-Id: I7b4afd87a4f7694eb78c996e7870b8dc1e833fbf Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-04-17xci: infra: bifrost: Use XCI virtual environment for bifrostMarkos Chandras1-2/+10
We have already prepared a virtual environment for XCI so we may as well use it for bifrost as well. Change-Id: I084e5da7259a392c5d58e62e7985feb75bb45fb2 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-17Merge "xci: osa: Fix OpenStack-Ansible bootstrap"Fatih Degirmenci1-0/+1
2018-04-17xci: osa: Fix OpenStack-Ansible bootstrapMarkos Chandras1-0/+1
Commit 269b5fc033b1ee8d14d9d4694f4f0d3765866c0a ("xci: installer: osa: Fix status report when bootstrapping OSA") removed the 'chdir' parameter by accident and this broke the OpenStack-Ansible bootstrapping. This patch brings the missing parameter back. Change-Id: I0ecfa0eb4c91a9f1dfa2d86a8a50bacdbd224533 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-17Merge "xci: kubespray: Fix inventory when configuring keys on targethosts"Markos Chandras3-17/+10
2018-04-17Merge "xci: Add k8-nosdn-nofeature role"Markos Chandras6-6/+74
2018-04-17Introduction of PDF/IDFBlaisonneau David2-0/+237
this is a proposition of self sufficient PDF/IDF to describe the POD where XCI is running. The PDF [Pod Description File] is describing the physical level of the POD where XCI will run the installer. It lists servers and their description (CPU/RAM/DISK/NICS) The IDF [Installer Description File] is describing how the installers will use the POD. 2 sections are today important in this IDF: - idf.net_config is describing the network topology - xci section is set to describe how common steps (network, nfs, ceph,...) of XCI will use the pod. Another section of IDF idf.[installer], curretnly empty, will contain all pod specificities that are linked to an installer (osa, kolla, k8s,...) and not shared with the others. Those 2 files are describing the vitual pod as it is already deployed by the XCI. Those default files can be replaced by the ones describing the target pod (done manually or with the CI). It would then be to the install process to take into account these files (to be done). Change-Id: I3dcbd965f8c84b03d34eb0fd68599d7bec402dbd Signed-off-by: Blaisonneau David <david.blaisonneau@orange.com>
2018-04-17Merge "Create directory to move xci scripts from releng/jjb/xci"Fatih Degirmenci1-0/+7
2018-04-16Merge "xci: installer: osa: Fix status report when bootstrapping OSA"Markos Chandras1-3/+0
2018-04-16xci: kubespray: Fix inventory when configuring keys on targethostsMarkos Chandras3-17/+10
The SSH keys for the OPNFV host have been configured in the configure-opnfvhost.yml playbook so we shouldn't do that in a playbook that is only meant to configure the target hosts. As such, fix the group to use 'k8s-cluster' instead. Since the targethosts playbook does not apply to all hosts anymore, we can simply drop the list of required packages and only install 'netaddr' on the OPNFV host which is the host that needs it. Similarly, the dbus package is only needed on the targethosts. Change-Id: I293ad83a3a95797d9025f2cddd7849be7b3a49da Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-16xci: Add k8-nosdn-nofeature rolewutianwei6-6/+74
Move default k8s-cluster.yml from kubespray/files/ to role/k8-nosdn-nofeature/files/k8s-cluster.yml since it's scenario specific. Moreover, we set 'cloud' as kube_network_plugin, which would use kubnet as network plugin. The kubenet network plugin requires routing between to be setup by the administrator so we need to add static routes on every host since they are connected using a bridge instead of a router. installer-type:kubespray deploy-scenario:k8-nosdn-nofeature Change-Id: I6ab7288c966d7f17e9d61279056f7673be37bebe Signed-off-by: wutianwei <wutianwei1@huawei.com> Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-16Create directory to move xci scripts from releng/jjb/xciFatih Degirmenci1-0/+7
This change proposes creation of a folder named ci in releng-xci in order to move the XCI scripts from Releng. The reason to name the directory ci is that this directory has been in use by the majority of OPNFV Projects and Releng either executes the scripts directly or with the help of wrapper scripts that do not contain project specific logic. Scripts developed in releng/jjb/xci has too much XCI specific stuff in them, making it difficult to keep the separation between XCI framework and CI itself. Apart from that, having scripts in Releng makes it troublesome to verify them properly. Another importance of moving the scripts here is to ensure these scripts can be used by other CI/automation tooling such as Zuul in future. It is better to move the scripts now before things get even more complicated to move. Change-Id: Id22c2c2e09950b49a36a04a78208a3404de9c088 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-04-14Download only the needed images for OpenStack Functest HealthcheckFatih Degirmenci1-1/+9
Some of the files needed by Functest are pretty big and it takes time to download them all so this change ensures that the files are needed by healthcheck is downloaded and the rest is not. Further changes are needed to make the list even smaller for smoke test but we need Functest guidance to identify which of them are needed for what testing. It could be done by having suite specific download_images.sh like download_images_healthcheck.sh, download_images_smoke.sh and so on. deploy-scenario:os-nosdn-nofeature installer-type:osa Change-Id: Ib2c5867adfad8097d1a084c39ad08cc4df2e4549 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
2018-04-13xci: installer: osa: Fix status report when bootstrapping OSAMarkos Chandras1-3/+0
Fixes the following ansible-lint warning [WARNING]: While constructing a mapping from /home/devuser/releng- xci/xci/installer/osa/playbooks/configure-opnfvhost.yml, line 113, column 7, found a duplicate dict key (args). Using last defined value only. We also remove the changed_when value since we now use 'args' to get proper status report. Change-Id: I382e3183b66e590462fbcb8663d53cade0e5d92c Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-13xci: opnfv-scenario-requirements: Add openSUSE to k8-canal-nofeatureMarkos Chandras1-0/+1
openSUSE is supported in kubespray so we add it to the k8s-canal-nofeature scenario. installer-type:kubespray deploy-scenario:k8-canal-nofeature Change-Id: I626e98beef220f724ae72329be42b959a03ce87b Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-13xci: opnfv-scenario-requirements: Add openSUSE to k8-calico-nofeatureMarkos Chandras1-1/+2
openSUSE is supported in kubespray so we add it to the k8s-calico-nofeature scenario. installer-type:kubespray deploy-scenario:k8-calico-nofeature Change-Id: I1ffa972b7bb1f949645bb585d2a8688cf4580342 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-13Merge "Integrate the k8-flannel-nofeature scenario"Markos Chandras4-0/+327
2018-04-13Merge "Simplify odl scenarios"Periyasamy Palanisamy3-12/+4
2018-04-13Integrate the k8-flannel-nofeature scenarioTaseer Ahmed4-0/+327
installer-type:kubespray deploy-scenario:k8-flannel-nofeature Change-Id: Ie47efe4759b2cf52421cd2edf5e7817442b0026f Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
2018-04-13xci: kubespray: Bump SHA to include openSUSE supportMarkos Chandras2-8/+1
The upstream PR to include openSUSE support has been merged so we need to bump the SHA to make it available in XCI. Change-Id: Ida5bd05ce8b0c883b6d7582a495ca934ecc4b1f1 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-04-13Merge "Create the k8-calico-nofeature scenario"Markos Chandras4-1/+327
2018-04-13Merge "Remove duplicated info line for bifrost version"Fatih Degirmenci1-2/+1
2018-04-13Create the k8-calico-nofeature scenariowutianwei4-1/+327
installer-type:kubespray deploy-scenario:k8-calico-nofeature Change-Id: Ief8557149fd47faab43f8f4bedcf6466dac2275f Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-04-13Merge "Redirect virsh output to /dev/null in cleanup script"Fatih Degirmenci1-4/+4
2018-04-13Merge "Switch to Gerrit for scenario source urls"Fatih Degirmenci1-3/+3