Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
|
|
Bump the bifrost SHA so we can get rid of the testvm.xml.j2 template
which has now made it upstream.
Change-Id: Ia9cdd999a5702f37125d38e0ba68bb31920d2117
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
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>
|
|
|
|
These options seem to help with the functest execution
within XCI VM.
Change-Id: I3b9b6b02fc571feb42543025f8ab179c6db18e0a
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
In preparation for supporting more NFVIs in XCI, we need to make the
main script NFVI agnostic. Right now, our NFVI is being deployed using
bifrost+OSA so we keep bifrost in the main script since the hardware
provisioning is NFVI agnostic (at least for now) but we move OSA to
its own directory. This should allow more NFVI to plug into XCI by
simply providing a nfvi-deploy.sh script. The user can select the
preferred NFVI using the XCI_NFVI variable.
Change-Id: Ieeacd3b22a64d363feff5d43ff23a80c39038837
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
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>
|
|
The variable was accidentally removed in ab3c9ad0f9a4 so bring it back.
Change-Id: I48e4b8dd68969c8e5336e5e571a73f037fb65988
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
This change fixes the scenario os-nosdn-nofeature by
moving directories/files from os-nosdn-ovs to os-nosdn-nofeature.
The contents of the files and variables are also either adjusted
or removed in order to prevent impacts on CI.
Change-Id: Icfde27f413c8f93d097f9f262c8cb1230b7fe59d
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
|
|
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>
|
|
The provision-vm-nodes playbook is only responsible for running bifrost
to provision the XCI virtual machines. As such, drop all the extra tasks
that this playbook performed in order to simplify it. This also drops
the XCI_EXTRA_VARS_PATH variable since it had a rather obscure usage
and there is not much value in passing inventory information outside of
XCI. All these will be handled in the scenarios themselves.
Change-Id: If5cb381a3d1e101100eb04478d80fb3045cdfaf8
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Change-Id: I96c988ef6b303b89a5615c50ef60b45e49584b83
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>
|
|
Change-Id: Iee45d9c865f3fdc83089126cf78b1daa0917df1a
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Change-Id: I9253edf028fce571e04f9f82103a94952e05d2d4
Signed-off-by: Periyasamy Palanisamy <periyasamy.palanisamy@ericsson.com>
|
|
Change-Id: I9df869fa82f4486b104f4330b83e8300362afb54
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Change-Id: If5e4ff731b2bf59e44b753ce0574f25639694162
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
We also need to allow root logins when the ansible-hardening role
is applied which are disabled by default.
Change-Id: I71f881305bafdd884d541cd34796a6fed8eee157
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
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>
|
|
The latest bifrost code contains a fix when setting up DNS from a glean
configuration drive and also a few virtualenv improvements. This allows
us to get rid of all the workarounds we had in the past to switch
Ansible versions in the middle of the XCI deployment.
Change-Id: If49e290315ec96efdc07d04ff6624439c53aee19
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The ANSIBLE_VERBOSITY env variable is actually used internally by
Ansible and exporting it actually makes Ansible super verbose even if
the variable is empty. This feature is going away in the future so we
introduce our own XCI_ANSIBLE_VERBOSITY variable which is simply passed
to the command line to control verbosity in a proper and deterministic
way.
Change-Id: I8a32eeb1a86b4cb0a9872a51bbe9f9624d096e39
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Change-Id: I62c167621e2b28a57b1ef7647d105ea73dbb0291
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
In preparation for adding SUSE support, we need to configure the dib
build process to build images which match the host's OS.
Change-Id: I4944245d526f916b2033abc5d219fa7a69db54ab
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Now that bifrost uses virtual env for Ansible we can go ahead and
bump the Ansible version to match the one from OSA so we can make use of
the latest features. Furthremore, we stop passing ANSIBLE_VERBOSITY to
the command line since it's an environment variable so Ansible already
knows about it.
Change-Id: I52d9a211fc0ced1f7830f6945b2943f35d38109b
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>
|
|
The SHA bump is required for SUSE support.
Change-Id: If21e7658ee2ee967c458c08d186b5c1d07b5d93c
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
|
|
This change fixes the bug with cinder online migration command by moving
osa version to commit 691c59 and moving the cinder role version to
commit 96160f. [1][2]
The issue appears when the flavor is set to ha.
[1] https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=691c59f25e5d271c670c24d12e8d60fa422441e1
[2] https://review.openstack.org/gitweb?p=openstack/openstack-ansible-os_cinder.git;a=commit;h=96160f084d89355ba62980b1ebbedf0eef7c7b20
Change-Id: I5339d1fd00a1b108f09c1221e5a3cbecc2f35182
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
The OSA version can be overriden by users to move to a later
version of it (such as master).
This change adds cautionary note to README to explain what
they can do in this situation.
Change-Id: I3e4943c2c4af10001b07ffd289bd300bb5f80244
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
This change bumps osa sha to 4d39f2cc. [1] The reason for going to a later
osa sha is to include ODL and Tacker commits in upstream to ease the work
done for ODL and SFC scenarios. However, this osa sha seems to be having
issues with the flavor ha so the users should be aware of the problems
which is added into the readme as known issue and the flavor is disabled
in xci-deploy.sh.
Another reason to bump sha right now is that upstream changed a lot during
last 2 months and waiting longer will probably result in more changes, making
it harder to move to a later osa sha even harder.
Other changes included by this change are
- update ansible role requirements to move to shas pinned by upstream for pike.
- add odl and tacker roles into ansible role requirements.
- update how aio is deployed due to removal of an upstream script. (this could
perhaps have been done in a better way but the time pressure required this to
be fixed in the way as proposed.)
- ensure facts are gathered for all the hosts and containers before
running setup-infrastructure.yml playbook.
- stop grepping for failed in the log of setup-hosts.yml playbook due
to existence of rescue block in rabbitmq_cluster_create.yml [2].
- reduce the resource needs by updating the user_variables that are
based on upstream osa gate which uses aio. The values for none-aio xci
flavors will be adjusted in a separate change once the sha bump is complete.
- fix a bug in ha-vars.
[1] https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=4d39f2cc29417153780210fc0bb86223387e9968
[2] https://review.openstack.org/gitweb?p=openstack/openstack-ansible-rabbitmq_server.git;a=blob;f=tasks/rabbitmq_cluster_create.yml;h=4aaad5adafa42684c0d791b49539069fe1b45635;hb=HEAD#l24
Change-Id: Ia7fc495e315e4a41359641f8be4b3c8bbf7b61fa
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
|
|
The default VM spec may not be good enough for every host
so allow users to override the default VM_* variables.
Change-Id: Ie846620ab81b7fedcbe4b23da735379ab75d3cc2
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
These changes are needed as part of migrating xci from releng repo to the releng-xci repo.
They cover:
- README updates
- Re-point configuration from releng/prototypes to releng-xci
The changes have been tested as follows:
- XCI_FLAVOR=aio
- OPENSTACK_OSA_VERSION=adfaa66d6108f87599e0595591b39cad2c8fb658
xci: aio has been installed
real 107m5.310s
user 11m50.180s
sys 4m11.152s
ubuntu@rack-IRA2-SymKloudBlade4:~/releng-xci/xci$
Change-Id: I8fd86c2442ee3a7c6996eedb6510dbc6eebd30b0
Signed-off-by: Dave Urschatz <dave.urschatz@cengn.ca>
|
|
Update the dates in the pinned-versions file whenever we update
the SHAs.
Change-Id: I23ebd90a3fc688a7501fcb2d32217357f8c31657
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Add a second optional argument to update the bifrost SHA instead of
doing this bit manually.
Change-Id: I0fab8745ae08ad4f54a2a1f5b0b7a64fde4b8295
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
This also updates the second (pre_release) argument of
'update_ansible_role_requirements' from 'false' to 'true' so that
non-openstack roles can be updated as well.
Change-Id: Id424499f44c9b51c02d56e5d93580faeea50ad12
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
Update bifrost SHA to 7c9bb5e07c6bc3b42c9a9e8457e5eef511075b38
which is the current HEAD on 16th of June 2017.
Change-Id: I91cd98221fda7a1dd689abbfbf07474bd8aac4e1
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
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>
|
|
The CLEAN_DIB_IMAGES variable determines whether the /httpboot
or /tftpboot directories will be removed before running the xci-deploy
script. This forces XCI to re-create the target OS images. We moved
this variable from env-vars to user-vars since this is something that
users normally want to tweak in their deployments.
Change-Id: Ia48bd63979e3837aab7e47c906c2501e7c7dd0e1
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
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>
|
|
Having everything in the /opt implies root privileges. However, xci
should work as normal user and as such we use the /tmp directory as
the root directory.
Change-Id: I985ded289208e1de53ad0ba878afd5bfd745c3fd
Signed-off-by: Markos Chandras <mchandras@suse.de>
|
|
The bifrost, osa, and ansible role requirements sha1s are bumped
based on the HEAD of the master of the projects on April 4.
designate is also disabled based on the comment the osa commit
mentions.
https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=d9e1330c7ff9d72a604b6b4f3af765f66a01b30e
Change-Id: Ib47515490c799d3b1d2b4b319277c8900cd37328
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
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>
|
|
Daily jobs are now switched to using xci-deploy.sh script together
with the environment variables, playbooks, and so on.
These jobs do not set any version for any of the component as
the point with these jobs is to test the platform itself, not the
tools.
DIB related stuff is still left as parameters to deploy job for SUSE
and CentOS jobs so we can override what is set by xci depending
on the distro.
Change-Id: I5a5292e6bae8fdd052858108db409e8d495fbf24
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|
|
This change moves preparation (cloning repos, combining opnfv/bifrost
with openstack/bifrost), destroying and creating VM nodes from the
script into a separate playbook.
This requires the host to have ansible installed. The version of ansible
to install using pip currently matches to what bifrost uses but it is
hardcoded and needs to be fixed properly.
The reason for having this as a playbook to simplify the script and
increase the reuse. This playbook will be used for
- developer sandbox
- periodic bifrost jobs to run against latest on given branch and
promoting bifrost sha1 to pin later on
- daily jobs to run using pinned versions of bifrost
Change-Id: I033f12290dfea19d4c74be80eea7203211c0369e
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
|