Earlier Attempts

Take 5 - OpenStack on main host and compute hosts under KVM

OpenStack running in a VM had touble being reachable from compute hosts outside the main host machine. So dropping back to running OpenStack on the host machine directly, until I figure out how to resolve the connectivity issue (maybe the bridged networking config below would help with that - it's a recent change which was needed to allow the compute hosts running in VMs to connect to OpenStack…).

Starting with Ubuntu 14.04 LTS Server
Basic KVM-Based Compute Host Install
Cloning VMs

Take 4 - OpenStack and compute hosts under KVM

To address some of the potential snags occurring due to conflicts between OpenStack, ODL, OVS, libvirt, … I am switching to running OpenStack and compute nodes under KVM VMs, with the addition of other compute nodes on other machines. At this point ODL is not in the picture as I have to figure out how the whole flat network approach works first. And the goal for this initial sandbox will be to get off the ground with policy feature assessment in OpenStack, so ODL can wait until I learn it better or get guidance on how to factor it into this setup.

At this point I have most of the above working. What is not currently working is getting the external compute node connected to OpenStack nova, likely some firewall issue with KVM that I need to fix.

I'll post details on how this was setup soon.

Take 3 - Ubuntu 14.04 host

Returning to a more direct approach, this time will ensure component independence by installing: * OpenStack on host OS * ODL in VM managed by OpenStack

Decided pretty quickly that as some of the earlier issues may have been with running OpenStack on the host directly, I would switch to trying it in a VM (take 4).

Take 2 - Foreman - assisted install

Trying out Foreman to see if it helps get past some of the basic issues with the manual install.

. . .

Take 1 - manual install

Here is a graphic of the concept. This is very draft and leaves many things unclear partly because I'm not sure how to do them yet.

This procedure is not being further pursued at the moment… too many undocumented things about the overall setup of OpenStack, ODL, etc…

Restart process for For sandbox based upon host OS: Unbuntu 14.04 Server LTS

Restart process for sandbox based upon host OS: Unbuntu 14.04 Server LTS

  1. Ensure you have enable virtualization support in your BIOS
  2. Install Ubuntu. I selected options for SSH, LAMP, VM host.
    • Make sure you remember the mysql root password - you will need it below
  3. install updates
    • sudo apt-get update
    • sudo apt-get upgrade
  4. install ubuntu desktop: sudo apt-get install ubuntu-desktop
    • Qemu requires a window system… something lighter than desktop env wil
  5. install Java 7
    • I used the notes from ubuntuhandbook
    • sudo add-apt-repository ppa:webupd8team/java
    • sudo apt-get update
    • sudo apt-get install oracle-java7-installer
    • sudo apt-get install oracle-java7-set-default
    • export JAVA_HOME=/usr/lib/jvm/java-7-oracle
    • sudo vi /etc/environment
      • (add a line: JAVA_HOME=/usr/lib/jvm/java-7-oracle)
  6. install git: sudo apt-get install git -y
  7. Install OpenStack (DevStack)
    • cd devstack
    • Create local.conf: cp samples/local.conf .
    • Add/replace these lines: vi local.conf
      • FLAT_INTERFACE=(your ethernet interface)
      • ADMIN_PASSWORD=(something you will remember - you will use this to login to the Horizon UI)
      • MYSQL_PASSWORD=(mysql root password)
      • RABBIT_PASSWORD=(something you will remember)
      • SERVICE_PASSWORD=(something you will remember)
    • Start the devstack install: ./stack.sh
    • If all goes well, you will get an output of key items at the end of the script
    • If you hit an error related to the mysql root password, you can reset it and try again
      • sudo mysql –defaults-file=/etc/mysql/debian.cnf
      • mysql> UPDATE mysql.user SET Password=PASSWORD('mysql root password') WHERE User='root';
      • mysql> FLUSH PRIVILEGES;
      • mysql> quit;
      • mysql -u root -p
    • At this point you should be able to login to Horizon at your installed server e.g. http://192.168.1.132/ using the account "admin" and the ADMIN_PASSWORD you set above.
  8. install and configure mininet
    • convert to QCOW2 format
    • unzip mininet.zip
    • qemu-img convert -O qcow2 mn-2.2.0-trusty64server-150106-01-30-00/mininet-vm-x86_64.vmdk mn-2.2.0-trusty64server-150106-01-30-00/mininet-vm-x86_64.qcow2
    • In Horizon, create image for mininet-vm
      • create from file in qcow2 format
      • min RAM = 1024
  9. Install openvswitch: sudo apt-get install openvswitch-switch
  10. Install OpenDaylight Controller (see Install Guide)
    • unzip Helium-SR1.1.zip
    • cd distribution-karaf-0.2.1-Helium-SR1.1
    • ./bin/karaf
    • You should get the OpenDaylight prompt "opendaylight-user@root>"
    • verify it's working with: feature:list
    • install the ODL components
      • feature:install odl-base-all odl-aaa-authn odl-restconf odl-nsf-all odl-adsal-northbound odl-mdsal-apidocs odl-ovsdb-openstack odl-ovsdb-northbound odl-dlux-core
        • start with this minimal set of features per the video ¨ODL & OpenStack Discussion
        • will pull these additional features as I find they are essential
          • feature:install odl-mdsal-all odl-restconf-all odl-ovsdb-all odl-openflowplugin-flow-services-ui odl-sfc-all odl-groupbasedpolicy-ofoverlay odl-dlux-all odl-config-persister-all odl-aaa-all odl-ttp-all odl-openflowplugin-all odl-adsal-compatibility-all odl-tcpmd5-all odl-adsal-all odl-config-all odl-netconf-all odl-base-all odl-yangtools-all odl-integration-compatible-with-all odl-netconf-connector-all odl-akka-all odl-l2switch-switch odl-mdsal-apidocs odl-aaa-authn
          • (can't find a feature called ML2-plugin)
    • At this point you should be able to login to DLUX at your installed server e.g. http://192.168.1.132:8181/dlux/index.html using the account "admin" and the In Hidefault password "admin".
  11. In Horizon, launch mininet-vm created earlier
  12. ssh to mininet VM and enter
    • sudo mn –controller=remote,ip=192.168.1.132
  13. Bring up a VM and validate basic functionality: this will be initially a manual sequence and eventually scripted using OpenStack APIs
Take 0

Tried CentOS 7 but continually getting errors:

  1. When installing, select the "Server with GUI" profile, leaving all options blank (it's unclear whether any are needed at this point)
  2. As su, add your username to /etc/sudoers via "visudo"
  3. Log out of root!
  4. Install git: sudo yum install git
  5. Create devstack/local.conf, adding/replacing these lines
    • FLAT_INTERFACE=(your ethernet interface)
    • ADMIN_PASSWORD=(random string)
    • MYSQL_PASSWORD=(random string)
    • RABBIT_PASSWORD=(random string)
    • SERVICE_PASSWORD=(random string)
  6. Start the devstack install: cd devstack; ./stack.sh
  7. A variety of errors received - no reason why, not time to debug