User Tools

Site Tools


copper:academy:foreman

Differences

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

Link to this comparison view

Next revision
Previous revision
copper:academy:foreman [2015/09/29 23:16]
Bryan Sullivan created
copper:academy:foreman [2016/02/02 18:39] (current)
Bryan Sullivan
Line 1: Line 1:
  
 The procedure below has been used to create a 3-node OPNFV install using Intel NUC i7 nodes with 16GB RAM, 250MB SSD, and 1 TB HDD. The install uses one NUC for the Jumphost, and one each for the controller (OpenStack + ODL) and the compute nodes. The procedure below has been used to create a 3-node OPNFV install using Intel NUC i7 nodes with 16GB RAM, 250MB SSD, and 1 TB HDD. The install uses one NUC for the Jumphost, and one each for the controller (OpenStack + ODL) and the compute nodes.
 +
 +==== Jumphost Installation and OPNFV Deployment ====
  
   * Includes instructions from http://​artifacts.opnfv.org/​genesis/​foreman/​docs/​installation-instructions.html   * Includes instructions from http://​artifacts.opnfv.org/​genesis/​foreman/​docs/​installation-instructions.html
Line 48: Line 50:
 TYPE="​Ethernet"​ TYPE="​Ethernet"​
 BOOTPROTO="​static"​ BOOTPROTO="​static"​
-IPADDR=192.168.10.2+IPADDR=192.168.1.201
 NETMASK=255.255.255.0 NETMASK=255.255.255.0
-GATEWAY=192.168.10.1+GATEWAY=192.168.1.1
 NM_CONTROLLED="​no"​ NM_CONTROLLED="​no"​
 (rest as-is) (rest as-is)
Line 64: Line 66:
 <​code>​ <​code>​
 sudo vi /​etc/​resolv.conf sudo vi /​etc/​resolv.conf
-8.8.8.8+nameserver ​8.8.8.8 
 +nameserver 8.8.4.4
 </​code>​ </​code>​
  
Line 91: Line 94:
   *  In BIOS options (F2), Power tab, set "Wake on LAN from S4/S5" to "Power On - PXE Boot" and save (F10)   *  In BIOS options (F2), Power tab, set "Wake on LAN from S4/S5" to "Power On - PXE Boot" and save (F10)
   *  Boot NUCs and note MAC addresses, so they can be included in the wakenodes.sh script referenced below   *  Boot NUCs and note MAC addresses, so they can be included in the wakenodes.sh script referenced below
-  *  The "​1"​and "​2"​ below refer to the 3-node installs ("​PODS"​) which must be in independent networks (e.g. behind distinct internet gateway routers) so they don't conflict. Within each POD the node names and assigned IP addresses etc are the same. 
-  *  NUC1 JUMPHOST1 ​    ​B8:​AE:​ED:​76:​FC:​WB 
-  *  NUC2 OSCONTROLLER1 B8:​AE:​ED:​76:​FB:​45 
-  *  NUC3 OSCOMPUTE1 ​   B8:​AE:​ED:​76:​FB:​C4 
-  *  NUC4 JUMPHOST2 ​    ​B8:​AE:​ED:​76:​A4:​E9 
-  *  NUC5 OSCONTROLLER2 B8:​AE:​ED:​76:​F9:​FF 
-  *  NUC6 OSCOMPUTE2 ​   B8:​AE:​ED:​76:​C5:​ED 
- 
   *  install ether-wake if needed to test of wakenodes.sh   *  install ether-wake if needed to test of wakenodes.sh
 <​code>​ <​code>​
Line 137: Line 132:
     hostname: oscompute1.{{ domain_name }}     hostname: oscompute1.{{ domain_name }}
     short_name: oscompute1     short_name: oscompute1
-    mac_address:​ "B8:​AE:​ED:​76:​FB:​C4"+    mac_address:​ "<​compute1-mac>​"
   # (for controller1:​)   # (for controller1:​)
     name: oscontroller1.{{ domain_name }}     name: oscontroller1.{{ domain_name }}
     hostname: oscontroller1.{{ domain_name }}     hostname: oscontroller1.{{ domain_name }}
     short_name: oscontroller1     short_name: oscontroller1
-    mac_address:​ "B8:​AE:​ED:​76:​FB:​45+    mac_address:​ "<​controller1-mac>​
-    private_mac:​ "B8:​AE:​ED:​76:​FB:​45"+    private_mac:​ "<​controller1-mac>​"
 # Jumphost2: # Jumphost2:
   # (for compute1:)   # (for compute1:)
Line 149: Line 144:
     hostname: oscompute1.{{ domain_name }}     hostname: oscompute1.{{ domain_name }}
     short_name: oscompute1     short_name: oscompute1
