Giter VIP home page Giter VIP logo

opnfv-ravello-demo's Introduction

opnfv-ravello-demo

Introduction

These are my rough notes from the implementation of the OPNFV Academy framework on Ravello Systems hosted cloud environment.

There are 5 blueprints we are working on:

  1. Pre-built MaaS with empty nodes 4 Feb, 2016 - https://www.ravellosystems.com/repo/blueprints/67863505 - ready to build OPNFV with your SDN choice - done - take an hour or two to deploy this blueprint, configure maas then four hours later you can have a working OPNFV setup you can customize. Not self-contained - needs ssh keys, github, edit files. For more advanced developer.
  2. Deployed OPNFV with OpenStack Juno and Juniper Contrail SDN OpenStack Juno - done - spin up an app from this blueprint and in 20 minutes you will have a working OpenStack environment. Beginner level. <-- this blueprint needs an update for the Contrail controller to work properly.
  3. Deployed OPNFV with ODL SDN OpenStack Liberty 17 Feb, 2016 - https://www.ravellosystems.com/repo/blueprints/68618208 - deploy to google cloud - not Amazon AWS. There were issues with networking in AWS. Google works fine.
  4. Deployed OPNFV with ONOS SDN OpenStack Liberty - pending
  5. Deployed OPNFV with No SDN OpenStack Liberty and Congress/Copper from 9 Mar, 2016 - https://www.ravellosystems.com/repo/blueprints/69075386

alt text

#Purpose We are building out an OPNFV environment in Ravello. This environment will be shared publicly as a Ravello Blueprint. A blog post and training program will be created around this blog post. Different team members can use this setup to learn about OPNFV or to expand on it for use as a Sales Demo tool or for customer facing POCs or even QA/DevTest functional testing scenarios.

Decision Process

This section is an attempt to explain why we are using Ravello and will guide our strategy for the build out.

There are three ways to consume OPNFV:

  1. Automated setup using static machines driven by jenkins jobs reading gerrit running on a daily and weekly build process. jenkins jobs handle the installation, configuration, and testing of the OPNFV platform. Required LFID and Authorization to make any changes as well as dedicated hardware.
  2. Assisted Install: Use a pre-built jump server setup to download latest code from a public github repo and pxe-boot some machines. More flexible and “open” while following a similar process to the “real” OPNFV labs. Uses Canonical MaaS and Juju to follow along with capabilities from the JOID project. This option takes a few hours.
  3. Static OPNFV trial system already built out and ready to use with openstack and sdn network controller preconfigured. Rapid setup time but quickly falls out of date as upstream projects change. We will update these blueprints once a month or so.

#Getting Started You will need the following setup before hand to get going:

  1. An account on the Ravello cloud. They provide 2880 CPU Hours for free - enough to run 1 machine for 14 days. Make it a big one!
  2. Review the notes on the wiki for the OPNFV Academy - it was done using bare metal NUCs from Intel. We will make some adjustments to get it working with the virtual machines provided by Ravello.
  3. The files used for this demo (like ssh keys) are available on the following GitHub repo. Setup the github client on your computer.
  4. If you don’t have a working git client see this page with steps for Mac, Windows, and Linux: https://help.github.com/articles/set-up-git/
  5. Clone the repo to your local workstation: https://github.com/opnfv/opnfv-ravello-demo
  6. You can access and manage Ravello using any computer with a web browser. You may want to upload some ISO files or other Virtual Machine image files. Do do this will require installing software on a Linux, Windows, or Mac OS computer. Why not use a linux machine hosted on line? You can make one on Ravello, Amazon AWS, Microsoft Azure, or google?
  1. OPTIONAL: Create a Linux Foundation account (LFID) so you can access the OPNFV tools: https://www.opnfv.org/developers/tools
  2. Sign on to IRC chat.freenode.net and join the #opnfv channel to get help

