Part 1 – Host environment preparation.

If you are a Network Engineer, one day you may be asked to roll out F5 ADC in the OpenStack environment. But hey, OpenStack may look new and scary to you, as it was for me. You’ve probably learned on Devcentral (https://devcentral.f5.com/wiki/openstack.openstack_heat.ashx) that Heat is a primary OpenStack orchestration service, and that Heat and the F5 Heat Plugins are useful for rolling out and configuring F5 BIG-IP Virtual Edition (VE) on top of the OpenStack environment.

Let’s say that you've decided to accustom yourself with Heat and F5 Heat Plugins, but you do not have access to any OpenStack test or development environments, and/or you do not have admin rights to install the F5 Heat Plugins in OpenStack. If so, this series of articles is for you.

Please note, that OpenStack is a moving target. By the time I was writing this article, Mitaka was the supported OpenStack release. See https://releases.openstack.org/ for further information.

This is what you need to create your small, single-host OpenStack lab environment:

  1. Some hardware or virtual machine with >=4 cores, 16G of RAM and Intel VT-x/EPT or AMD-V/RVI support. In my case, it was an old Dell laptop that IT department intended to scrap. ;-)
  2. A decent Internet connection.
  3. In case of bare metal deployment, you need a home router. In my case it was my old WRT54gl.
  4. Ask your F5 Partner or F5 representatives for a couple of VE 45-day evaluation licenses. 

To sum up, it cost me 0$ to build my own OpenStack lab environment.

This is what you will get:

Single node OpenStack Environment

  • Fully functional OpenStack Mitaka environment
  • Heat and F5 Heat Plugins
  • F5 VE as guest machine
  • Direct access to F5 GUI, CLI, Virtual Servers from your laptop or any other devices connected to the home router
  • Possibility to test F5 VE setup from inside or outside of OpenStack

Naming convention:

[HW] – actions to be done for the bare metal deployment
[VMware] – actions to be done for the VMware guest machine deployment
no square bracket – do it regardless of whether it’s a physical or VMware deployment.

Host Preparation

Download and Install the Operating System

  1. Check if you have Intel VT-x/EPT or AMD-V/RVI turned on in your bios. 
    Sample screenshot:
    Bios Virtualization Options
  2. Download a CentOS v.7 64-bit minimal image: 
    http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso
  3. [HW] Store the CentOS image on a USB stick.
    The simplest method is to use some other Linux box.
    dd if=CentOS-6.5-x86_64-bin-DVD1.iso of=/dev/sdb 
    In the above command, /dev/sdb is an USB device; your USB device name will most likely be different. To find out the USB device name, observe/var/log/syslog, or /var/log/messages, while connecting the USB drive to the Linux machine. Further info at: https://wiki.centos.org/HowTos/InstallFromUSBkey
  4. [VMware] Create a custom VMware workstation virtual machine. Set everything to default except:
    • Guest Operating system: RedHat Enterprise Linux 7 64-bit.
    • Number of processors: 4
    • Memory for this Virtual Machine [RAM]: 16384MB (16G)
    • Use Network address translation. You should review and alter the VMware network configuration. Let’s assume that the NAT network is 10.128.10.0/24, where a default route and DNS is set to 10.128.10.2, turn off DHCP.
    • Maximum disk size: 200GB
    • IMPORTANT: Turn on a nested VM support by: Edit virtual machine settings -> Processors -> enable Virtualize Intel VT-x/EPT or AMD-V/RVI
      VMware Workstation settings
      NOTE: If you see different GUI options, read this article: https://communities.vmware.com/docs/DOC-8970
    • For the sake of performance, disable memory page trimming:
      VMware Workstation advanced settings
  5. Install CentOS. Boot the USB drive [HW] or connect the CentoOS .iso image to the VMware guest machine [VMware].

Configure the OS

  1. Choose English as the language.
  2. Set your local time zone. Correct time will ease troubleshooting.
  3. Disable a Security Policy:
    Disable a Security Policy
  4. Network settings:
    1. Set your hostname to: mitaka.f5demo.com and configure the network interface: 
      Set the hostname
    2. Turn on “Automatically connect to this network when it is available”:
    3. Configure IPv4 address, mask, default route and DNS:
    4. Disable IPv6:
    5. Check if the network interface is switched on:
    6. [optional] Disable KDUMP (from the main screen)
  5. Open INSTALLATION DESTINATION from the main screen and choose “Partition disk automatically”:
  6. Hit “Begin Installation”.
  7. Set root password to “default”.
    You need to hit “DONE” button twice to make CentOS accept the weak password. A user account is not required.
  8. CentOS will prompt you to reboot. 
  9. Permit ssh root login.
    1. Uncomment PermitRootLogin yes at /etc/ssh/sshd_config
    2. Reboot the ssh service
      systemctl restart sshd.service

Configure the host

Now, you should be able to log in to your OpenStack host with an ssh client (e.g., putty or iTerm2), so you can copy/paste the rest of the commands. 

  1. Generate ssh keyset:
    ssh-keygen (empty passwords recommended)
  2. [HW] By default, the CentOS will suspend on a lid close. To turn this off:
    In /etc/systemd/logind.conf, set HandleLidSwitch=ignore
    Further details at http://askubuntu.com/questions/360615/ubuntu-server-13-10-now-goes-to-sleep-when-closing-laptop-lid
  3. Turn off Network Manager:
    systemctl disable NetworkManager
    systemctl stop NetworkManager
  4. Set the hostnames as shown below:
    [root@mitaka ~]# cat /etc/hosts |grep mitaka
    10.128.10.3 mitaka.f5demo.com mitaka

    and
    cat /etc/hostname
    mitaka.f5demo.com
  5. Fill in the /etc/sysconfig/network as depicted:
    # Created by anaconda
    NETWORKING=yes
    HOSTNAME=mitaka.f5demo.com
    GATEWAY=10.128.10.2

    Where 10.128.10.2 is a gateway IP address.
  6. Switch off selinux:
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  7. Set English locales:
    [root@openstack01 ~]# cat /etc/environment
    LANG=en_US.utf-8
    LC_ALL=en_US.utf-8
  8. Update the system:
    yum update -y
  9. Reboot the system:
    reboot

 

Next, you should be ready to install OpenStack RDO. Stay tuned for instructions in the next installment of OpenStack in a Backpack!