Commit Graph

21 Commits

Author SHA1 Message Date
Ian Wienand d4c46ecdef
Abstract name of bastion host for testing path
This replaces hard-coding of the host "bridge.openstack.org" with
hard-coding of the first (and only) host in the group "bastion".

The idea here is that we can, as much as possible, simply switch one
place to an alternative hostname for the bastion such as
"bridge.opendev.org" when we upgrade.  This is just the testing path,
for now; a follow-on will modify the production path (which doesn't
really get speculatively tested)

This needs to be defined in two places :

 1) We need to define this in the run jobs for Zuul to use in the
    playbooks/zuul/run-*.yaml playbooks, as it sets up and collects
    logs from the testing bastion host.

 2) The nested Ansible run will then use inventory
    inventory/service/groups.yaml

Various other places are updated to use this abstracted group as the
bastion host.

Variables are moved into the bastion group (which only has one host --
the actual bastion host) which means we only have to update the group
mapping to the new host.

This is intended to be a no-op change; all the jobs should work the
same, but just using the new abstractions.

Change-Id: Iffb462371939989b03e5d6ac6c5df63aa7708513
2022-10-20 09:00:43 +11:00
Ian Wienand e65928128b
Move clouds definitions into control-planes-clouds group
As a short history diversion, at one point we were trying building
diskimage-builder based images for upload to our control-plane
(instead of using upstream generic cloud images).  This didn't really
work because the long-lived production servers led to leaking images
and nodepool wasn't really meant to deal with this lifecycle.

Before this the only thing that needed credentials for the
control-plane clouds was bridge.
Id1161bca8f23129202599dba299c288a6aa29212 reworked things to have a
control-plane-clouds group which would have access to the credential
variables.

So at this point we added
zuul/templates/group_vars/control-plane-clouds.yaml.j2 with stub
variables for testing.

However, we also have the same cloud: variable with stub variables in
zuul/templates/host_vars/bridge.openstack.org.yaml.j2.  This is
overriding the version from control-plane-clouds because it is more
specific (host variable).  Over time this has skewed from the
control-plane-clouds definition, but I think we have not noticed
because we are not updating the control-plane clouds on the non-bridge
(nodepool) nodes any more.

This is a long way of saying remove the bridge-specific definitions,
and just keep the stub variables in the control-plane-clouds group.

Change-Id: I6c1bfe7fdca27d6e34d9691099b0e1c6d30bb967
2022-10-20 09:00:41 +11:00
Clark Boylan f1df36145d Add inmotion cloud to cloud launcher
This adds the new inmotion cloud to clouds.yaml files and the cloud
launcher config. This cloud is running on an openstack as a service
platform so we have quite a bit of freedom to make changes here within
the resource limitations if necessary.

Change-Id: I2aed6dffde4a1d6e3044c4bd8df4ca60065ae1ea
2021-04-21 11:18:40 -07:00
Ian Wienand 81db207d33 all-clouds: add OSU OSL project_id as well
Otherwise you get

 BadRequest: Expecting to find domain in project - the server could
 not comply with the request since it is either malformed or otherwise
 incorrect. The client is assumed to be in error.

Change-Id: If8869fe888c9f1e9c0a487405574d59dd3001b65
2021-04-13 13:31:49 +10:00
Ian Wienand 28ffbfb12c Add OSUOSL cloud
The Oregon State University Open Source Lab (OSUOSL;
https://osuosl.org/) has kindly donated some ARM64 resources.  Add
initial cloud config.

Change-Id: I43ed7f0cb0b193db52d9908e39c04e351b3887e3
2021-04-12 09:31:51 +10:00
Jeremy Stanley fd98a1750d Clean up OpenEdge configuration
The OpenEdge cloud has been offline for five months, initially
disabled in I4e46c782a63279d9c18ff4ba2944c15b3027114b, so go ahead
and clean up lingering references. If it is restored later, this can
be reverted fairly easily.

Depends-On: https://review.opendev.org/783989
Depends-On: https://review.opendev.org/783990
Change-Id: I544895003344bc8202363993b52f978e1c07d061
2021-03-31 01:42:36 +00:00
Ian Wienand ccd3ac2344 Add tool to export Rackspace DNS domains to bind format
This exports Rackspace DNS domains to bind format for backup and
migration purposes.

This installs a small tool to query and export all the domains we can
see via the Racksapce DNS API.

Because we don't want to publish the backups (it's the equivalent of a
zone xfer) it is run on, and logs output to, bridge.openstack.org from
cron once a day.

Change-Id: I50fd33f5f3d6440a8f20d6fec63507cb883f2d56
2020-06-12 16:49:23 +10:00
Monty Taylor 6b89b0b5a7 Override bridge hostvars directly
Now that we're not using playbook adjacent hostvars, just set
overrides in the test hostvars.

