cni.git
9 years agoExtract inode inspection functions into testhelpers
Gabe Rosenhouse [Mon, 18 Apr 2016 01:35:49 +0000 (18:35 -0700)]
Extract inode inspection functions into testhelpers

9 years agoExtract testhelpers from loopback test suite
Gabe Rosenhouse [Mon, 18 Apr 2016 01:28:10 +0000 (18:28 -0700)]
Extract testhelpers from loopback test suite

9 years agoMerge pull request #180 from philips/add-more-intro
Michael Bridgen [Mon, 11 Apr 2016 09:12:22 +0000 (10:12 +0100)]
Merge pull request #180 from philips/add-more-intro

README: add some more introductory material

9 years agoREADME: add some material on what CNI isn't
Brandon Philips [Mon, 11 Apr 2016 01:23:06 +0000 (18:23 -0700)]
README: add some material on what CNI isn't

We get some questions about this stuff from time to time and I want to
acknowledge we have thought about them but aren't currently tackling
them.

9 years agoREADME: add some more details on what CNI is
Brandon Philips [Mon, 11 Apr 2016 01:22:38 +0000 (18:22 -0700)]
README: add some more details on what CNI is

We needed a bit more intro material to scope what CNI does. Here is my
attempt.

9 years agoMerge pull request #178 from steveeJ/master
Stefan Junker [Fri, 8 Apr 2016 12:35:58 +0000 (14:35 +0200)]
Merge pull request #178 from steveeJ/master

travis: don't go get vet

9 years agotravis: don't go get vet
Stefan Junker [Fri, 8 Apr 2016 12:22:20 +0000 (14:22 +0200)]
travis: don't go get vet

9 years agoMerge pull request #173 from jonboulle/master
Stefan Junker [Sat, 2 Apr 2016 13:22:40 +0000 (15:22 +0200)]
Merge pull request #173 from jonboulle/master

*: add missing license headers + check

9 years ago*: add missing license headers + check
Jonathan Boulle [Fri, 1 Apr 2016 13:35:21 +0000 (15:35 +0200)]
*: add missing license headers + check

9 years agoMerge pull request #172 from squaremo/readme_more
Michael Bridgen [Fri, 1 Apr 2016 12:23:28 +0000 (13:23 +0100)]
Merge pull request #172 from squaremo/readme_more

Readme improvements

9 years agodocs: add brief section on contributing, to README
Michael Bridgen [Fri, 1 Apr 2016 11:34:49 +0000 (12:34 +0100)]
docs: add brief section on contributing, to README

9 years agodocs: cosmetic edits to README.md
Michael Bridgen [Fri, 1 Apr 2016 09:58:25 +0000 (10:58 +0100)]
docs: cosmetic edits to README.md

9 years agoMerge pull request #168 from steveeJ/chain-len
Stefan Junker [Thu, 31 Mar 2016 17:25:13 +0000 (19:25 +0200)]
Merge pull request #168 from steveeJ/chain-len

attempt to ensure chain name is unique and at most 29 chars long

9 years agopkg/utils: correct the test's expected chain names
Stefan Junker [Thu, 31 Mar 2016 15:11:11 +0000 (17:11 +0200)]
pkg/utils: correct the test's expected chain names

9 years ago*: add comment to iptables rules for ipmasq
Stefan Junker [Thu, 31 Mar 2016 13:44:54 +0000 (15:44 +0200)]
*: add comment to iptables rules for ipmasq

9 years agopkg/utils: remove unneeded condition in tests
Stefan Junker [Thu, 31 Mar 2016 09:55:46 +0000 (11:55 +0200)]
pkg/utils: remove unneeded condition in tests

9 years agopkg/utils: fix docstring
Stefan Junker [Thu, 31 Mar 2016 09:50:18 +0000 (11:50 +0200)]
pkg/utils: fix docstring

9 years agopkg/utils: split and unexport constants
Stefan Junker [Thu, 31 Mar 2016 08:08:52 +0000 (10:08 +0200)]
pkg/utils: split and unexport constants

9 years agopkg/utils: fix docstring
Stefan Junker [Wed, 30 Mar 2016 17:40:31 +0000 (19:40 +0200)]
pkg/utils: fix docstring

9 years agopkg/utils: use constant for chain prefix
Stefan Junker [Wed, 30 Mar 2016 17:40:20 +0000 (19:40 +0200)]
pkg/utils: use constant for chain prefix

