Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
Change-Id: Idc7f783730380e643f06b11755ba3692ddd339ec
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
openstack-ansible-tests"
|
|
|
|
|
|
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>
|
|
|
|
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
|
|
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>
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
installer-type:kubespray
deploy-scenario:k8-flannel-nofeature
Change-Id: Ie47efe4759b2cf52421cd2edf5e7817442b0026f
Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
|
|
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>
|
|
|
|
|
|
installer-type:kubespray
deploy-scenario:k8-calico-nofeature
Change-Id: Ief8557149fd47faab43f8f4bedcf6466dac2275f
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
|
|
|
|
In the past, there were cases where the Git mirrors were
out of sync with Gerrit which caused the use of outdated
repos. This change switches all scenarios to Gerrit.
Apart from that, it also aligns the urls across all scenarios.
Change-Id: I5301630a71446df8668f16c81bf26d81bcea8031
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|