====== Fuel Build and Install instructions ====== How to setup and use the OPNFV/BGS/FUEL build system. This is a work in progress, find the latest revision in genesis DOC/README.build and README.install ===== 1. Build system requirements ===== ==== 1.1 Host HW/VM requirements ==== - A x86_64 host (real iron or VM) with Ubuntu 12.04/14.04 LTS installed - 100 GB storage - 8 GB RAM ==== 1.2 Host SW dependencies ==== On the host, the following packages must be installed: - docker - see https://docs.docker.com/installation/ubuntulinux/ for installation notes for 12.04 and 14.04 - git (simply available through apt-get install git) ===== 2 Setting up the Docker build container ===== When having installed Docker, add yourself to the docker group: usermod -a -G docker Also make sure to define relevant dns servers part of the global dns chain in in your /etc/default/docker config file, eg. DOCKER_OPTS=" --dns=8.8.8.8 --dns=8.8.8.4" Then restart docker with "service docker restart".: ===== 3. Setting up OPNFV Gerrit in order to being able to clone the code ===== Start by creating a SSH key, if you don't already have one, create one with ssh-keygen Add your generated public key in OPNFV Gerrit -https://gerrit.opnfv.org/ (this requires a linuxfoundation account, create one if you do not already have one) Select "SSH Public Keys" to the left and then "Add Key" and paste your public key in. ===== 4. Clone the OPNFV code git repository ===== So now we're coming to the fun part! Let's clone the code repository: git clone ssh://@gerrit.opnfv.org:29418/genesis Change the directory to "fuel-build" cd fuel-build/ ===== 5. Set up (build) your build environment ===== YOU DO NOT NEED TO SET UP YOUR BUILD ENVIRONMENT, THE TOP MAKE ALL TARGET WILL DO THAT FOR YOU IF NOT ALREADY DONE, THE BELOW ACTIONS IN THIS SECTION ARE NOT NEEDED! //Note and TODO: The build system will for now partly run as sudo as that is needed for the debootstrap procedure to create the root file system for the Ubuntu 12.04 Docker image - BUT NOTE, NONE OF THE MAKEFILES OR SCRIPTS SHALL BE EXECUTED WITH SUDO/ROOT PRIVILEDGES! (TODO: Change the scripts so that no root priviledges will be needed) With your ordinary user-, run the following commands from your git root: cd docker make (and you will be prompted for your password by sudo) cd .. // ===== 6. Build your fuel .iso image ===== That's it, time to build! make [all] This will: I * f not allready existing, initialize the docker build environment * If not already done, build fuel from upstream * Build the defined derivate of fuel (as defined by the structure of this framework) If the build is successful, you will find the generated ISO file in the release subdirectory! ---- Now the tricky part - to deploy. This is under development and will be scripted in more detail. ---- ============================================================= ====== 7. Install Fuel Server ====== 1. Mount the built .iso file (release/opnfv-.iso) as a bootdevice to the fuel server. 2. Reboot the fuel server. The system now boots from the ISO image. 3. Change the grub boot params When Press Tab to edit . is shown press Tab. Change showmenu=no to showmenu=yes. Change netmask=255.255.255.0 to netmask=255.255.0.0. Press Enter. 4 Wait until screen Fuel setup . is shown. Note: This takes about 30 minutes. 5. Select PXE Setup and change the following fields to appropriate values (example below): Static Pool Start 10.20.0.3 Static Pool End 10.20.0.254 DHCP Pool Start 10.20.128.3 DHCP Pool End 10.20.128.254 6. Select DNS & Hostname and change the following fields to appropriate values: Hostname -fuel Domain Search Domain Hostname to test DNS 7. Select Time Sync and change the following fields to appropriate values: NTP Server 1 NTP Server 2 NTP Server 3 Note: This step is only to pass the network test, the actual ntp parameters will be set with the pre_deply script. 8. Start the installation. Select Quit Setup and press Save and Quit. Installation starts, wait until a screen with logon credentials is shown. Note: This takes about 15 minutes. 10. Enable PXE Booting and put it first in the bios boot order menu. 11. Reboot the controller- and compute blades. 12. Connect to Fuel wit a browser towards port 8000 13. Create and name a new OpenStack environment, to be installed. 14. Select Icehouse on Ubuntu . in field OpenStack Release. 15. Select deployment mode. Select the Multi-node with HA. 16. Select compute node mode. Select KVM as hypervisor. 17. Select network mode. Select Neutron with VLAN segmentation. 18. Select Storage Backends. Select Ceph for Cinder and default for glance. 19. Select additional services. Check option Install Celiometer (OpenStack Telemetry). 20. Create the new environment. 21. Wait for availability nodes. Wait until all nodes are displayed in top right in TOTAL NODES and UNALLOCATED NODES. 22. Open the created environment. 23. Open the networks tab. 24. Update the public configuration. Change the following fields to appropriate values: IP Range Start to IP Range End to CIDR to Gateway to Check VLAN tagging. Set appropriate VLAN id. 25. Update the management configuration. Set CIDR to 172.16.255.128/25. Check VLAN tagging. Set appropriate VLAN id. 26. Update the storage configuration. Set CIDR to the appropriate value Check VLAN tagging. Set appropriate VLAN id. 27. Update the Neutron L2 configuration. Set VLAN ID range. 28. Update the Neutron L3 configuration. Set Internal network CIDR to an appropriate value Set Internal network gateway to an appropriate value Set Floating IP ranges. Set DNS Servers 29. Save Settings. 30. Click "verify network" to check the network set-up 31. Update storage configuration. 32. Open the nodes tab. 33. Assign roles. Check Controller and Telemetry . MongoDB. Check three nodes to be installed as Controller in pane Assign Role. Click Apply Changes. Check Compute. Check nodes to be installed as Compute nodes in pane Assign Role. Click Apply Changes. 34. Configure interfaces. Check Select All to select all nodes with Control, Telemetry . MongoDB and Compute node roles. Click Configure Interfaces. Screen Configure interfaces on number of nodes is shown. Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks 35. Run the pre-deploy script. Log on as root to the Fuel node. Print Fuel environment Id (fuel env) #> id | status | name | mode | release_id | changes | new | | ha_compact | 2 | 36. Run the pre-deployment script (/opt/opnfv/pre-deploy.sh ) As prompted for-, set the DNS servers to go into /etc/resolv.conf. As prompted for-, set any Hosts file additions for controllers and compute nodes. You will be prompted for name, FQDN and IP for each entry. Press return when prompted for a name when you have completed your input. As prompted for-, set NTP upstream configuration for controllers. You will be prompted for a NTP server each entry. Press return when prompted for a NTP server when you have completed your input. 37. Deploy the environment. In the Fuel GUI, click Deploy Changes. 38 Verify the OpenStack Environment Open the Health Check tab . Select Select All. Click Run tests.