9 years agopkg/utils: use name+id for hash and extend tests
Stefan Junker [Wed, 30 Mar 2016 17:17:37 +0000 (19:17 +0200)]
pkg/utils: use name+id for hash and extend tests

9 years agopkg: add a function to generate chain names
Abhishek Chanda [Wed, 23 Mar 2016 00:16:59 +0000 (17:16 -0700)]
pkg: add a function to generate chain names

Adds a function to generate chain names for use in iptables and
ports all drivers to use that function. Also adds tests for the
said function.

9 years agoMerge pull request #171 from steveeJ/bump-cni
Zach Gershman [Thu, 31 Mar 2016 15:46:55 +0000 (08:46 -0700)]
Merge pull request #171 from steveeJ/bump-cni

vendoring: bump coreos/go-iptables to 0.1.0

9 years agovendoring: bump coreos/go-iptables to 0.1.0
Stefan Junker [Thu, 31 Mar 2016 15:33:50 +0000 (17:33 +0200)]
vendoring: bump coreos/go-iptables to 0.1.0

9 years agoMerge pull request #170 from jonboulle/master
Michael Bridgen [Thu, 31 Mar 2016 13:51:30 +0000 (14:51 +0100)]
Merge pull request #170 from jonboulle/master

README: add Calico and Weave as CNI users

9 years agoREADME: add Calico and Weave as CNI users
Jonathan Boulle [Thu, 31 Mar 2016 13:06:49 +0000 (15:06 +0200)]
README: add Calico and Weave as CNI users

9 years agoMerge pull request #169 from philips/add-users
Stefan Junker [Thu, 31 Mar 2016 08:21:13 +0000 (10:21 +0200)]
Merge pull request #169 from philips/add-users

README: add a list of CNI users

9 years agoREADME: add a list of CNI users
Brandon Philips [Wed, 30 Mar 2016 22:59:16 +0000 (15:59 -0700)]
README: add a list of CNI users

9 years agoMerge pull request #165 from dcbw/go15-vendor
Zach Gershman [Thu, 24 Mar 2016 17:44:00 +0000 (10:44 -0700)]
Merge pull request #165 from dcbw/go15-vendor

scripts: fix build with go-1.5 after switch to vendor/

9 years agoscripts: fix build with go-1.5 after switch to vendor/
Dan Williams [Thu, 24 Mar 2016 16:33:19 +0000 (11:33 -0500)]
scripts: fix build with go-1.5 after switch to vendor/

go-1.6 enables vendor by default, but go-1.5 needs an environment variable.

9 years agoMerge pull request #158 from steveeJ/loadargs
Zach Gershman [Wed, 23 Mar 2016 05:05:57 +0000 (22:05 -0700)]
Merge pull request #158 from steveeJ/loadargs

Add generic IgnoreUnknown to valid CNI_ARGS

9 years agopkg/types: add tests for args
Stefan Junker [Thu, 17 Mar 2016 13:09:54 +0000 (14:09 +0100)]
pkg/types: add tests for args

9 years agoGodeps: bump ginkgo for table extensions
Stefan Junker [Thu, 17 Mar 2016 17:32:56 +0000 (18:32 +0100)]
Godeps: bump ginkgo for table extensions

9 years agopkg/types: add IgnoreUnknown arg and logic
Stefan Junker [Thu, 17 Mar 2016 13:08:29 +0000 (14:08 +0100)]
pkg/types: add IgnoreUnknown arg and logic

This commit adds a struct type CommonArgs that is to be embedded in
every plugin's argument struct. It contains a field named
"IgnoreUnknown" which will be parsed as a boolean and can be provided to
ignore unknown arguments passed to the plugin.

9 years agoplugins/host-local: only call LoadArgs() once
Stefan Junker [Thu, 17 Mar 2016 12:57:28 +0000 (13:57 +0100)]
plugins/host-local: only call LoadArgs() once

9 years agoMerge pull request #162 from zachgersh/remove-workspace
Stefan Junker [Mon, 21 Mar 2016 16:48:25 +0000 (17:48 +0100)]
Merge pull request #162 from zachgersh/remove-workspace

build script: remove the _workspace from GOPATH

9 years agobuild script: remove the _workspace from GOPATH
zachgersh [Mon, 21 Mar 2016 15:34:07 +0000 (08:34 -0700)]
build script: remove the _workspace from GOPATH

