Giter Site home page Giter Site logo

openstack-tool's Introduction

openstack-tool

Some useful tools for openstack deployment, deployment and operation. The deploy directory contains tools for the deployment, while the devop one is for development and operation.

#Deploy

The deployment is based on RDO.

##Server configuration

  • Managment Network: 192.168.122.0/24
  • Data Network: 10.0.0.0/24
  • Control Node: 10.0.0.100 (eth0), 192.168.122.100 (eth1)
  • Compute Node: 10.0.0.101 (eth0), 192.168.122.101 (eth1)

##rdo_install.sh Install openstack based on RDO and the configuration template.

##rdo_purge.sh Clear the machine which has openstack installed.

##demo_init.sh After the installation, init by adding a user and a project with net/subnet/vm. Recommend to download the [Cirros Image] (https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img) and put it under the deploy directory. Otherwise the tool will automatically do it.

##demo_clean.sh Clean the added user, project, vm, net, subnet, etc. by the demo_init.sh.

##havana Some configuration files for the havana release. ###packstack-answers-gre RDO configuration template for multinode, GRE based.

###packstack-answers-vlan RDO configuration template for multinode, Vlan based.

###keystonerc_admin A reference keystonrc of the admin role.

##icehouse Some configuration files for the icehouse release.

#Devop

##bashrc A bashrc template. Please rename this to .bashrc, and put in your home directory.

##bash_aliases Some useful aliases. Please rename this to .bash_aliases, and put in your home directory.

##bash_color Enable colorful bash if supported. Please rename this to .bash_color, and put in your home directory.

##ovs_mon This script can monitor multiple OpenvSwitch rules by filtering useful ones and reformat them. It even support colorful output! Just put it in your local PATH such as /usr/local/bin/. A more powerful tool is [easyOVS] (https://github.com/yeasy/easyOVS).

The original way to observe the rules in a switch (e.g., s1) is using ovs-ofctl, while it's hard to explore when there're lots of rules

$ sudo ovs-ofctl dump-flows s1
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=294.454s, table=0, n_packets=0, n_bytes=0, priority=2400,dl_dst=ff:ff:ff:ff:ff:ff actions=CONTROLLER:65535
 cookie=0x0, duration=294.448s, table=0, n_packets=0, n_bytes=0, priority=801,ip actions=CONTROLLER:65535
 cookie=0x0, duration=294.456s, table=0, n_packets=0, n_bytes=0, priority=2400,arp actions=CONTROLLER:65535
 cookie=0x0, duration=294.455s, table=0, n_packets=4, n_bytes=280, priority=2400,dl_type=0x88cc actions=CONTROLLER:65535
 cookie=0x0, duration=197.693s, table=0, n_packets=0, n_bytes=0, priority=1000,vlan_tci=0x0000,dl_dst=00:00:00:00:00:01 actions=output:1
 cookie=0x0, duration=197.665s, table=0, n_packets=0, n_bytes=0, priority=1000,vlan_tci=0x0000,dl_dst=00:00:00:00:00:02 actions=output:1
 cookie=0x0, duration=294.461s, table=0, n_packets=0, n_bytes=0, priority=1700,ip,dl_dst=fc:3f:03:04:05:b8 actions=CONTROLLER:65535
 cookie=0x0, duration=294.448s, table=0, n_packets=0, n_bytes=0, priority=800 actions=drop
 cookie=0x0, duration=294.454s, table=0, n_packets=0, n_bytes=0, priority=2400,ip,nw_proto=2 actions=CONTROLLER:65535

Use ovs_mon, it is easy to watch multiple switches simultaneously, and only output 'useful' rules:

$ ovsm s1 s2 s3
###s1
2400     PKT=8    dl_type=0x88cc                                               ACT=CONTROLLER:65535
                                                                               
###s2
2400     PKT=5    dl_type=0x88cc                                               ACT=CONTROLLER:65535
2400     PKT=2    dl_dst=ff::ff                                                ACT=CONTROLLER:65535
2400     PKT=18   arp                                                          ACT=CONTROLLER:65535
1401     PKT=1    ip,dl_src=00::02,nw_src=10.0.0.2                             ACT=CONTROLLER:65535
1401     PKT=1    ip,dl_src=00::01,nw_src=10.0.0.1                             ACT=CONTROLLER:65535
                                                                               
###s3
2400     PKT=5    dl_type=0x88cc                                               ACT=CONTROLLER:65535

##ovs_delflow This tool support specifically del a flow from ovs. The flow can be given with priority and actions, e.g., priority=100,ip actions=OUTPUT:1, or priority=100 ip,nw_proto=2 actions=OUTPUT:2.

##nss This script will show all ip address inside each network namespace created inside openstack node. If give a parameter, then it will show the network namespace containing the key.

$ nss 10.0.3.3
qdhcp-40a3b06e-1564-46d1-9429-fc73d9186c8e
99: tapa864b81a-50: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether fa:16:3e:5b:bf:0d brd ff:ff:ff:ff:ff:ff inet 10.0.3.3/24 brd 10.0.3.255 scope global tapa864b81a-50 inet6 fe80::f816:3eff:fe5b:bf0d/64 scope link valid_lft forever preferred_lft forever 100: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever

openstack-tool's People

Contributors

yeasy avatar

Watchers

 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.