Age | Commit message (Collapse) | Author | Files | Lines |
|
To read the idf when the installer is kubespray, we need the network
details too
Change-Id: Idb9b0a4338a224e146abc78690067659bc94c302
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
The PDF/IDF filenames to use during deployments in CI will be generated
dynamically based on which slave the job is running on with the help of
the SLAVE_NAME environment variable Jenkins injects into job environment.
It will probably look like this
pdf=var/pdf.yml
idf=var/idf.yml
if [[ "$SLAVE_NAME" !~ virtual ]]; then
pdf=var/${SLAVE_NAME}-pdf.yml
pdf=var/${SLAVE_NAME}-idf.yml
fi
./xci-deploy.sh -i $idf -p $pdf
deploy-scenario:os-nosdn-nofeature
installer-type:osa
Change-Id: Ief319ee36292ca888b97e4059a26337ee98dfef2
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
The IDF files contain DNS information so we should respect that when
we configure the various XCI nodes. The DNS information is also a
list instead of a string so treat it as such.
Change-Id: I1c4d5eb600baaca35b2838dcafa7a75e59bf6783
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
deploy-scenario:k8-calico-nofeature
installer-type:kubespray
Change-Id: If1c9f5908f39f9c09efb86e27a3f3883b4cd75b9
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
It switches between parts of the code which are specific for baremetal
or non-baremetal. Those parts come with this patch:
https://gerrit.opnfv.org/gerrit/#/c/60797
It also selects different variables when calling the opnfv-virtual.yml
playbook:
https://gerrit.opnfv.org/gerrit/#/c/60795
It decides the value of BAREMETAL based on the vendor value of the pdf
Change-Id: I8e6171f4f21db7f814a472e6ed1bacb30220b4ec
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
Physical hardware PODs provide a pdf and a idf to describe hardware and other
information (e.g. what is the purpose for each interface). To reuse the
same code for opnfv vm and also become consistent, we should also describe
the opnfv vm with an idf and a pdf. This patch simplifies what needs to
be done for baremetal, especially for this (future) patch:
https://gerrit.opnfv.org/gerrit/#/c/60797/11
As we add an idf, we should update dynamic_inventory and how we create
the opnfv vm. Obviously, he opnfv_vm.yml gets removed.
Change-Id: I930728474631fc214e4a9adc8581e0c16d230176
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
Provide the idf and pdf for ericsson-pod2 deployment
This is aligned with the pdf and idf from pharos lab:
https://github.com/opnfv/pharos/blob/master/labs/ericsson/idf-pod2.yaml
https://github.com/opnfv/pharos/blob/master/labs/ericsson/pod2.yaml
Change-Id: Ic5b62a5751e5977affbbeb94937738434de5b3ab
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
|
|
According to OpenStack admin is the network for pxe boot and mgmt is the
network for OpenStack services to communicate. We were using both in XCI
indistinctly
Change-Id: I3959e767098ac2be7161a5e84735fde9ab129784
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
This change removes OSM variables from releng-xci repo since they
are declared in os-nosdn-osm scenario itself in releng-xci-scenarios
repo.
In order for this change to be verified, below change must be submitted.
https://gerrit.opnfv.org/gerrit/#/c/61205/
installer-type:osa
deploy-scenario:os-nosdn-osm
Change-Id: I9f3a1dbdfecfb2bb08cc215758bdc52aefcdf697
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
Change our idf to be more aligned with lf's idf. Adapt
dynamic_inventory.py to the change
Change-Id: Ib8f6d1684a00a8eb5ae06d5d04d308d4325cd444
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
This change integrates os-nosdn-osm scenario.
The installation of OSM is done as post-deployment. This is achieved by
the addition of the new playbook named post-deployment.yml in scenario
role folder.
This mechanism is available for all OpenStack scenarios. If anything
needs to be done for a specific scenario as part of the post-deployment,
it can be achieved by creating playbook post-deployment.yml.
If post-deployment.yml exists in scenario role, the framework will run
it once the regular deployment playbooks are run successfully. If the
file does not exist, it will be skipped.
The location of the post-deployment.yml is
releng-xci-scenarios/<scenario>/role/<scenario>/tasks/post-deployment.yml
This is only implemented for OpenStack scenarios currently and similar
mechanism is needed for K8S scenarios as well which will be implemented
in a separate change.
installer-type:osa
deploy-scenario:os-nosdn-osm
Change-Id: I16780abffca39699eb2f38f662479f0e4d551504
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
The OPNFV VM acts as a sandbox for installing and running bifrost so
it is pdf agnostic. As such, we use its own descriptor file to provision
this node.
Change-Id: Ice33dc744c04147f9c746285c583de56b8353cc3
Co-Authored-by: Markos Chandras <mchandras@suse.de>
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
We are configuring static IPs in the various nodes but we don't do
anything for DNS assuming that DNS is being configured by another
entity. However, the IDF file already contains DNS information for us
so we should use that instead. Moreover, we update the IDF file to use
the gateway as DNS instead of the Google one in order to make it more
usable on restricted networks.
Change-Id: Ieba58ec9558080a1296e204c4f99bae859e9daef
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The kubespray installer contains one inventory per flavor. We can get
rid of these files and use the dynamic inventory similar to OSA.
Moreover, we extend the dynamic inventory to read additional group
variables per flavor if necessary. This way we can still pass additional
information to inventory on per-flavor basis. This also fixes a typo
in the 'IDF' file. We also need to bump Ansible for kubespray since the
version we were using is having troubles with dynamic inventories.
Change-Id: Ic58101555f81aec5fee3c193608440aa89bbe445
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>
|
|
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>
|
|
This change removes the variables that are not used in any of the
playbooks/roles from opnfv ansible vars.
Apart from that, all caps ansible vars replaced with lowercase ones
and impacted playbooks/roles are updated.
installer-type:osa
deploy-scenario:os-nosdn-nofeature
Change-Id: I99ebdc155b3903176ac5940b64cef0c0f3aa0f0d
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
|
|
Change-Id: I330bc036f901d4ba61bc94ee6e085cadf54b4d8b
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
The upstream pw-token-gen tool doesn't need python-crypto anymore since
e9f957861b4160640f6debb2b939084ec43b43b2 ("Make pw-token-gen.py more
random") so we no longer need to install that package.
Change-Id: Ib53f246db999ff8ecfed2e3f62143c780c483fbd
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The docker packages that we install in the OPNFV VM are needed by
functest so add them to the related role.
Change-Id: I6ebe76fd030859f757d41ecf20c30ab76888ee9c
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Ironic and Horizon are not quite needed for a functional deployment
and they are not currently required by functest so we can remove them
from the default deployment.
Change-Id: I171483f7b774951f84687529e98cb519afa48043
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
- Integrate XCI with outband od-odl-bgpvpn role
- Install python-neutronclient on opnfv vm for the
openstack bgpvpn specific cli commands
Change-Id: Ib737349e2b2429bd366881f1e3657daf8c5c30ac
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
|
|
Change-Id: I1d58f55a1bda258cc3afbfb81e2dd5a1c8e792a1
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
Hardcoding the interface as a variable is very fragile since it varies
from host to host. We could use the Ansible facts to find out the
interface name and then use that to configure all the VLANs and
networking.
Change-Id: Ie7e2409d638625b9bede23b6c1fe33dc36f81840
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
This commit introduces kubespray into XCI.
k8s install currently assumes k8s install
and OpenStack install cannot coexist.
If XCI_INSTALLER is set to "kubespray" and
DEPLOY_SCENARIO is set to "k8-nosdn-nofeature"
the xci-deploy.sh would install kubernetes instead of OpenStack.
The version of kubernetes is beta release v1.9.0 currently
according to the master of kubespray
it only support the ubuntu now.
Opensuse and centos still need to develop and test.
This patch create the directory xci/installer/kubespray,
the related files of kubespray would be placed to it.
The xci/installer/$installer/playbooks/configure-localhost.yml was moved
to xci/playbooks/configure-localhost.yml as a common yaml file.
You can modify some parameters according your need
in xci/installer/kubespray/files/k8s-cluster.yml to deploy cluster.
When deploying kubernetes,
it would download the kubespray to releng-xci/.cache/repos/kubespray.
If your flavor is Ha, it will download haproxy_server and keepalived
to xci/playbook/roles, which setup haproxy service for kubernetes.
Change-Id: I24d521a735d7ee85fbe5af8c4def65f37586b843
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
Change-Id: If8c0de44c313fdc22b1c7443b12d42769035c5b0
Signed-off-by: Tapio Tallgren <tapio.tallgren@nokia.com>
|
|
Using 'installer' to describe the tool that will deploy the foundations
of a particular XCI scenario is more appropriate than NFVI which
normally describes both the physical and virtual resources needed by
an NFV deployment.
Change-Id: Ib8b1aac58673bf705ce2ff053574fd10cb390d71
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Introduce a new XCI_DISTRO variable to select the distribution to deploy
on the VMs in order to make deployments more flexible and decouple the
VM OS selection from the host one. The default value for this new
variable is to match the host OS but users can always set it to one
of the supported distributions. We can now simply execute the
install-ansible.sh script instead of sourcing it in order to keep
the environment as clean as possible.
Change-Id: Ia74eb0422f983848cde0fb7b220ea1035dfa78bc
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
we maybe introduce other NFVI in the future in XCI.
it is necessary to put the nfvi files to corresponding directory xci/nfvi/$NFVI/files,
otherwise the files directory will be confused.
Change-Id: Iea98167ff0bc8d338a94fe1c064ac0ab396c53d3
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
Rest of the OPNFV projects use the variable DEPLOY_SCENARIO so
XCI should be aligned with them as well even though OPNFV_SCENARIO
fits better than DEPLOY_SCENARIO.
Change-Id: Id48c41fa8a1fa9493cfc7a4906f64b6d8ed27d64
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
The OPENSTACK_OSA_PATH only makes sense on localhost. As such, when we
use it on playbooks that operate on remote hosts, the result is not
predictable. However, we rsync the entire releng-xci repository to the
opfnv host so we can make everything predictable by simply clone
everything in advance in the .cache directory. That directory is then
rsync'd to the opnfv host. As such, we can repurpose the
OPENSTACK_OSA_PATH to point to the path into the OPNFV host. Moreover,
all external repositories are being cloned to .cache/repos so we can
eliminate some variables in order to simplify the code. Finally, we
bring back the ability to use an external OSA repository for
development purposes.
Change-Id: Ieef3e22ae2085f6735185634d555cfc0d4b69b39
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Previously, we used to clone the releng-xci repository under a directory
in /tmp, copy our changes to that repository and then run the
xci-deploy.sh script from it. However, this made things far too complex
for deployers and developers since some playbooks were used from the
local repo whereas others were used from teh /tmp checkout. By running
everything from our local repository simplifies things a lot since we
can directly test our changes and also reduces the code we have in our
playbooks.
Change-Id: If16aa51b2846c170676df82d25cb90e26b1568b2
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
All scenarios are being cloned to XCI_SCENARIOS_CACHE so look
there for the various override files. This will allow external
scenarios to influence the XCI environment.
Change-Id: I39a48ce55baaa29d09737ce6232867ef1165f099
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
We are installing the docker package but not checking if it is started
The service name for the three distros is the same but I still added the
variable in each distro variables file to keep best practices
Change-Id: I0c73069ea7edc366e824cf39d14d24d1416fd6c3
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
The OPNFV_RELENG_DEV_PATH variable was used to point to a releng-xci
development repository. However, people normally set the current
directory as the development one and they almost always want to
test the current code in XCI. Using an secondary releng-xci tree
as development repo is a very obscure case and it normally complicates
things. As such, let drop this option and always use the current
repository for development purposes.
Change-Id: If111bf29a32a5f6ea28694f191645af0c6a87abc
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Change-Id: I9253edf028fce571e04f9f82103a94952e05d2d4
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
|
|
The RUN_TEMPEST global environment has been defined in *user-vars*
but never used in the playbooks. This change pretends to enable the
use of that value.
Change-Id: I49ca092546494c0cdcb015a549828bf79fa5f889
Signed-off-by: Victor Morales <victor.morales@intel.com>
|
|
Openstack ansible support to deploy ceph.
The purpose of this patch is to configure the ceph,
just like we configure other openstack components.
The default is to not deploy ceph.
If you want to deploy ceph you just need to
export XCI_CEPH_ENABLED=true before running xci-deploy.sh.
When deployed successfully, the openstack storage will use ceph.
Change-Id: Ifd8d16fdce2914b6316842e72bbfd93228ea059d
Signed-off-by: wutianwei <wutianwei1@huawei.com>
|
|
docker-py package is required by the docker_container module in ansible:
http://docs.ansible.com/ansible/latest/docker_container_module.html#docker-container
Change-Id: Ib051ae09c84cfa973ef814852e78626499471d0f
Signed-off-by: Manuel Buil <mbuil@suse.com>
|
|
Docker is needed for running tests against the deployment.
Shade is needed for managing OpenStack via Ansible.
This change adds tasks to install docker and shade on opnfv
host if it is run as part of CI.
Users should be free to install these if they want so it is
not installed for them by default.
Change-Id: Idfd0f02312cc5e1b0180ed2408755a8c730b987b
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
Change-Id: I42c6f5f07ac87b5599758947fabe5fce36d44a2e
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Instead of making OSA to generate self signed certs, bring our
own and pass them.
By this way we will be able to trust in that certs, and start
consuming OpenStack easily.
It will also generate proper openrc file to source it and start
consuming the cloud properly.
Change-Id: Ic72a8b05e6efb222926fc5fa0800e033b2dbd22f
Closes-Bug: RELENG-266
Signed-off-by: Yolanda Robla <yroblamo@redhat.com>
|
|
These packages are needed by pw-token-gen.py tool
Change-Id: Ib9d165274449551a469e201da9feeffac5a7a4cf
Signed-off-by: Juan Vidal Allende <juan.vidal.allende@ericsson.com>
|
|
This will allow to define the XCI_EXTRA_VARS_PATH, that can
contain group_vars/all (or any other valid files), and those
will be copied inside releng and bifrost playbooks.
Change-Id: I95e4b0bfb67f26bfa1eb10c97096784eb7f3a87a
Signed-Off-By: Yolanda Robla <yroblamo@redhat.com>
|
|
Putting the host keys in '/' requires root privileges so
it's best if we place them in the same directory like the
rest of the XCI files.
Change-Id: I030ed3d6cbb57bb984a78aeffb4eca2bd5c10bb0
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
When developing XCI features it's useful to be able to use the local
repositories rather than cloning them from git since that makes
it harder to test local modifications against XCI. As such, we add
three new variables which can be used to hold local paths to the
bifrost, releng and openstack-ansible repositories. We are still
cloning the repositories but we then use the 'synchronize' Ansible
module to copy modified files from the local repositories.
Change-Id: I6d593ea48d8b9c51415d9d0848f77a498ef2f486
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
XCI has different jobs/loops to run
- patchset verification jobs (currently bifrost and osa in future)
- periodic jobs (bifrost and osa)
- daily jobs (for OPNFV platform deployment and testing)
The same scripts/playbooks used by XCI will also be used by developers.
We need to do different things depending on the context the scripts
and playbooks are executed.
- periodic jobs will use latest of everything to find working versions
of the components. (periodic osa will use unpinned role requirements
for example)
- daily jobs will use pinned versions in order to bring up the platform
and run OPNFV testing against it. (daily deployment will use pinned
versions and role requirements for example)
- developers might choose to use pinned versions or latest
Depending on what loop we are running, we need to do things differently
in scripts and playbooks. This variable will help us to do this in easy way.
We can of course do pattern matching of the job name but it will not
work if the scripts are used outside of Jenkins.
The default loop for non-Jenkins execution is set to daily as we want
developers to use working versions unless they change it to something
else intentionally.
Change-Id: Iff69c77ae3d9db2c14de1783ce098da9e9f0c83d
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|