This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
get_started_experiment2 [2015/02/09 03:49] Joseph Gasparakis created |
get_started_experiment2 [2015/03/02 21:39] (current) Christopher Price |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | *** This is WIP *** | ||
- | This page aims to provide a step by step guide to replicate experiment #2 shown in [[https://wiki.opnfv.org/get_started/get_started_installer_approach|this page]]. | + | ====== 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 <userid> | ||
+ | |||
+ | 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://<Linux foundation user>@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-<version>.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 <CEE Region name>-fuel | ||
+ | Domain <Domain Name> | ||
+ | Search Domain <Search Domain Name> | ||
+ | Hostname to test DNS <Hostname to test DNS> | ||
+ | |||
+ | 7. Select Time Sync and change the following fields to appropriate values: | ||
+ | NTP Server 1 <Customer NTP server 1> | ||
+ | NTP Server 2 <Customer NTP server 2> | ||
+ | NTP Server 3<Customer 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 number of server> TOTAL NODES and <total number of servers> 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 <Public IP Address start> | ||
+ | IP Range End to <Public IP Address end> | ||
+ | CIDR to <CIDR for Public IP Addresses> | ||
+ | Gateway to <Gateway for Public IP Addresses> | ||
+ | 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 <number of nodes> 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 <id>| new | <CEE Region name>| ha_compact | 2 | <ite specific information> | ||
+ | |||
+ | 36. Run the pre-deployment script (/opt/opnfv/pre-deploy.sh <id>) | ||
+ | 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. | ||
+ |