This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: I52d96411fb6a9c2cd167e35dd3bdcff816db3a2e
Servers should be able to resolv Internet and the infra hosts
before doing anything useful on them
Change-Id: If694f45235e8c49a6caaee45dbf6d21d79385f65
Some users will use infra-ansible for 3rd party, some others
will want a minimal infra with Gerrit.
Moreover, some services are going away with the advent of
Zuul v3.
As such, make the services definitions optional, so users can
really define what they want for the deploy.
Also, reworked the services to be a list, to be more easily
loopable with Ansible with_subelements.
Change-Id: I0097bf4d90350fbe53b94e27b2036d4b8083263a
The previous resources.yml.sample was a copy-paste from
the cloud-launcher resources.yml.sample file.
This looks like more as a test deployment for a minimal
infra, also matching names on infra_config.yml services dict.
Change-Id: I10cc518686940009946c201b1b19b9e612cb39b2
In some clouds, the nodes created may not have a usable
dns server from Neutron.
Use the Google one, may set this role parameterized at
some point.
Change-Id: I05fcd867e47fcc45dab25d5be5c8349d272514f4
Rather than maintaining a composition of classes that makes
a zuul scheduler, just use openstackci::zuul_scheduler.
Change-Id: I0456c1b84e24d5bc868a7d07b8cda81004d129f4
The code is switching from relying on metadata based groups to
dynamically created groups with add_host.
As such, the group containing jenkins is now 'zuul'.
Change-Id: I5958a9fda04255daa028aaf779a208bd517d44a6
The code is switching from relying on metadata based groups to
dynamically created groups with add_host.
As such, the group containing zuul is now 'zuul'.
Change-Id: Ia1336382b489f16a18ca00a67f985d41aad57319
The code is switching from relying on metadata based groups to
dynamically created groups with add_host.
As such, the group containing gerrit is now 'gerrit'.
Change-Id: I235e445f9e0f7e94f52a0c9dfc0df80b55d49bc1
The code is switching from relying on metadata based groups to
dynamically created groups with add_host.
As such, the group containing puppetmaster is now 'puppetmaster'.
Change-Id: Ic66a68fd7e873816ec27be37ce4842eea8268a47
Some clouds may not have metadata enabled, or even have it but is
not reliable.
Force the user to define in infra_config.yml the services that make
up the OpenStack Infra cloud. This will be in a dict named 'services',
which will contain an entry for each OpenStack Infra service
(puppetmaster, zuul, nodepool, etc).
Change-Id: I9e3fe34684cd31bf1750ad8cf72e7e9090bfe087
I've been slowly decoupling the provisioning role from infra-ansible
into its own role:
http://git.openstack.org/cgit/openstack/ansible-role-cloud-launcher
Now that it has feature parity and it is gating in OpenStack CI,
just use it and remove setup_openstack_resources roles.
Change-Id: I4810d0bdb57cf1f069f20fb133f5f2afe15e4e87
Some time ago, the openstack inventory would show have as hostvars
id the server name.
That behaviour changed, and now the id is the server uuid, which
breaks the set_hostnames logic.
This change fixes it.
Change-Id: Ie958a9d04fdfeabfab64100e43a4ead44b82a7b8
At the moment 'keypairs' isn't defined anywhere. It was added
to infra_config.yml.sample to help users define it.
Also, key_public_file variable was added to 'Create keypairs'
task, to allow users specify key_public_file instead of key
content.
Change-Id: I414aeeaee9c38bdbfe7e5607cb756f08335ac42c
Remove duplicated tasks line.
This is also reported when runnning: ansible-playbook --syntax-check.
Change-Id: Iad7b205418b57e6f38f2c4851ec2624a93689539
* Linux/Debian - ensure python-pip & python-dev are installed
* LinuxRHEL/CentOS - ensure python-virtualenv & python-devel are
installed
* Darwin/OSX - check & exit if pip not installed
* Always rebuild the venv
* Dropped the path on wget, to allow for platform path differences
* Dropped the -N on wget, as it has no effect when using -O and
github aren't returning the Last-Modified header
Change-Id: I221965ee1b1776d46f4b6fba00ffb7069e5b34f8
Rather than expecting a user to create keypair prior to run
infra-ansible, just make infra-ansible to create the keypair
per the variable passed as keypair_contents on infra_config.yml.
Role provision_infra_servers not only creates instances, but also
volumes and now kepairs, thus also renaming the provision_infra_servers
role and playbook to setup_openstack_resources.
Change-Id: I810edf1b8956d2f5653aa789ce908428c2904549
Rather than relying on system-wide packages, just
create the virtualenv and leverage the already available
requirements.txt, which installs ansible along with other
dependencies.
Also pull the openstack inventory in the local inventory folder
as ansible pip package does not bundle the inventory utility.
Change-Id: I43b1c3fce522657854cdc20c55bd32366179b4b7
Devel was giving random YAML parsing problems, let's better
just use 2.0.0.2 now that is available on PyPI.
Change-Id: Ife63d861489d24ab746043f421c3190edfe6b507
When infra-ansible runs in a virtualenv, this line is needed in
order to use the python binary installed in the virtualenv,
otherwise the system-wide is used and you can get dependency issues
due to missing packages on site-packages that are available
on the virtualenv.
Change-Id: I3af50d734ff5d18eee73b124840db9683dc708dd
This was added a while ago as I had plans to make infra-ansible
working on Docker, besides OpenStack provisioning mechanism
already available.
As that effort never came, remove for now.
Change-Id: I7f382139ab43331e7aa6a05592c2690874881484
If we don't have the skip_missing: yes, the task will fail on
infra_servers that do not have any volume defined.
Change-Id: I9b067da57a2869568f2ddbbd495e50ed6259429b
For some services it may be desirable to have instances using
cinder volumes, this change allows to define that in the
infra_config.yml inventory and the provision_infra_servers
will create them.
A follow-up patch will attach the volumes defined on each instance.
Change-Id: I28d187569655fbbc45cec0bce771ce8adab1f4dd
Looks like the tox macro on project-config requires an env,
thus creating a specific one to infra-ansible tox.ini.
When this lands, I will amend the change on project-config
that adds tox to have envlist value 'ansible-syntax-check'.
Change-Id: Ide54e9d4b614cc687bed293a7835d6055212f7f8