GithubHelp home page GithubHelp logo

beyondtheclouds / kolla-g5k Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 7.0 249 KB

A set of scripts to deploy OpenStack on Grid'5000 using Kolla and Execo with most services isolated on different nodes

License: GNU General Public License v3.0

Python 71.18% Shell 0.81% Ruby 8.89% Nginx 1.38% Lua 17.75%

kolla-g5k's People

Contributors

alebre avatar asimonet avatar dpertin avatar msimonin avatar rcherrueau avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

kolla-g5k's Issues

vlans / subnets accessible through the g5k api

It seems that vlans/subnet informations are now available through the API.
As a consequence we probably don't need the g5k_networks.yml file anymore.

>> pp root.sites[:rennes]
#<Resource:0x3fe95a0a2994 uri="/3.0/sites/rennes"
  RELATIONSHIPS
    clusters, deployments, jobs, metrics, network_equipments, parent, pdus, self, servers, status, version, versions, vlans
  PROPERTIES
    "compilation_server"=>false
    "description"=>"Grid5000 Rennes site"
    "email_contact"=>"[email protected]"
    "frontend_ip"=>"172.16.111.106"
    "g5ksubnet"=>{"gateway"=>"10.159.255.254", "network"=>"10.156.0.0/14"}
    "kavlan_ip_range"=>"10.24.0.0/14"
    "kavlans"=>{"1"=>
      {"gateway"=>"172.16.111.101", "network"=>"192.168.192.0/20"},
     "16"=>{"gateway"=>"10.27.255.254", "network"=>"10.27.192.0/18"},
     "2"=>{"gateway"=>"172.16.111.102", "network"=>"192.168.208.0/20"},
     "3"=>{"gateway"=>"172.16.111.103", "network"=>"192.168.224.0/20"},
     "4"=>{"gateway"=>"10.24.63.254", "network"=>"10.24.0.0/18"},
     "5"=>{"gateway"=>"10.24.127.254", "network"=>"10.24.64.0/18"},
     "6"=>{"gateway"=>"10.24.191.254", "network"=>"10.24.128.0/18"},
     "7"=>{"gateway"=>"10.24.255.254", "network"=>"10.24.192.0/18"},
     "8"=>{"gateway"=>"10.25.63.254", "network"=>"10.25.0.0/18"},
     "9"=>{"gateway"=>"10.25.127.254", "network"=>"10.25.64.0/18"},
     "default"=>{"gateway"=>"172.16.111.254", "network"=>"172.16.96.0/20"}}
    "latitude"=>48.1
    "location"=>"Rennes, France"
    "longitude"=>-1.6667
    "name"=>"Rennes"
    "production"=>true
    "renater_ip"=>"192.168.4.19"
    "security_contact"=>"[email protected]"
    "storage5k"=>true
    "sys_admin_contact"=>"[email protected]"
    "type"=>"site"
    "uid"=>"rennes"
    "user_support_contact"=>"[email protected]"
    "virt_ip_range"=>"10.156.0.0/14"
    "web"=>"http://www.irisa.fr"
    "version"=>"50f72bc5970f734edadb7337e7fd406ad1952c4c">

Add support for provider network

Neutron is currently deployed with the default parameters provided by Kolla. As a consequence tenant networks are enabled by default. In the perspective of running Openstack over Openstack I'm tempting to switch to a simpler model for neutron deployment and use a flat provider network. IPs would be taken on the kavlan ips pool. No tenant networks / floating ip will be supported anymore. This way we avoid the cost of the overlay network for the under cloud (by extension we also could avoid it for the over cloud if needed). This configuration should be eased by the fact that kolla/newton allows custom config to be placed along with the deployment files.

running two benchs leads to have nested directory structure for the logs

https://github.com/BeyondTheClouds/kolla-g5k/blame/92e4ab657b860b32e7d0bf801e25c9626658ea51/ansible/roles/bench/tasks/logs.yml#L7

a second call, will create a _data subdirectory instead of copying the contents.
As a result indexing the logs in the results vm will fail.

I suggest to

  1. explicitly create /tmp/kolla-logs
  2. explicitly copy the content of /var/lib/docker/volumes/kolla_logs/_data inside

subsequent call should overwrite previous ones, which is a more desirable behaviour.

Rally is being ignored a bit too much

The line rally in .gitignoremay be a bit too coarse grained (at least for my use-case). Because of it, modifications made to some files are ignored when (I think) they should not, in particular to:

  • rally/launch_scenario.sh (which is code, so it makes sense to commit changes made there)
  • ansible/roles/bench/tasks/rally.yml

I think we need a more fine-grained rule for rally but I am not sure exactly what the rule was meant to ignore, so I am leaving it to the guys who know.

Services / images

Playing with the script this afternoon, I saw that it takes a lot of time to get the first deployment over.
Because I do not understand all aspects, I would appreciate to understand:

  • Why is so long to pull the different images ?
    • Actually how many images are pulled during the deployment ? Only the ones that I really need (for instance If I do not want to play with Swift, we should be sure that the script does not pull swift images).
    • Giving a brief look to the network traffic of the registry node (from https://intranet.grid5000.fr/supervision/rennes/monitoring/network/last/hour/), it seems that the NIC is only used at 50% of its capacity for in data and in average 15% for out data....
      I'm not sure whether CEPH is used (If I'm correct the Ceph code has not been pushed yet). When it will be done, How can we check that the CEPH rbd is correctly used (i.e. at its maximum capacity so we can saturate the 10G connection).
  • How I can update the services I want to enable/disable (I guess it is kolla based, i.e. RTFM of Kolla but a short paragraph can be really helpful).

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.