-    mac_address:​ "B8:​AE:​ED:​76:​C5:​ED"+    mac_address:​ "<​compute1-mac>​"
   # (for controller1:​)   # (for controller1:​)
     name: oscontroller1.{{ domain_name }}     name: oscontroller1.{{ domain_name }}
     hostname: oscontroller1.{{ domain_name }}     hostname: oscontroller1.{{ domain_name }}
     short_name: oscontroller1     short_name: oscontroller1
-    mac_address:​ "B8:​AE:​ED:​76:​F9:​FF+    mac_address:​ "<​controller1-mac>​
-    private_mac:​ "B8:​AE:​ED:​76:​F9:​FF"+    private_mac:​ "<​controller1-mac>​"
 </​code>​ </​code>​
  
Line 172: Line 167:
 # !/bin/bash # !/bin/bash
 yum -y install net-tools yum -y install net-tools
-ether-wake ​B8:​AE:​ED:​76:​FB:​C4 +ether-wake ​<​compute1-mac> 
-ether-wake B8:​AE:​ED:​76:​FB:​45 +ether-wake ​<​controller1-mac>
-ether-wake ​B8:​AE:​ED:​76:​F9:​FF +
-ether-wake B8:​AE:​ED:​76:​C5:​ED+
 </​code>​ </​code>​
  
Line 223: Line 216:
 rm -rf /​var/​opt/​opnfv rm -rf /​var/​opt/​opnfv
 exit exit
 +rm /​home/​opnfv/​.ssh/​known_hosts
 </​code>​ </​code>​
  
Line 241: Line 235:
  
   * Create /​etc/​sysconfig/​network-scripts/​ifcfg-br-ex with https://​github.com/​trozet/​puppet-trystack/​blob/​quickstack/​templates/​br_ex.erb as template.   * Create /​etc/​sysconfig/​network-scripts/​ifcfg-br-ex with https://​github.com/​trozet/​puppet-trystack/​blob/​quickstack/​templates/​br_ex.erb as template.
 +    * Note: the following assumes that Foreman assigned IP 192.168.1.204 to controller1. If different, use the IP assigned for the system you are installing, here and below.
 <​code>​ <​code>​
 vi /​etc/​sysconfig/​network-scripts/​ifcfg-br-ex vi /​etc/​sysconfig/​network-scripts/​ifcfg-br-ex
Line 285: Line 280:
 ONBOOT=yes ONBOOT=yes
 NETBOOT=yes NETBOOT=yes
-UUID="​07d0c861-93c1-4cbb-a1a3-43086f1f8144"​+(leave ​UUID line as is, replace rest with the below)
 BOOTPROTO=static BOOTPROTO=static
 TYPE=OVSPort TYPE=OVSPort
Line 293: Line 288:
 PEERDNS=no PEERDNS=no
 PEERROUTES=yes PEERROUTES=yes
-ONBOOT=yes 
 </​code>​ </​code>​
  
Line 301: Line 295:
 </​code>​ </​code>​
  
-  * From Horizon / Project / Compute / Access & Security / API Access select "​Download OpenStack RC file, and create the file in the root home directory, then execute it.+  * On the jumphost, from Horizon / Project / Compute / Access & Security / API Access select "​Download OpenStack RC file, transfer to the controller ​root home directory, then execute it.
 <​code>​ <​code>​
 vi admin-openrc.sh vi admin-openrc.sh
Line 350: Line 344:
 ===== What install success looks like ===== ===== What install success looks like =====
  
-  * when the process has finished, succcess is indicated by this type of information in the jumphost terminal+  * when the process has finished, succcess is indicated by this type of information in the jumphost terminal ​(the details e.g. addresses shown here may vary from that above... sometimes installs resulted in different assigned addresses)
 <​code>​ <​code>​