Change-Id: I4598c61dbe28eb965fce9a4578ddf44d785c5ff1
2020-06-04 09:20:13 -07:00
Jeremy Stanley 43ed9fc297 Moving FortNebula to OpenEdge
Sister change for Ia5caff34d3fafaffc459e7572a4eef6bd94422ea and
removing earlier references to the mirror server in preparation for
building and adding the new one.

Change-Id: I7d506be85326835d5e77a0c9c461f2d457b1dfd3
2020-03-06 20:43:56 +00:00
Clark Boylan 9166780b54 Add airship CI cloud
This is a new cloud provided via citycloud that will add resources
capable of running Airship jobs. The goal is to use this as a stepping
stone to having Airship jobs run on our generic CI resources. This cloud
will provide both generic and larger resources to support this.

Change-Id: I63fd9023bc11f1382424c8906dc306cee5b3f58d
2020-01-31 14:46:02 -08:00
Ian Wienand c3c96d3797 Add Linaro US cloud
Add the credentials for the newly provisioned us.linaro.cloud cloud

Change-Id: I0b81a8eeabec4e0b00258dc4e499c1d449b21681
2020-01-22 06:44:01 +11:00
Ian Wienand 8296bf450c Remove unused linaro credentials
As a follow-on to Ie37abb4fd3eb3342b66ade52ab65024c420d7264 remove the
linaro credentials that were related to the (now removed) linaro-cn1
cloud.

Change-Id: Ia1e8dd3732164708c2e9fd82509e350829c438ba
2020-01-21 14:13:31 +11:00
James E. Blair b5d37bfaa2 Remove arm64ci (3/2)
This cloud no longer exists.

Change-Id: Iec9d98c7bcf3c4cd3f9853bb059e3ee2efc31e87
Depends-On: https://review.opendev.org/686761
2019-10-04 09:20:33 -07:00
Ian Wienand 82c6dec4fa Disable cloud launcher cron job during CI
This takes a similar approach to the extant ansible_cron_install_cron
variable to disable the cron job for the cloud launcher when running
under CI.

If you happen to have your CI jobs when the cron job decides to fire,
you end up with a harmless but confusing failed run of the cloud
launcher (that has tried to contact real clouds) in the ARA results.

Use the "disbaled" flag to ensure the cron job doesn't run.  Using
"disabled" means we can still check that the job was installed via
testinfra however.

Convert ansible_cron_install_cron to a similar method using disable,
document the variable in the README and add a test for the run_all.sh
script in crontab too.

Change-Id: If4911a5fa4116130c39b5a9717d610867ada7eb1
2019-07-16 15:01:55 +10:00
Clark Boylan 3cc931b72d Add clouds.yaml entries for fortnebula cloud
Donnyd has kindly offered us access to fortnebula's test cloud. This
adds clouds.yaml entries to bridge and nodepool so that we can take
advantage of these resources.

Change-Id: I4ebc261c6f548aca0b3f37dc9b60ffac08029e67
2019-06-28 11:17:48 -07:00
Monty Taylor 7a18eb49e4 Add flag to disable cron for test jobs
The run_all cron running in test jobs is unawesome because it can
cause the inventory overrides we put in for the testing to get
overwritten with the real inventory. We don't want test jobs
attempting to run against real hosts.

Change-Id: I733f66ff24b329d193799e6063953e88dd6a35b1
2019-03-08 21:19:42 +00:00
James E. Blair 94d404a535 Install kubectl on bridge
With a snap package.  Because apparently that's how that's done.

Change-Id: I0462cc062c2706509215158bca99e7a2ad58675a
2019-02-11 10:16:58 -08:00
James E. Blair 7610682b6f Configure .kube/config on bridge
Add the gitea k8s cluster to root's .kube/config file on bridge.

The default context does not exist in order to force us to explicitly
specify a context for all commands (so that we do not inadvertently
deploy something on the wrong k8s cluster).

Change-Id: I53368c76e6f5b3ab45b1982e9a977f9ce9f08581
2019-02-06 15:43:19 -08:00
Gary Perkins 10c8da0e90 Add Arm64 CI cloud
Changes:
  * Set URLs to https://
  * Set new keystone domain
  * Set region to nrt1

Change-Id: Ib96d14008ab3b8b7c12429d7432eaa485c404bb2
2018-11-02 12:22:15 +00:00
Ian Wienand 20c0340c3c Add Linaro London cloud
The Linaro London cloud runs as a separate entity to the existing
cloud, so add it separately.

Change-Id: Ia263034de4c8d1ac52f4521d4c82374b06a68e68
2018-09-11 17:04:40 +10:00
Clark Boylan 09288c7c37 Manage clouds.yaml files in ansible
This manages the clouds.yaml files in ansible so that we can get them
updated automatically on bridge.openstack.org (which does not puppet).

Co-Authored-By: James E. Blair <jeblair@redhat.com>
Depends-On: https://review.openstack.org/598378
Change-Id: I2071f2593f57024bc985e18eaf1ffbf6f3d38140
2018-09-04 08:49:00 -07:00