GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - shiftstack/shiftstack-ci: ShiftStack tools for the OpenStack infrastructure

BranchesTags
Open more actions menu

Latest commit

 

History

461 Commits
461 Commits

Folders and files

NameName
Last commit message
Last commit date
bot
bot
 
 
builders
builders
 
 
ci-dns
ci-dns
 
 
cve-jira-processing
cve-jira-processing
 
 
hack
hack
 
 
jira-backport
jira-backport
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
OWNERS
OWNERS
 
 
OWNERS_ALIASES
OWNERS_ALIASES
 
 
README.md
README.md
 
 
borderline.sh
borderline.sh
 
 
bump-periodics.sh
bump-periodics.sh
 
 
clean-ci-resources.sh
clean-ci-resources.sh
 
 
cluster_config.sh.example
cluster_config.sh.example
 
 
connectivity-test-cloud-init.yaml
connectivity-test-cloud-init.yaml
 
 
destroy_cluster.sh
destroy_cluster.sh
 
 
list-clusters.sh
list-clusters.sh
 
 
metrics.sh
metrics.sh
 
 
openstack-ci-report.yaml
openstack-ci-report.yaml
 
 
populate_mirror.sh
populate_mirror.sh
 
 
pull-artifacts.sh
pull-artifacts.sh
 
 
refresh_rhcos.sh
refresh_rhcos.sh
 
 
report.sh
report.sh
 
 
run_ocp.sh
run_ocp.sh
 
 
server.sh
server.sh
 
 
stale.sh
stale.sh
 
 
team_ssh_keys.sh
team_ssh_keys.sh
 
 

Repository files navigation

shiftstack-ci

This repository contains tools to help build and simplify a testing environment for the development of OpenShift 4.x installation against an OpenStack cloud.

Prerequisites

Access to an OpenStack cloud fitting the OpenShift on OpenStack requirements.

The RHCOS image can be downloaded from the release browser.

It may be possible that the flavors available from your OpenStack cloud provider set a disk size smaller than what is required for the rhcos image. If that's the case, you can shrink the image with qemu-img, for instance:

qemu-img resize rhcos-maipo-400.7.20190312.0-openstack.qcow2 --shrink 10G

Additionally the cloud must have enough capacity for:

  • 7 m1.medium nodes
  • 1 floating IP

Finally, you'll need a go dev environment for building the installer. This guide has gifs of cats, and is highly recommended if you are struggling with this.

Set up

Before running any of the scripts in this repository, there is minimal setup required.

You will need to clone the openshift installer. Rather than clone using git, it is much more convenient to use go get, since it will put it where it belongs for you.

go get github.com/openshift/installer

Make sure to export the OS_CLOUD environment variable to the name of your OpenStack cloud provider from your $HOME/.config/openstack/clouds.yaml file.

Lastly, you need some binaries to work with OpenShift and OpenStack. This is easy, just run:

sudo dnf install jq python-openstackclient

Cluster Configuration

Make a copy of the cluster_config.sh.example file:

cp cluster_config.sh.example cluster_config.sh

Adjust the settings to match your environment. This will set up how and where your cluster gets built, so it is important to fill it out carefully. Here is a rundown of the important fields you will likely have to modify:

OS_CLOUD           The cloud in your openstack cluster that resources will be consumed from.
CLUSTER_NAME       What your ocp cluster will be nicknamed. This naming scheme is propogated to all resources in the cluster.

Finally you need to obtain a pull secret from here, and replace PULL_SECRET variable with the new value. If you don't do this you can still install the cluster, but you won't be able to create new applications in OpenShift because you won't have access to private images.

Once this has been set up, you can proceed with building the installer.

Building the Installer

Just run the convenience script: build_ocp.sh! You will have to do this before your first run, and every time you make a change to the installer.

Deploying OpenShift

This part is also pretty self-explanatory, the run_ocp.sh script will create a cluster, and the destroy_cluster.sh script will destroy it. Moving forwards, however, we will be looking to move away from building the cluster this way, and towards using the CI operator as our primary means of testing.

Auditing CI Jobs Configuration

Audits CI configuration files to find OpenStack e2e test jobs and reports their run_if_changed and skip_if_only_changed settings.

Usage: python hack/openstack-job-audit.py <project_path> [output_file] project_path: Path to the local copy of the release repo output_file: Output file path (default: ./openstack-ci-report.yaml)

Example: ./openstack-job-audit.py /path/to/openshift/release ./report.yaml

About

ShiftStack tools for the OpenStack infrastructure

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

7 stars

Watchers

3 watching

Forks

13 forks
Report repository

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.