Now that we no longer use godeps to manage
dependencies we can safely remove this.
Dependencies in the vendor directory will
automagically be picked up.

9 years agoMerge pull request #161 from steveeJ/skel-tests
Zach Gershman [Sun, 20 Mar 2016 01:09:07 +0000 (18:09 -0700)]
Merge pull request #161 from steveeJ/skel-tests

pkg/skel: add rudimentary unit tests

9 years agopkg/skel: add rudimentary unit tests
Stefan Junker [Fri, 18 Mar 2016 21:28:14 +0000 (22:28 +0100)]
pkg/skel: add rudimentary unit tests

This is an attempt to testing the PluginMain() function of the skel pkg.
We should be able to do better by using a mockable interface for the
plugins, but this is a start.

9 years agoMerge pull request #156 from zachgersh/vendor
Stefan Junker [Thu, 17 Mar 2016 09:02:30 +0000 (10:02 +0100)]
Merge pull request #156 from zachgersh/vendor

Moves to go team vendoring solution

9 years agoMerge pull request #157 from achanda/vet
Zach Gershman [Thu, 17 Mar 2016 00:01:57 +0000 (17:01 -0700)]
Merge pull request #157 from achanda/vet

Fix govet warnings

9 years agoLet go tip fail, add vendor flag for 1.5
Zachary Gershman [Thu, 17 Mar 2016 00:00:51 +0000 (17:00 -0700)]
Let go tip fail, add vendor flag for 1.5

9 years agoFix govet warnings
Abhishek Chanda [Wed, 16 Mar 2016 23:25:41 +0000 (16:25 -0700)]
Fix govet warnings

9 years agoMoves to official vendoring solution
Zachary Gershman [Wed, 16 Mar 2016 15:38:20 +0000 (08:38 -0700)]
Moves to official vendoring solution

9 years agoMerge pull request #154 from rosenhouse/withnetns-errors
Zach Gershman [Tue, 15 Mar 2016 15:39:01 +0000 (08:39 -0700)]
Merge pull request #154 from rosenhouse/withnetns-errors

WithNetNS restores original namespace when callback errors

9 years agoUpdate docstring on WithNetNS
Gabe Rosenhouse [Tue, 15 Mar 2016 15:37:00 +0000 (08:37 -0700)]
Update docstring on WithNetNS

9 years agoWithNetNS restores original namespace when callback errors
Gabe Rosenhouse [Tue, 15 Mar 2016 01:57:16 +0000 (18:57 -0700)]
WithNetNS restores original namespace when callback errors

- adds test coverage of WithNetNS in BDD-style

9 years agoMerge pull request #146 from achanda/trusty
Zach Gershman [Tue, 15 Mar 2016 00:42:03 +0000 (17:42 -0700)]
Merge pull request #146 from achanda/trusty

Use Ubuntu Trusty in travis

9 years agoMerge pull request #153 from steveeJ/maintainer-add-zach
Zach Gershman [Mon, 14 Mar 2016 22:52:21 +0000 (15:52 -0700)]
Merge pull request #153 from steveeJ/maintainer-add-zach

MAINTAINERS: welcome Zach!

9 years agoMAINTAINERS: welcome Zach!
Stefan Junker [Mon, 14 Mar 2016 21:56:25 +0000 (22:56 +0100)]
MAINTAINERS: welcome Zach!

We are pleased to welcome Zach on board as CNI maintainer.
Happy collaboration!

9 years agoMerge pull request #148 from steveeJ/coverage-batches
Stefan Junker [Wed, 9 Mar 2016 16:30:41 +0000 (17:30 +0100)]
Merge pull request #148 from steveeJ/coverage-batches

travis & README: add coveralls coverage report

9 years agotravis & README: add coveralls coverage report
Stefan Junker [Fri, 4 Mar 2016 19:19:26 +0000 (20:19 +0100)]
travis & README: add coveralls coverage report

Also, don't use sudo for the entire test script

9 years agoMerge pull request #144 from squaremo/rename-delegate-execs
Stefan Junker [Fri, 4 Mar 2016 12:20:35 +0000 (13:20 +0100)]
Merge pull request #144 from squaremo/rename-delegate-execs

Add invoke.Delegate{Add,Del} for use by meta-plugins

9 years agoAdd invoke.Delegate{Add,Del} for use by meta-plugins
Michael Bridgen [Wed, 2 Mar 2016 17:02:52 +0000 (17:02 +0000)]
Add invoke.Delegate{Add,Del} for use by meta-plugins

