Skip to content

kvcobb/qe-jenkins-onmetal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qa-jenkins-onmetal

OSIC Ops/QA Automation PoC for Rolling Upgrade CI/CD

CI/CD Flow

CIflow Full Details

Elements

  • Jenkins Master
  • Jenkins Agents
  • Jenkins Pipelines:
    • OSA Upgrade Liberty to Mitaka - via run_upgrade.sh
    • OSA Upgrade Mitaka to Newton-master - via run_upgrade.sh
    • OSA Rolling Upgrade Mitaka to Newton-master - Rolling Upgrade: Nova, Swift and Keystone (run_upgrade.sh breakdown)
    • See Details HERE
  • Rackspace OnMetal IO v2
  • OSA Deployment
  • OSA Upgrade
  • Test Suites:
    • Tempest smoke test suiteHERE
    • Persistent resources test suite.
    • API uptime test suite. HERE
    • During upgrade test suite

Further details about the CI model and test suites. See https://github.com/osic/osic-upgrade-test

Jenkins Installation

Install_Jenkins_Master Install_Jenkins_Slave_Agents

Jenkins Slave Agents Additional Configuration

Since Jenkins slaves agents will fire the complete OnMetal solution it requires to install:

mkdir /root/.ssh
ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa

Usage

Optional
# NOT Confirmed
ansible-playbook setup_jenkins.yaml
OnMetal OSA Deployment - Performed by Jenkins Pipeline

Automation HERE

Ansible available tags are iad and dfw. Which refers to Rackspace Regions: DFW=Dallas-fort-Worth, IAD=Northern-Virginia without tags resources are created in both regions

# Get Rackspace OnMetal IO v2 - need RPC credentials - 1 Physical Server
ansible-playbook build_onmetal.yaml --tags 'iad'

# Verify onMetal server data via rax CLI
ansible-playbook -i hosts get_onmetal_facts.yaml --tags 'iad'

# Install packages on the onMetal server
ansible-playbook -i hosts prepare_onmetal.yaml

# Apply server OS patches
ansible-playbook -i hosts set_onmetal_cpu.yaml

# Setup onMetal server - additional configurations
ansible-playbook -i hosts configure_onmetal.yaml

# Create the VMs on top of onMetal server
ansible-playbook -i hosts create_lab.yaml

# Prepare VMs for OSA installation
ansible-playbook -i hosts prepare_for_osa.yaml

# Deploy OpenStack via OSA
ansible-playbook -i hosts deploy_osa.yaml
OnMetal OSA Upgrade - Performed by Jenkins Pipeline
# via run_upgrade.sh
ansible-playbook -i hosts -e "openstack_release=${release}" upgrade_osa.yaml

# rolling upgrade - project stepping
# TBD
OnMetal Cleanup - Performed by Jenkins Pipeline
# Cleanup
ansible-playbook -i hosts destroy_virtual_machines.yaml

# Cleanup
ansible-playbook -i hosts destroy_virtual_networks.yaml

# Cleanup
ansible-playbook -i hosts destroy_lab_state_file.yaml

# Cleanup - Release RPC resources
ansible-playbook -i hosts destroy_onmetal.yaml --tags 'iad'

About

OSIC Ops/QA Automation PoC for CI/CD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 44.1%
  • Groovy 39.0%
  • Python 16.9%