-==> default: TASK: [get_nodes/​foreman | wait_for host={{ item.value.hostname }} port=22 ​ 
-delay=10 timeout=1800] *** 
-==> default: ​                     [[ previous task time: 0:​00:​03.456516 = 3.46s / 746.15s ]] 
-==> default: ok: [localhost -> 127.0.0.1] => (item={'​key':​ '​controller1',​ '​value': ​ 
-{'​bmc_user':​ '​root',​ '​short_name':​ '​oscontroller1',​ '​memory':​ 4096, '​cpus':​ 2,  
-'​ansible_ssh_pass':​ '​Op3nStack',​ '​bmc_ip':​ '​10.4.17.3',​ '​hostgroup': ​ 
-'​Controller_Network_ODL',​ '​groups':​ ['​controller',​ '​foreman_nodes',​ '​puppet',​ '​rdo', ​ 
-'​neutron'​],​ '​disk':​ 40, '​bmc_mac':​ '​10:​23:​45:​67:​88:​AC',​ '​admin_ip':​ '​192.168.1.206', ​ 
-'​name':​ u'​oscontroller1.opnfv.com',​ '​hostname':​ u'​oscontroller1.opnfv.com',​ '​host_type': ​ 
-'​baremetal',​ '​private_mac':​ '​B8:​AE:​ED:​76:​F9:​FF',​ '​bmc_pass':​ '​root',​ '​admin_password': ​ 
-'​octopus',​ '​mac_address':​ '​B8:​AE:​ED:​76:​F9:​FF',​ '​type':​ '​controller',​ '​private_ip': ​ 
-'​192.168.1.206'​}}) 
-==> default: ok: [localhost -> 127.0.0.1] => (item={'​key':​ '​compute',​ '​value': ​ 
-{'​bmc_user':​ '​root',​ '​short_name':​ '​oscompute1',​ '​memory':​ 2048, '​cpus':​ 2,  
-'​ansible_ssh_pass':​ '​Op3nStack',​ '​bmc_ip':​ '​10.4.17.2',​ '​groups':​ ['​compute', ​ 
-'​foreman_nodes',​ '​puppet',​ '​rdo',​ '​neutron'​],​ '​disk':​ 40, '​bmc_mac':​ '​10:​23:​45:​67:​ 
-==> default: 88:​AB',​ '​admin_ip':​ '​192.168.1.207',​ '​name':​ u'​oscompute1.opnfv.com', ​ 
-'​hostname':​ u'​oscompute1.opnfv.com',​ '​host_type':​ '​baremetal',​ '​hostgroup':​ '​Compute', ​ 
-'​bmc_pass':​ '​root',​ '​admin_password':​ '',​ '​mac_address':​ '​B8:​AE:​ED:​76:​C5:​ED',​ '​type': ​ 
-'​compute'​}}) 
-==> default: 
-==> default: TASK: [get_nodes/​foreman | set fact with hostnames] *************************** 
-==> default: ​                  [[ previous task time: 0:​14:​11.636023 = 851.64s / 1597.79s ]] 
-==> default: ok: [localhost] => (item={'​key':​ '​controller1',​ '​value':​ {'​bmc_user':​ '​root', ​ 
-'​short_name':​ '​oscontroller1',​ '​memory':​ 4096, '​cpus':​ 2, '​ansible_ssh_pass':​ '​Op3nStack', ​ 
-'​bmc_ip':​ '​10.4.17.3',​ '​hostgroup':​ '​Controller_Network_ODL',​ '​groups':​ ['​controller', ​ 
-'​foreman_nodes',​ '​puppet',​ '​rdo',​ '​neutron'​],​ '​disk':​ 40, '​bmc_mac':​ '​10:​23:​45:​67:​88:​AC', ​ 
-'​admin_ip':​ '​192.168.1.206',​ '​name':​ u'​oscontroller1.opnfv.com',​ '​hostname': ​ 
-u'​oscontroller1.opnfv.com',​ '​host_type':​ '​baremetal',​ '​private_mac':​ '​B8:​AE:​ED:​76:​F9:​FF', ​ 
-'​bmc_pass':​ '​root',​ '​admin_password':​ '​octopus',​ '​mac_address':​ '​B8:​AE:​ED:​76:​F9:​FF', ​ 
-'​type':​ '​controller',​ '​private_ip':​ '​192.168.1.206'​}}) 
-==> default: ok: [localhost] => (item={'​key':​ '​compute',​ '​value':​ {'​bmc_user':​ '​root', ​ 
-'​short_name':​ '​oscompute1',​ '​memory':​ 2048, '​cpus':​ 2, '​ansible_ssh_pass':​ '​Op3nStack', ​ 
-'​bmc_ip':​ '​10.4.17.2',​ '​groups':​ ['​compute',​ '​foreman_nodes',​ '​puppet',​ '​rdo',​ '​neutron'​], ​ 
-'​disk':​ 40, '​bmc_mac':​ '​10:​23:​45:​67:​88:​AB',​ '​admin_ip':​ '​192.168.1.207',​ '​name': ​ 
-u'​oscompute1.opnfv.com',​ '​hostname':​ u'​oscompute1.opnfv.com',​ '​host_type':​ '​baremetal', ​ 
-'​hostgroup':​ '​Compute',​ '​bmc_pass':​ '​root',​ '​admin_password':​ '',​ '​mac_address': ​ 
-'​B8:​AE:​ED:​76:​C5:​ED',​ '​type':​ '​compute'​}}) 
 ==> default: ==> default:
 ==> default: TASK: [get_nodes/​foreman | make a list] *************************************** ==> default: TASK: [get_nodes/​foreman | make a list] ***************************************
copper/academy/foreman.1443568608.txt.gz · Last modified: 2015/09/29 23:16 by Bryan Sullivan