The 'flannel' meta plugin delegates to other plugins to do the actual
OS-level work. It used the ipam.Exec{Add,Del} procedures for this
delegation, since those do precisely what's needed.

However this is a bit misleading, since the flannel plugin _isn't_
doing this for IPAM, and the ipam.Exec* procedures aren't doing
something specific to IPAM plugins.

So: anticipating that there may be more meta plugins that want to
delegate in the same way, this commit moves generic delegation
procedures to `pkg/invoke`, and makes the `pkg/ipam` procedures (still
used, accurately, in the non-meta plugins) shims.

9 years agoMerge pull request #142 from steveeJ/fix-loopback-result
Stefan Junker [Thu, 3 Mar 2016 08:03:51 +0000 (09:03 +0100)]
Merge pull request #142 from steveeJ/fix-loopback-result

Fix loopback result

9 years agoUse Ubuntu Trusty in travis
Abhishek Chanda [Thu, 3 Mar 2016 04:00:11 +0000 (20:00 -0800)]
Use Ubuntu Trusty in travis

This boots faster

9 years agoMerge pull request #143 from zachgersh/more-tests
Stefan Junker [Wed, 2 Mar 2016 18:01:13 +0000 (19:01 +0100)]
Merge pull request #143 from zachgersh/more-tests

More tests

9 years agotests: loopback DEL
Stefan Junker [Wed, 2 Mar 2016 16:56:44 +0000 (17:56 +0100)]
tests: loopback DEL

9 years agoAdds travis badge, now we have more tests
zachgersh [Wed, 2 Mar 2016 16:43:27 +0000 (11:43 -0500)]
Adds travis badge, now we have more tests

9 years agoMake sure invoke tests are running
zachgersh [Wed, 2 Mar 2016 16:38:33 +0000 (11:38 -0500)]
Make sure invoke tests are running

9 years agotests: loopback stdout must be JSON
Stefan Junker [Wed, 2 Mar 2016 14:22:16 +0000 (15:22 +0100)]
tests: loopback stdout must be JSON

9 years agoplugins/loopback: take lo down on CmdDel
Stefan Junker [Wed, 2 Mar 2016 11:54:43 +0000 (12:54 +0100)]
plugins/loopback: take lo down on CmdDel

9 years agoplugins/loopback: return empty result
Stefan Junker [Wed, 2 Mar 2016 11:53:02 +0000 (12:53 +0100)]
plugins/loopback: return empty result

This is needed to conform to the specification and allow successful
unmarshalling in the invoker.

9 years agoMerge pull request #120 from zachgersh/find-better-error
Stefan Junker [Wed, 2 Mar 2016 10:14:50 +0000 (11:14 +0100)]
Merge pull request #120 from zachgersh/find-better-error

Better error messages when plugin is not found

9 years agoMerge pull request #121 from zachgersh/loopback-plugin
Stefan Junker [Wed, 2 Mar 2016 08:32:01 +0000 (09:32 +0100)]
Merge pull request #121 from zachgersh/loopback-plugin

Loopback plugin

9 years agoHandle namespaces with care
zachgersh [Mon, 22 Feb 2016 03:23:14 +0000 (19:23 -0800)]
Handle namespaces with care

- After creating new netns, switch back to main netns
- Lock thread during test and test setup

9 years agoCreate a plugin for up'ing a lo device
Zachary Gershman [Fri, 12 Feb 2016 17:30:10 +0000 (09:30 -0800)]
Create a plugin for up'ing a lo device

- Believe we need sudo to create netns
- Use syscall instead of relying on ip netns
- Add sudo to .travis.yml
- Needs more -E
- Revert Godeps GoVersion to 1.4.2
- in travis, test command is run with all necessary env vars
- Loopback plugin only works on 'lo' interface
- Update README, add loopback plugin config
- note script dependency on jq

Signed-off-by: Gabe Rosenhouse <grosenhouse@pivotal.io>
9 years agoAdds ginkgo / gomega as a dependency
Zachary Gershman [Thu, 11 Feb 2016 00:30:23 +0000 (16:30 -0800)]
Adds ginkgo / gomega as a dependency

9 years agoMerge pull request #135 from achanda/travis
Stefan Junker [Thu, 25 Feb 2016 22:00:00 +0000 (23:00 +0100)]
Merge pull request #135 from achanda/travis

