Giter VIP home page Giter VIP logo

openstack-g5k's Introduction

This script is deprecated in favor of : https://github.com/grid5000/xp5k-openstack

Subdirectories information

  • juno_legacy_network : install juno version using a single flat network and the legacy service nova-network.
  • juno_neutron : install a full SDN stack (neutron), connectivity through GRE tunnels. Performance may be impacted (see #8)
  • liberty_neutron : install a full SDN stack (neutron), connectivity through GRE tunnels. Performance may be impacted (see #8)

Directory layout :

.
├── LICENSE
├── README.md
├── juno_legacy_network  # legacy network deployment
│   ├── grid5000            # - grid5000 deployment
│   ├── openstackg5k        # - specific puppet recipes
│   └── vagrant             # - vagrant deployment (local to your machine)
└── juno_neutron         # neutron deployment
    ├── grid5000
    ├── openstackg5k  
    └── vagrant

Introduction

The deployments are based on the puppetlabs/puppet-openstack module.

Deploy on your local machine (vagrant subdirectory - if any)

Requirements

  • r10k gem, to install all the module dependencies (gem install r10k)
  • vagrant
  • the hostmanager plugin for vagrant

Deploy

Tested on (feel free to add your own configuration)

  • MacOsX / Virtualbox 4.3.10 / Vagrant 1.7.2

Just launch :

$) ./deploy.sh

Deploy on Grid'5000 (grid'5000 subdirectory - if any)

  • liberty_neutron requires 2 network interfaces (e.g paravance / parasilo / paranoia).
  • juno_neutron requires 2 network interfaces (e.g paravance / parasilo / paranoia).
  • juno_legacy_network require only one network interface (thus it should be useable anywhere on grid'5000)

From inside Grid'5000

  • Connect to the frontend of your choice

  • Configure restfully

mkdir ~/.restfully
echo "base_uri: https://api.grid5000.fr/3.0/" > ~/.restfully/api.grid5000.fr.yml
  • Enable proxy
export http_proxy=http://proxy:3128
export https_proxy=http://proxy:3128
  • Install bundler and make ruby executables available
gem install bundler --user
export PATH=$PATH:$HOME/.gem/ruby/1.9.1/bin
  • Get or clone the repository.
# inside grid5000 subdirectory
bundle install --path ~/.gem
  • Create the xp.conffile from the xp.conf.sample, adapt it to your needs.

Comment the gateway line

From oustside Grid'5000

echo '
uri: https://api.grid5000.fr/3.0/
username: MYLOGIN
password: MYPASSWORD
' > ~/.restfully/api.grid5000.fr.yml && chmod 600 ~/.restfully/api.grid5000.fr.yml
  • (optional but highly recommended) Install rvm

  • Get or clone the repository.

# inside grid5000 subdirectory
bundle install
  • Create the xp.conffile from the xp.conf.sample, adapt it to your needs.

Launch the deployment

  • Launch the deployment :
cap automatic

The above is a shortcut for cap submit deploy setup openstack

Bootstrap the installation (if any available)

... Otherwise you'll have to create one yourself. By bootstraping I mean creating initial networks, images ...

cap openstack:bootstrap

Play with Openstack

Horizon dashboard

  • Make a tunnel from your local machine to the horizon dashboard
# replace <controller> and <site>
ssh -NL 8000:<controller>:80 <site>
  • Use the VPN

https://www.grid5000.fr/mediawiki/index.php/VPN

From the command line

  • Make sure the proxy is unset (services API are http REST)
# unset proxies
unset http_proxy
unset https_proxy
# access nova, neutron, keystone ... services 

openstack-g5k's People

Contributors

msimonin avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

openstack-g5k's Issues

gem dependencies Grid'5000

The Gemfile is compatible with ruby >= 2.
The G5K frontend runs ruby 1.9. Running bundle install will lead to some errors.
As a workaround you can update the Gemfile as the following :

source "http://rubygems.org"
gem "net-ssh", "< 3.0.0" 
gem "rack-cache", "< 1.3.0"
gem "capistrano", "< 3.0.0"
gem "colored"
gem "shell-spinner"
gem "xp5k"
gem "netaddr"
gem "hiera"
gem "xpm"

misleading comment about #computes in xp.conf

## number of nodes given to OpenStack
# should be at least 3
#2 of them are use by different services
#1+ will be used for compute nodes
computes 2

The total number of nodes used will be 2 + 1 (controller) + 1 (puppet master) = 4

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.