User Tools

Site Tools


foreman_quickstack_tool_interaction

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
foreman_quickstack_tool_interaction [2015/06/17 21:19]
Tim Rozet
foreman_quickstack_tool_interaction [2015/06/17 21:55] (current)
Tim Rozet
Line 6: Line 6:
 Deployment is done via deploy.sh. ​ Deploy.sh does the following: Deployment is done via deploy.sh. ​ Deploy.sh does the following:
   * Detects the networking setup   * Detects the networking setup
-  * Gathers parameters to be used to deploy OPNFV +  * Gathers parameters to be used to deploy OPNFV via an [[https://​github.com/​trozet/​bgs_vagrant/​blob/​master/​opnfv_ksgen_settings.yml | inventory file]] 
-  * Uses Vagrant to bring up VMs+  * 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   * 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)+  * For each VM, [[https://​github.com/​trozet/​bgs_vagrant ​| 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>​)   * 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+  * deploy.sh will configure the [[https://​github.com/​trozet/​bgs_vagrant/​blob/​master/​Vagrantfile ​| Vagrantfile]] ​to use [[https://​github.com/​trozet/​bgs_vagrant/​blob/​master/​bootstrap.sh ​| 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 =====+===== Initial Provisioning ​Foreman VM ===== 
 +  * bootsrap.sh installs, configures and executes [[https://​github.com/​trozet/​khaleesi | Khaleesi]] 
 +  * Khaleesi is an Ansible based framework that is capable of installing Foreman and deploying nodes 
 +  * bootsrap.sh initiates execution of [[https://​github.com/​trozet/​khaleesi/​blob/​opnfv/​playbooks/​opnfv.yml | opnfv.yml]] playbook 
 +  * The opnfv.yml playbook then calls the [[https://​github.com/​trozet/​khaleesi/​blob/​opnfv/​roles/​foreman/​opnfv-install/​tasks/​main.yml | opnfv install role]] which will install Foreman 
 +  * The OPNFV install role will install Foreman using [[https://​github.com/​trozet/​astapor | Astapor]] 
 +  * Astapor includes a bash script, [[https://​github.com/​trozet/​astapor/​blob/​opendaylight/​bin/​foreman_server.sh | foreman_server.sh]],​ and [[https://​github.com/​trozet/​astapor/​blob/​opendaylight/​bin/​opnfv-seeds.rb | opnfv-seeds.rb]] custom database file to install Foreman 
 +  * Astapor also contains the QuickStack puppet modules which ar cloned into the Foreman VM 
 +  * Also cloned are the [[https://​github.com/​trozet/​puppet-trystack | Genesis/​Trystack Puppet Modules]], and [[https://​forge.puppetlabs.com/​puppetlabs/​openstack | OpenStack Puppet modules]] 
 +  * 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 [[https://​github.com/​trozet/​khaleesi/​blob/​opnfv/​roles/​get_nodes/​foreman/​tasks/​main.yml | deploy nodes role]] 
 +  * The role then uses the [[https://​github.com/​trozet/​khaleesi/​blob/​opnfv/​library/​foreman.py | 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.1434575997.txt.gz · Last modified: 2015/06/17 21:19 by Tim Rozet