Tweak the travis file

9 years agoTweak the travis file
Abhishek Chanda [Thu, 25 Feb 2016 06:32:08 +0000 (22:32 -0800)]
Tweak the travis file

- Build against more versions of Go
- Explicitely specify go versions

9 years agoMerge pull request #132 from steveeJ/scripts
Stefan Junker [Wed, 24 Feb 2016 17:28:47 +0000 (18:28 +0100)]
Merge pull request #132 from steveeJ/scripts

scripts: add DEBUG option

9 years agoMerge pull request #117 from kinvolk/alban/net-tuning
Stefan Junker [Wed, 24 Feb 2016 17:12:18 +0000 (18:12 +0100)]
Merge pull request #117 from kinvolk/alban/net-tuning

new plugin: tuning

9 years agoscripts: add DEBUG option
Stefan Junker [Tue, 23 Feb 2016 18:22:13 +0000 (19:22 +0100)]
scripts: add DEBUG option

9 years agoMerge pull request #107 from aanm/pretty-result
Stefan Junker [Fri, 19 Feb 2016 17:46:55 +0000 (18:46 +0100)]
Merge pull request #107 from aanm/pretty-result

added the String method to Result type

9 years agoadded the String method to Result type
André Martins [Sun, 31 Jan 2016 03:18:33 +0000 (03:18 +0000)]
added the String method to Result type

Signed-off-by: André Martins <aanm90@gmail.com>
9 years agonew plugin: tuning
Alban Crequy [Mon, 8 Feb 2016 22:28:15 +0000 (23:28 +0100)]
new plugin: tuning

Allow users to tune net network parameters such as somaxconn.

With this patch, users can add a new network configuration:

> {
>   "name": "mytuning",
>   "type": "tuning",
>   "sysctl": {
>           "net.core.somaxconn": "500"
>   }
> }

The value /proc/sys/net/core/somaxconn will be set to 500 in the network
namespace but will remain unchanged on the host.

Only sysctl parameters that belong to the network subsystem can be
modified.

Related to: https://github.com/coreos/rkt/pull/2140

9 years agoMerge pull request #108 from aanm/fix-ip-json-tag
Stefan Junker [Thu, 18 Feb 2016 13:12:20 +0000 (14:12 +0100)]
Merge pull request #108 from aanm/fix-ip-json-tag

fixed ipam host-local IP json tag

9 years agoBetter error message when plugin cannot be found
Zachary Gershman [Wed, 10 Feb 2016 21:42:10 +0000 (13:42 -0800)]
Better error message when plugin cannot be found

9 years agoMerge pull request #119 from jonboulle/master
Stefan Junker [Wed, 10 Feb 2016 14:54:58 +0000 (15:54 +0100)]
Merge pull request #119 from jonboulle/master

MAINTAINERS: remove Eugene from list

9 years agoMAINTAINERS: remove Eugene from list
Jonathan Boulle [Wed, 10 Feb 2016 14:51:11 +0000 (15:51 +0100)]
MAINTAINERS: remove Eugene from list

Eugene is no longer with CoreOS or actively involved with CNI, so remove
him from the current list of maintainers. He'll be gladly welcomed back
if he decides to rejoin the project.

9 years agofixed ipam host-local IP json tag
André Martins [Sun, 31 Jan 2016 03:14:33 +0000 (03:14 +0000)]
fixed ipam host-local IP json tag

Signed-off-by: André Martins <aanm90@gmail.com>
9 years agoMerge pull request #105 from steveeJ/scripts
Stefan Junker [Fri, 29 Jan 2016 10:20:55 +0000 (11:20 +0100)]
Merge pull request #105 from steveeJ/scripts

script/priv-net-run: improve shebang compatibility

9 years agoscript/priv-net-run: improve shebang compatibility
Stefan Junker [Fri, 29 Jan 2016 10:17:40 +0000 (11:17 +0100)]
script/priv-net-run: improve shebang compatibility

9 years agoMerge pull request #103 from steveeJ/dns
Stefan Junker [Fri, 29 Jan 2016 10:16:50 +0000 (11:16 +0100)]
Merge pull request #103 from steveeJ/dns

*: DNS information as dictionary, adding domain, search domains and options

9 years ago*: reflect SPEC's DNS changes in implementation
Stefan Junker [Wed, 27 Jan 2016 11:12:16 +0000 (12:12 +0100)]
*: reflect SPEC's DNS changes in implementation

