Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|