User Tools

Site Tools


foreman_quickstack_tool_interaction

Foreman/QuickStack Tool Interaction

The purpose of this page is to go into some detail and provide the linkage to how the Foreman/QuickStack tools interact. It will go from initiating a deploy through the tools to show the interactions and files that are called.

Initial Deployment

Deployment is done via deploy.sh. Deploy.sh does the following:

  • Detects the networking setup
  • Gathers parameters to be used to deploy OPNFV via an inventory file
  • The parameters include global parameters later configured in Foreman, and a "nodes" yaml dictionary which describes the baremetal/VM topology
  • Deploy uses Vagrant to bring up VMs
  • 1 VM is used as Foreman, other VMs can be provided when doing a virtual deployment
  • For each VM, bgs_vagrant is cloned into /tmp/ (/tmp/bgs_vagrant is Foreman VM, while other nodes are /tmp/controller1, etc)
  • Vagrant uses provisioners to configure the VM (done inside of the Vagrantfile under /tmp/<node>)
  • deploy.sh will configure the Vagrantfile to use bootstrap.sh to install Foreman
  • VMs are installed with a different Ansible playbook/ Vagrant provisioning (by editing the Vagrantfile in /tmp/controller1, etc)

Initial Provisioning Foreman VM

  • bootsrap.sh installs, configures and executes Khaleesi
  • Khaleesi is an Ansible based framework that is capable of installing Foreman and deploying nodes
  • bootsrap.sh initiates execution of opnfv.yml playbook
  • The opnfv.yml playbook then calls the opnfv install role which will install Foreman
  • The OPNFV install role will install Foreman using Astapor
  • Astapor includes a bash script, foreman_server.sh, and opnfv-seeds.rb custom database file to install Foreman
  • Astapor also contains the QuickStack puppet modules which ar cloned into the Foreman VM
  • The opnfv-seeds.rb contains Foreman configuration (hostgroups, puppet modules, etc)

Deploying Nodes (baremetal)

  • After OPNFV install role is finished, opnfv.yml playbook calls the deploy nodes role
  • The role then uses the foreman.py library to issue a Foreman API call to reboot and build the nodes with PXE
  • The role will then wait for SSH access to the node
  • The role will then wait for puppet to complete and the node to be put into Active ("A") state in Foreman, indicating deploy is complete
foreman_quickstack_tool_interaction.txt · Last modified: 2015/06/17 21:55 by Tim Rozet