* DNS is now a type which will result in a JSON dictionary in
  configurations and results
* Minor refactoring, making use of type embedding

9 years agodocs/ptp: update example and DNS description
Stefan Junker [Wed, 27 Jan 2016 11:10:53 +0000 (12:10 +0100)]
docs/ptp: update example and DNS description

9 years agoSPEC: DNS information as dictionary, adding domain, search domains, options
Stefan Junker [Wed, 27 Jan 2016 10:58:36 +0000 (11:58 +0100)]
SPEC: DNS information as dictionary, adding domain, search domains, options

9 years agoMerge pull request #104 from dcbw/revendor-go-iptables
Jonathan Boulle [Wed, 27 Jan 2016 20:18:44 +0000 (21:18 +0100)]
Merge pull request #104 from dcbw/revendor-go-iptables

Revendor go-iptables to get --wait behavior

9 years agoRevendor go-iptables to get --wait behavior
Dan Williams [Wed, 27 Jan 2016 19:56:53 +0000 (13:56 -0600)]
Revendor go-iptables to get --wait behavior

9 years agoMerge pull request #102 from steveeJ/scripts
Stefan Junker [Wed, 27 Jan 2016 10:14:57 +0000 (11:14 +0100)]
Merge pull request #102 from steveeJ/scripts

scripts/exec-plugins: print plugin results if DEBUG>0

9 years agoscripts/priv-net-run: print plugin results if DEBUG>0
Stefan Junker [Wed, 27 Jan 2016 09:58:01 +0000 (10:58 +0100)]
scripts/priv-net-run: print plugin results if DEBUG>0

9 years agoMerge pull request #101 from steveeJ/shebangs
Stefan Junker [Wed, 27 Jan 2016 09:51:32 +0000 (10:51 +0100)]
Merge pull request #101 from steveeJ/shebangs

scripts: improve shebang compatibility

9 years agoscripts: improve shebang compatibility
Stefan Junker [Wed, 27 Jan 2016 09:25:53 +0000 (10:25 +0100)]
scripts: improve shebang compatibility

9 years agoMerge pull request #99 from kinvolk/alban/dns-config
Stefan Junker [Wed, 27 Jan 2016 07:49:16 +0000 (08:49 +0100)]
Merge pull request #99 from kinvolk/alban/dns-config

*: add "dns" field to the configuration

9 years ago*: add "dns" field to the configuration
Alban Crequy [Tue, 26 Jan 2016 17:54:56 +0000 (18:54 +0100)]
*: add "dns" field to the configuration

appc/cni#76 added a "dns" field in the result JSON. But before this
patch, the plugins had no way of knowing which name server to return.

There could be two ways of knowing which name server to return:
1. add it as an extra argument ("CNI_ARGS")
2. add it in the network configuration as a convenience (received via
   stdin)

I chose the second way because it is easier. In the case of rkt, it
means the user could just add the DNS name servers in
/etc/rkt/net.d/mynetwork.conf.

9 years agoMerge pull request #98 from apcera/remove-addif
Jonathan Boulle [Fri, 22 Jan 2016 19:33:22 +0000 (20:33 +0100)]
Merge pull request #98 from apcera/remove-addif

spec: Removed reference to unsupported addIf attribute

9 years agospec: Removed reference to unsupported addIf attribute
Ken Robertson [Fri, 22 Jan 2016 17:36:03 +0000 (09:36 -0800)]
spec: Removed reference to unsupported addIf attribute

Removes the "addIf" attribute from the example of a bridge network
definition. This doesn't appear to exist in the implementation.

10 years agoMerge pull request #92 from ChengTiesheng/patch-1
Jonathan Boulle [Wed, 6 Jan 2016 17:08:25 +0000 (18:08 +0100)]
Merge pull request #92 from ChengTiesheng/patch-1

Update README.md

10 years agoUpdate README.md
Tiesheng [Wed, 6 Jan 2016 08:25:02 +0000 (16:25 +0800)]
Update README.md

Highlight bash/shell code in markdown for readability.

Signed-off-by: chengtiesheng <chengtiesheng@huawei.com>
10 years agoMerge pull request #91 from tomdee/patch-1
Stefan Junker [Tue, 5 Jan 2016 08:05:09 +0000 (09:05 +0100)]
Merge pull request #91 from tomdee/patch-1

Fix docker example in README.md