Awesome
CF OpenStack Validator
Is your OpenStack installation ready to run BOSH and install Cloud Foundry? Run this validator to find out.
- Roadmap: Pivotal Tracker (click on Add/View Stories)
- Slack:
#openstack
on cloudfoundry.slack.com (get your invite here) - List of executed tests
Prerequisites
OpenStack
- Keystone v2/v3
- Create an OpenStack project/tenant
- Create a user with access to the previously created project/tenant (ideally you don't want to run as admin)
- Create a network
- Connect the network with a router to your external network
- Allocate a floating IP
- Allow ssh access in the
default
security group - Create a key pair by executing
$ ssh-keygen -t rsa -b 4096 -N "" -f cf-validator.rsa_id
-
Upload the generated public key to OpenStack as
cf-validator
-
A public image available in glance
- If your OpenStack installation doesn't yet provide any image, you can upload a CirrOS test image
Environment
The validator runs on Mac and Linux. Please ensure that the following packages are installed on your system:
Linux Requirements
- ruby 2.4.x or newer
- make
- gcc
- zlib1g-dev
- libssl-dev
- ssh
Mac Requirements
- xcode command line tools
Running the validator
The intended place to run the validator is a VM within your OpenStack. If you are executing the tests from a machine outside your OpenStack, you need to set validator.use_external_ip
to true
.
Usage
git clone https://github.com/cloudfoundry-incubator/cf-openstack-validator.git
cd cf-openstack-validator
- Copy the generated private key into the
cf-openstack-validator
folder. - Copy validator.template.yml to
validator.yml
and replace occurrences of<replace-me>
with appropriate values (see prerequisites)- If using Keystone v3, ensure there are values for
domain
andproject
- If using Keystone v2, remove
domain
andproject
, and ensure there is a value fortenant
. Also use the Keystone v2 URL asauth_url
.
- If using Keystone v3, ensure there are values for
$ cp validator.template.yml validator.yml
- Download a stemcell from OpenStack stemcells bosh.io
$ wget --content-disposition https://bosh.io/d/stemcells/bosh-openstack-kvm-ubuntu-xenial-go_agent
- Install dependencies
$ gem install bundler
$ bundle install
- Start validation
$ ./validate --stemcell bosh-stemcell-<xxx>-openstack-kvm-ubuntu-xenial-go_agent.tgz --config validator.yml
Configure CPI used by validator
Validator downloads CPI release from the URL specified in the validator configuration. You can override this by specifying the --cpi-release
command line option with the path to a CPI release tarball.
If you already have a CPI compiled, you can specify the path to the executable in the environment variable OPENSTACK_CPI_BIN
. This is used when no CPI release is specified on the command line. It overrides the setting in the validator configuration file.
Command line help
To learn about available options run
$ ./validate --help
Extensions
You can extend the validator with custom tests. For a detailed description and examples, please have a look at the extension documentation.
This repository already contains some extensions. Each extension has its own documentation which can be found in the corresponding extension folder.
Troubleshooting
The validator does not run on your OpenStack? See additional OpenStack related configuration options for possible solutions.