#OPNFV Demonstration - User Story

  1. Create free account on Ravello
  2. Setup SSH Key Pair - there are three options here:
  3. add your own to Ravello Library with Import feature (may need to run: ssh-keygen -i -f opnfv-ravello.pub > opnfv-ravello1.pub)
  4. create a new key pair using the Ravello Web UI
  5. import the key from github (https://github.com/opnfv/opnfv-ravello-demo/blob/master/opnfv-ravello.pub)
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5REVxIbyGbaKZL1hT8zjvW/EoafNbdFx1H7+nnlvutb7PFlOKXHswrcX4bWZttTHnKzt2NWjeRgaX0c4RRMl/0+NLqb82nyBj5AP4V4O/s+5MP+kbmQAVUo1aKfu6Z8jw9VUTc6ztmMGFfLq/+8d79avmvfCKsv1RuPojLRHU8Np0GgUaHFbkIzaFRMMvgSAdsz8etBC/sD5v/PAsnEB6Vdv1QLIdmb7leJaaNDbf9JiTInR5yay3XYZ1y5CDpD4KuODn9nbgfzLh8NMqeQ2O2Noyg1c4yrxXLEXWQwDFRuCmXLPAta1kDOSsYUWGQzSCoQHZeAhp1E/t/ULjMPfV imported-openssh-key
  1. Deploy blueprint as an active application
  2. Assign your ssh key to the maas machine in your application
  3. Publish the application
  4. Identify the ip address for the MaaS server in your application alt text
  5. verify MAAS functionality via web ui - ubuntu/ubuntu alt text
  6. verify MAAS functionality via SSH EXAMPLE: ssh -i path-to-ssh-key.pem [email protected] alt text
  7. Check that images are imported - http://maas-opnfvbp3app-gxowv3sb.srv.ravcloud.com/MAAS/images/
  8. login to OpenStack Horizon Dashboard Web UI - admin/openstack alt text

#Environment Prep and Operation High level overview of steps to follow for building out OPNFV on Ravello. In this first pass the environment will be built out manually. Additional iterations will bring automation to these steps. Please help with improving this process. It is intended to be a team effort.

  1. Create the virtual machine containers
  2. Configure the machines and networking
  3. Deploy MaaS and Empty VMs
  4. Enter credentials for MaaS Power Driver for Ravello
  5. Use MaaS to create Juju bootstrap machine - verify YAML config are correct
  • cd ~/opnfv-ravello-demo/joid/ci
  • ./deploy.sh -o juno -s opencontrail -t nonha -l ravellodemopod
  1. Use Juju to perform a deployment of operating systems, openstack, and network controller.
  2. Verify the services are operating properly
  • ssh -i path-to-key.pem ubuntu@dns-or-ip-address-of-maas-server
  1. Change the password for the ubuntu user. You may need it later. Or you can setup additional accounts.
  • ubuntu@maas:~$ sudo su -
  • root@maas:~# passwd ubuntu
  • Enter new UNIX password:
  • Retype new UNIX password:
  • passwd: password updated successfully
  • root@maas:~# exit
  1. Check that charms are up and running and at the bottom, you have the machines and each one has a number.
  • Be sure to run these commands from the $ prompt as the ubuntu user
  • juju status --format tabular
  1. juju ssh <machine_number>" to ssh into a machine owned by juju
  • "juju ssh 1" -> you can ssh into controller
  • "juju ssh 2" -> you can ssh into compute
  1. Run some tests - use the environment
  2. Tear it down and repeat - improve through iteration

This github repo contains the files used in the OPNFV demo setup on Ravello Systems hosted cloud infrastructure

See the raw draft of the google notes here: https://docs.google.com/document/d/1ZyMg6yyGAZm-vC29yeKp0_y3EQNaIuEY9JUeJ4dzmGw/edit?usp=sharing

opnfv-ravello-demo's People

Contributors

ibenrodriguez avatar ionutbalutoiu avatar achandrashekar1027 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.