summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-05-16xci: get-opnfv-scenario-requirements: Fix stale scenario factsMarkos Chandras1-6/+0
We always need to update the local facts for the scenario we are deploying in order to avoid deployments with stale data. Change-Id: I36298d2ebc1b813e95a2f213cd13649a0b4e04bf Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-05-14Merge "xci: osa: Add initial dynamic inventory from PDF/IDF files"Markos Chandras15-149/+167
2018-05-14Merge "xci: idf: Add more information for installers and flavors"Markos Chandras1-11/+58
2018-05-11Merge "xci: scripts: start-new-vm.sh: Fix ID for openSUSE Tumbleweed"Fatih Degirmenci1-1/+1
2018-05-11xci: scripts: start-new-vm.sh: Fix ID for openSUSE TumbleweedMarkos Chandras1-1/+1
Recent openSUSE Tumbleweed releases are now using 'opensuse-tumbleweed' as distro ID so we need to take that into consideration in order to be able to use the script on such systems. ~$ source /etc/os-release && echo ${ID} opensuse-tumbleweed Change-Id: Ibdfb4292d53dc4d20376230a4131b212f9492e54 Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-05-11xci: Connect releng-xci-scenarios repositoryMarkos Chandras26-2591/+12
The releng-xci scenarions have been moved to their own repository so we delete the copies from the releng-xci repository and also update the opnfv-scenario-requirements to point to the new repository. deploy-scenario:os-nosdn-nofeature installer-type:osa Change-Id: I1b7b3182a5e0c5b346c00b5734fd0cd3fdd5c98b Signed-off-by: Markos Chandras <mchandras@suse.de>
2018-05-11Merge "fix k8 aio flavor undefined variable"Markos Chandras2-1/+2
2018-05-11fix k8 aio flavor undefined variablewutianwei2-1/+2
1. fix error that kube_require_packages is undefined 2. add "remote_user: root" in configure-kubenet.yml if don't add this, it will have issue to connect host. fatal: [opnfv]:UNREACHABLE! => {"changed": false, "msg": "Failed to connect to thehost via ssh: Permission denied (publickey,password).\r\n", "unreachable": true"} installer-type:kubespray deploy-scenario:k8-nosdn-nofeature Change-Id: Ia8d1980ad18375c0cff3a97b284b0f53d7539e23 Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-05-11Merge "New SHA for ODL"Markos Chandras1-1/+1
2018-05-10New SHA for ODLManuel Buil1-1/+1
We need a patch in the ODL role to be able to deploy a stable ODL. Before this patch, it is not possible to deploy with a stable version of ODL and we are always deploying with the tip of the branch. However, it is useful to deploy with a version which we know for sure that it is working. deploy-scenario:os-odl-sfc installer-type:osa Change-Id: I539a5afa41598f54c3eeb2f1096022c73aa942b9 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-05-10xci: installer: Do not use XCI_ANSIBLE_PARAMS on remote nodesMarkos Chandras2-6/+6
The XCI_ANSIBLE_PARAMS is used to pass extra Ansible parameters to XCI. However, these parameters may not make sense when Ansible is running on any of the remote nodes, so we should't use it there. If passing information to "remote" Ansible is required, then we need to come up with a new variable. deploy-scenario:os-nosdn-nofeature installer-type:osa Change-Id: Ib6343fbfe3af1514c2e7e8948c12e3b19b455fe3 Signed-off-by: Markos Chandras <mchandras@suse.de>
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-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>